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-20240529000829 to 0.0.0-develop-20240529005706

forge-artifacts/Common.sol/Common.json

2

forge-artifacts/IDisputeGame.sol/IDisputeGame.0.8.26.json

@@ -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":47900,"exportedSymbols":{"Claim":[48257],"Clock":[48165],"Duration":[48289],"GameId":[48219],"GameStatus":[48370],"GameType":[48349],"GameTypes":[48411],"Hash":[48304],"IDisputeGame":[47899],"IInitializable":[47907],"LibClaim":[48287],"LibClock":[48217],"LibDuration":[48302],"LibGameId":[48255],"LibGameType":[48362],"LibHash":[48317],"LibPosition":[48128],"LibTimestamp":[48332],"LibVMStatus":[48347],"LocalPreimageKey":[48467],"OutputRoot":[48377],"Position":[47915],"Timestamp":[48319],"VMStatus":[48334],"VMStatuses":[48445]},"nodeType":"SourceUnit","src":"32:3650:30","nodes":[{"id":47813,"nodeType":"PragmaDirective","src":"32:23:30","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":47815,"nodeType":"ImportDirective","src":"57:75:30","nodes":[],"absolutePath":"src/dispute/interfaces/IInitializable.sol","file":"src/dispute/interfaces/IInitializable.sol","nameLocation":"-1:-1:-1","scope":47900,"sourceUnit":47908,"symbolAliases":[{"foreign":{"id":47814,"name":"IInitializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47907,"src":"66:14:30","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":47816,"nodeType":"ImportDirective","src":"134:35:30","nodes":[],"absolutePath":"src/dispute/lib/Types.sol","file":"src/dispute/lib/Types.sol","nameLocation":"-1:-1:-1","scope":47900,"sourceUnit":48468,"symbolAliases":[],"unitAlias":""},{"id":47899,"nodeType":"ContractDefinition","src":"257:3424:30","nodes":[{"id":47825,"nodeType":"EventDefinition","src":"418:42:30","nodes":[],"anonymous":false,"documentation":{"id":47820,"nodeType":"StructuredDocumentation","src":"304:109:30","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:30","parameters":{"id":47824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47823,"indexed":true,"mutability":"mutable","name":"status","nameLocation":"452:6:30","nodeType":"VariableDeclaration","scope":47825,"src":"433:25:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$48370","typeString":"enum GameStatus"},"typeName":{"id":47822,"nodeType":"UserDefinedTypeName","pathNode":{"id":47821,"name":"GameStatus","nameLocations":["433:10:30"],"nodeType":"IdentifierPath","referencedDeclaration":48370,"src":"433:10:30"},"referencedDeclaration":48370,"src":"433:10:30","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$48370","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"432:27:30"}},{"id":47832,"nodeType":"FunctionDefinition","src":"637:66:30","nodes":[],"documentation":{"id":47826,"nodeType":"StructuredDocumentation","src":"466:166:30","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:30","parameters":{"id":47827,"nodeType":"ParameterList","parameters":[],"src":"655:2:30"},"returnParameters":{"id":47831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47830,"mutability":"mutable","name":"createdAt_","nameLocation":"691:10:30","nodeType":"VariableDeclaration","scope":47832,"src":"681:20:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$48319","typeString":"Timestamp"},"typeName":{"id":47829,"nodeType":"UserDefinedTypeName","pathNode":{"id":47828,"name":"Timestamp","nameLocations":["681:9:30"],"nodeType":"IdentifierPath","referencedDeclaration":48319,"src":"681:9:30"},"referencedDeclaration":48319,"src":"681:9:30","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$48319","typeString":"Timestamp"}},"visibility":"internal"}],"src":"680:22:30"},"scope":47899,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47839,"nodeType":"FunctionDefinition","src":"883:68:30","nodes":[],"documentation":{"id":47833,"nodeType":"StructuredDocumentation","src":"709:169:30","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:30","parameters":{"id":47834,"nodeType":"ParameterList","parameters":[],"src":"902:2:30"},"returnParameters":{"id":47838,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47837,"mutability":"mutable","name":"resolvedAt_","nameLocation":"938:11:30","nodeType":"VariableDeclaration","scope":47839,"src":"928:21:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$48319","typeString":"Timestamp"},"typeName":{"id":47836,"nodeType":"UserDefinedTypeName","pathNode":{"id":47835,"name":"Timestamp","nameLocations":["928:9:30"],"nodeType":"IdentifierPath","referencedDeclaration":48319,"src":"928:9:30"},"referencedDeclaration":48319,"src":"928:9:30","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Timestamp_$48319","typeString":"Timestamp"}},"visibility":"internal"}],"src":"927:23:30"},"scope":47899,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47846,"nodeType":"FunctionDefinition","src":"1069:61:30","nodes":[],"documentation":{"id":47840,"nodeType":"StructuredDocumentation","src":"957:107:30","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:30","parameters":{"id":47841,"nodeType":"ParameterList","parameters":[],"src":"1084:2:30"},"returnParameters":{"id":47845,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47844,"mutability":"mutable","name":"status_","nameLocation":"1121:7:30","nodeType":"VariableDeclaration","scope":47846,"src":"1110:18:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$48370","typeString":"enum GameStatus"},"typeName":{"id":47843,"nodeType":"UserDefinedTypeName","pathNode":{"id":47842,"name":"GameStatus","nameLocations":["1110:10:30"],"nodeType":"IdentifierPath","referencedDeclaration":48370,"src":"1110:10:30"},"referencedDeclaration":48370,"src":"1110:10:30","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$48370","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"1109:20:30"},"scope":47899,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47853,"nodeType":"FunctionDefinition","src":"1410:63:30","nodes":[],"documentation":{"id":47847,"nodeType":"StructuredDocumentation","src":"1136:269:30","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:30","parameters":{"id":47848,"nodeType":"ParameterList","parameters":[],"src":"1427:2:30"},"returnParameters":{"id":47852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47851,"mutability":"mutable","name":"gameType_","nameLocation":"1462:9:30","nodeType":"VariableDeclaration","scope":47853,"src":"1453:18:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":47850,"nodeType":"UserDefinedTypeName","pathNode":{"id":47849,"name":"GameType","nameLocations":["1453:8:30"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1453:8:30"},"referencedDeclaration":48349,"src":"1453:8:30","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"}],"src":"1452:20:30"},"scope":47899,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":47859,"nodeType":"FunctionDefinition","src":"1651:64:30","nodes":[],"documentation":{"id":47854,"nodeType":"StructuredDocumentation","src":"1479:167:30","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:30","parameters":{"id":47855,"nodeType":"ParameterList","parameters":[],"src":"1671:2:30"},"returnParameters":{"id":47858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47857,"mutability":"mutable","name":"creator_","nameLocation":"1705:8:30","nodeType":"VariableDeclaration","scope":47859,"src":"1697:16:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":47856,"name":"address","nodeType":"ElementaryTypeName","src":"1697:7:30","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1696:18:30"},"scope":47899,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47866,"nodeType":"FunctionDefinition","src":"1880:62:30","nodes":[],"documentation":{"id":47860,"nodeType":"StructuredDocumentation","src":"1721:154:30","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:30","parameters":{"id":47861,"nodeType":"ParameterList","parameters":[],"src":"1898:2:30"},"returnParameters":{"id":47865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47864,"mutability":"mutable","name":"rootClaim_","nameLocation":"1930:10:30","nodeType":"VariableDeclaration","scope":47866,"src":"1924:16:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$48257","typeString":"Claim"},"typeName":{"id":47863,"nodeType":"UserDefinedTypeName","pathNode":{"id":47862,"name":"Claim","nameLocations":["1924:5:30"],"nodeType":"IdentifierPath","referencedDeclaration":48257,"src":"1924:5:30"},"referencedDeclaration":48257,"src":"1924:5:30","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$48257","typeString":"Claim"}},"visibility":"internal"}],"src":"1923:18:30"},"scope":47899,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47873,"nodeType":"FunctionDefinition","src":"2187:55:30","nodes":[],"documentation":{"id":47867,"nodeType":"StructuredDocumentation","src":"1948:234:30","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:30","parameters":{"id":47868,"nodeType":"ParameterList","parameters":[],"src":"2202:2:30"},"returnParameters":{"id":47872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47871,"mutability":"mutable","name":"l1Head_","nameLocation":"2233:7:30","nodeType":"VariableDeclaration","scope":47873,"src":"2228:12:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"},"typeName":{"id":47870,"nodeType":"UserDefinedTypeName","pathNode":{"id":47869,"name":"Hash","nameLocations":["2228:4:30"],"nodeType":"IdentifierPath","referencedDeclaration":48304,"src":"2228:4:30"},"referencedDeclaration":48304,"src":"2228:4:30","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"}},"visibility":"internal"}],"src":"2227:14:30"},"scope":47899,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47879,"nodeType":"FunctionDefinition","src":"2441:69:30","nodes":[],"documentation":{"id":47874,"nodeType":"StructuredDocumentation","src":"2248:188:30","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:30","parameters":{"id":47875,"nodeType":"ParameterList","parameters":[],"src":"2459:2:30"},"returnParameters":{"id":47878,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47877,"mutability":"mutable","name":"extraData_","nameLocation":"2498:10:30","nodeType":"VariableDeclaration","scope":47879,"src":"2485:23:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47876,"name":"bytes","nodeType":"ElementaryTypeName","src":"2485:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2484:25:30"},"scope":47899,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":47886,"nodeType":"FunctionDefinition","src":"2971:57:30","nodes":[],"documentation":{"id":47880,"nodeType":"StructuredDocumentation","src":"2516:450:30","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:30","parameters":{"id":47881,"nodeType":"ParameterList","parameters":[],"src":"2987:2:30"},"returnParameters":{"id":47885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47884,"mutability":"mutable","name":"status_","nameLocation":"3019:7:30","nodeType":"VariableDeclaration","scope":47886,"src":"3008:18:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$48370","typeString":"enum GameStatus"},"typeName":{"id":47883,"nodeType":"UserDefinedTypeName","pathNode":{"id":47882,"name":"GameStatus","nameLocations":["3008:10:30"],"nodeType":"IdentifierPath","referencedDeclaration":48370,"src":"3008:10:30"},"referencedDeclaration":48370,"src":"3008:10:30","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$48370","typeString":"enum GameStatus"}},"visibility":"internal"}],"src":"3007:20:30"},"scope":47899,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":47898,"nodeType":"FunctionDefinition","src":"3573:106:30","nodes":[],"documentation":{"id":47887,"nodeType":"StructuredDocumentation","src":"3034:534:30","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:30","parameters":{"id":47888,"nodeType":"ParameterList","parameters":[],"src":"3590:2:30"},"returnParameters":{"id":47897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":47891,"mutability":"mutable","name":"gameType_","nameLocation":"3625:9:30","nodeType":"VariableDeclaration","scope":47898,"src":"3616:18:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":47890,"nodeType":"UserDefinedTypeName","pathNode":{"id":47889,"name":"GameType","nameLocations":["3616:8:30"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"3616:8:30"},"referencedDeclaration":48349,"src":"3616:8:30","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":47894,"mutability":"mutable","name":"rootClaim_","nameLocation":"3642:10:30","nodeType":"VariableDeclaration","scope":47898,"src":"3636:16:30","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$48257","typeString":"Claim"},"typeName":{"id":47893,"nodeType":"UserDefinedTypeName","pathNode":{"id":47892,"name":"Claim","nameLocations":["3636:5:30"],"nodeType":"IdentifierPath","referencedDeclaration":48257,"src":"3636:5:30"},"referencedDeclaration":48257,"src":"3636:5:30","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$48257","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":47896,"mutability":"mutable","name":"extraData_","nameLocation":"3667:10:30","nodeType":"VariableDeclaration","scope":47898,"src":"3654:23:30","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":47895,"name":"bytes","nodeType":"ElementaryTypeName","src":"3654:5:30","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3615:63:30"},"scope":47899,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":47818,"name":"IInitializable","nameLocations":["283:14:30"],"nodeType":"IdentifierPath","referencedDeclaration":47907,"src":"283:14:30"},"id":47819,"nodeType":"InheritanceSpecifier","src":"283:14:30"}],"canonicalName":"IDisputeGame","contractDependencies":[],"contractKind":"interface","documentation":{"id":47817,"nodeType":"StructuredDocumentation","src":"171:86:30","text":"@title IDisputeGame\n @notice The generic interface for a DisputeGame contract."},"fullyImplemented":false,"linearizedBaseContracts":[47899,47907],"name":"IDisputeGame","nameLocation":"267:12:30","scope":47900,"usedErrors":[],"usedEvents":[47825]}],"license":"MIT"},"id":30}
{"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}

@@ -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":47908,"exportedSymbols":{"IInitializable":[47907]},"nodeType":"SourceUnit","src":"32:272:31","nodes":[{"id":47901,"nodeType":"PragmaDirective","src":"32:23:31","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":47907,"nodeType":"ContractDefinition","src":"137:166:31","nodes":[{"id":47906,"nodeType":"FunctionDefinition","src":"262:39:31","nodes":[],"documentation":{"id":47903,"nodeType":"StructuredDocumentation","src":"168:89:31","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:31","parameters":{"id":47904,"nodeType":"ParameterList","parameters":[],"src":"281:2:31"},"returnParameters":{"id":47905,"nodeType":"ParameterList","parameters":[],"src":"300:0:31"},"scope":47907,"stateMutability":"payable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IInitializable","contractDependencies":[],"contractKind":"interface","documentation":{"id":47902,"nodeType":"StructuredDocumentation","src":"57:80:31","text":"@title IInitializable\n @notice An interface for initializable contracts."},"fullyImplemented":false,"linearizedBaseContracts":[47907],"name":"IInitializable","nameLocation":"147:14:31","scope":47908,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":31}
{"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}

@@ -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:40;628:18;;778:47:4;;;;;;;;;;;;;;;;;;;;;;;;;740:85;:::o;185:86::-;224:47;;266:4;224:47;;;655:36:40;628:18;;224:47:4;502:195:40;461:91:4;505:47;;547:4;505:47;;;655:36:40;628:18;;505:47:4;502:195:40;277:87:4;317:47;;359:4;317:47;;;655:36:40;628:18;;317:47:4;502:195:40;831:88:4;872:47;;914:4;872:47;;;655:36:40;628:18;;872:47:4;502:195:40;654:80:4;687:47;;729:4;687:47;;;655:36:40;628:18;;687:47:4;502:195:40;925:84:4;962:47;;1004:4;962:47;;;655:36:40;628:18;;962:47:4;502:195:40;558:90:4;601:47;;643:4;601:47;;;655:36:40;628:18;;601:47:4;502:195:40;370:85:4;408:47;;450:4;408:47;;;655:36:40;628:18;;408:47:4;502:195:40;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: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}

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

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"129:1978:35:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;129:1978:35;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"129:1978:35:-: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":48533,"exportedSymbols":{"TransientContext":[48515],"TransientReentrancyAware":[48532]},"nodeType":"SourceUnit","src":"32:2496:35","nodes":[{"id":48469,"nodeType":"PragmaDirective","src":"32:24:35","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":48515,"nodeType":"ContractDefinition","src":"129:1978:35","nodes":[{"id":48474,"nodeType":"VariableDeclaration","src":"278:110:35","nodes":[],"constant":true,"documentation":{"id":48471,"nodeType":"StructuredDocumentation","src":"160:113:35","text":"@notice Slot for call depth.\n Equal to bytes32(uint256(keccak256(\"transient.calldepth\")) - 1)."},"mutability":"constant","name":"CALL_DEPTH_SLOT","nameLocation":"304:15:35","scope":48515,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613734666431363837363366643238306561656333626364326664363264306537393530323761646338313833613639336334393761376332623130623563","id":48473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322:66:35","typeDescriptions":{"typeIdentifier":"t_rational_55388868535875649073547711647255167311425207837940097558979256947742365256540_by_1","typeString":"int_const 5538...(69 digits omitted)...6540"},"value":"0x7a74fd168763fd280eaec3bcd2fd62d0e795027adc8183a693c497a7c2b10b5c"},"visibility":"internal"},{"id":48482,"nodeType":"FunctionDefinition","src":"479:165:35","nodes":[],"body":{"id":48481,"nodeType":"Block","src":"543:101:35","nodes":[],"statements":[{"AST":{"nativeSrc":"578:60:35","nodeType":"YulBlock","src":"578:60:35","statements":[{"nativeSrc":"592:36:35","nodeType":"YulAssignment","src":"592:36:35","value":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"612:15:35","nodeType":"YulIdentifier","src":"612:15:35"}],"functionName":{"name":"tload","nativeSrc":"606:5:35","nodeType":"YulIdentifier","src":"606:5:35"},"nativeSrc":"606:22:35","nodeType":"YulFunctionCall","src":"606:22:35"},"variableNames":[{"name":"callDepth_","nativeSrc":"592:10:35","nodeType":"YulIdentifier","src":"592:10:35"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"612:15:35","valueSize":1},{"declaration":48478,"isOffset":false,"isSlot":false,"src":"592:10:35","valueSize":1}],"flags":["memory-safe"],"id":48480,"nodeType":"InlineAssembly","src":"553:85:35"}]},"documentation":{"id":48475,"nodeType":"StructuredDocumentation","src":"395:79:35","text":"@notice Gets the call depth.\n @return callDepth_ Current call depth."},"implemented":true,"kind":"function","modifiers":[],"name":"callDepth","nameLocation":"488:9:35","parameters":{"id":48476,"nodeType":"ParameterList","parameters":[],"src":"497:2:35"},"returnParameters":{"id":48479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48478,"mutability":"mutable","name":"callDepth_","nameLocation":"531:10:35","nodeType":"VariableDeclaration","scope":48482,"src":"523:18:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48477,"name":"uint256","nodeType":"ElementaryTypeName","src":"523:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"522:20:35"},"scope":48515,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48492,"nodeType":"FunctionDefinition","src":"810:241:35","nodes":[],"body":{"id":48491,"nodeType":"Block","src":"877:174:35","nodes":[],"statements":[{"AST":{"nativeSrc":"912:133:35","nodeType":"YulBlock","src":"912:133:35","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"933:1:35","nodeType":"YulLiteral","src":"933:1:35","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"942:15:35","nodeType":"YulIdentifier","src":"942:15:35"}],"functionName":{"name":"tload","nativeSrc":"936:5:35","nodeType":"YulIdentifier","src":"936:5:35"},"nativeSrc":"936:22:35","nodeType":"YulFunctionCall","src":"936:22:35"}],"functionName":{"name":"mstore","nativeSrc":"926:6:35","nodeType":"YulIdentifier","src":"926:6:35"},"nativeSrc":"926:33:35","nodeType":"YulFunctionCall","src":"926:33:35"},"nativeSrc":"926:33:35","nodeType":"YulExpressionStatement","src":"926:33:35"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"979:2:35","nodeType":"YulLiteral","src":"979:2:35","type":"","value":"32"},{"name":"_slot","nativeSrc":"983:5:35","nodeType":"YulIdentifier","src":"983:5:35"}],"functionName":{"name":"mstore","nativeSrc":"972:6:35","nodeType":"YulIdentifier","src":"972:6:35"},"nativeSrc":"972:17:35","nodeType":"YulFunctionCall","src":"972:17:35"},"nativeSrc":"972:17:35","nodeType":"YulExpressionStatement","src":"972:17:35"},{"nativeSrc":"1002:33:35","nodeType":"YulAssignment","src":"1002:33:35","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1028:1:35","nodeType":"YulLiteral","src":"1028:1:35","type":"","value":"0"},{"kind":"number","nativeSrc":"1031:2:35","nodeType":"YulLiteral","src":"1031:2:35","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1018:9:35","nodeType":"YulIdentifier","src":"1018:9:35"},"nativeSrc":"1018:16:35","nodeType":"YulFunctionCall","src":"1018:16:35"}],"functionName":{"name":"tload","nativeSrc":"1012:5:35","nodeType":"YulIdentifier","src":"1012:5:35"},"nativeSrc":"1012:23:35","nodeType":"YulFunctionCall","src":"1012:23:35"},"variableNames":[{"name":"value_","nativeSrc":"1002:6:35","nodeType":"YulIdentifier","src":"1002:6:35"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"942:15:35","valueSize":1},{"declaration":48485,"isOffset":false,"isSlot":false,"src":"983:5:35","valueSize":1},{"declaration":48488,"isOffset":false,"isSlot":false,"src":"1002:6:35","valueSize":1}],"flags":["memory-safe"],"id":48490,"nodeType":"InlineAssembly","src":"887:158:35"}]},"documentation":{"id":48483,"nodeType":"StructuredDocumentation","src":"650:155:35","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:35","parameters":{"id":48486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48485,"mutability":"mutable","name":"_slot","nameLocation":"831:5:35","nodeType":"VariableDeclaration","scope":48492,"src":"823:13:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"823:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"822:15:35"},"returnParameters":{"id":48489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48488,"mutability":"mutable","name":"value_","nameLocation":"869:6:35","nodeType":"VariableDeclaration","scope":48492,"src":"861:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48487,"name":"uint256","nodeType":"ElementaryTypeName","src":"861:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"860:16:35"},"scope":48515,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48502,"nodeType":"FunctionDefinition","src":"1220:226:35","nodes":[],"body":{"id":48501,"nodeType":"Block","src":"1273:173:35","nodes":[],"statements":[{"AST":{"nativeSrc":"1308:132:35","nodeType":"YulBlock","src":"1308:132:35","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1329:1:35","nodeType":"YulLiteral","src":"1329:1:35","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1338:15:35","nodeType":"YulIdentifier","src":"1338:15:35"}],"functionName":{"name":"tload","nativeSrc":"1332:5:35","nodeType":"YulIdentifier","src":"1332:5:35"},"nativeSrc":"1332:22:35","nodeType":"YulFunctionCall","src":"1332:22:35"}],"functionName":{"name":"mstore","nativeSrc":"1322:6:35","nodeType":"YulIdentifier","src":"1322:6:35"},"nativeSrc":"1322:33:35","nodeType":"YulFunctionCall","src":"1322:33:35"},"nativeSrc":"1322:33:35","nodeType":"YulExpressionStatement","src":"1322:33:35"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1375:2:35","nodeType":"YulLiteral","src":"1375:2:35","type":"","value":"32"},{"name":"_slot","nativeSrc":"1379:5:35","nodeType":"YulIdentifier","src":"1379:5:35"}],"functionName":{"name":"mstore","nativeSrc":"1368:6:35","nodeType":"YulIdentifier","src":"1368:6:35"},"nativeSrc":"1368:17:35","nodeType":"YulFunctionCall","src":"1368:17:35"},"nativeSrc":"1368:17:35","nodeType":"YulExpressionStatement","src":"1368:17:35"},{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1415:1:35","nodeType":"YulLiteral","src":"1415:1:35","type":"","value":"0"},{"kind":"number","nativeSrc":"1418:2:35","nodeType":"YulLiteral","src":"1418:2:35","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1405:9:35","nodeType":"YulIdentifier","src":"1405:9:35"},"nativeSrc":"1405:16:35","nodeType":"YulFunctionCall","src":"1405:16:35"},{"name":"_value","nativeSrc":"1423:6:35","nodeType":"YulIdentifier","src":"1423:6:35"}],"functionName":{"name":"tstore","nativeSrc":"1398:6:35","nodeType":"YulIdentifier","src":"1398:6:35"},"nativeSrc":"1398:32:35","nodeType":"YulFunctionCall","src":"1398:32:35"},"nativeSrc":"1398:32:35","nodeType":"YulExpressionStatement","src":"1398:32:35"}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"1338:15:35","valueSize":1},{"declaration":48495,"isOffset":false,"isSlot":false,"src":"1379:5:35","valueSize":1},{"declaration":48497,"isOffset":false,"isSlot":false,"src":"1423:6:35","valueSize":1}],"flags":["memory-safe"],"id":48500,"nodeType":"InlineAssembly","src":"1283:157:35"}]},"documentation":{"id":48493,"nodeType":"StructuredDocumentation","src":"1057:158:35","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:35","parameters":{"id":48498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48495,"mutability":"mutable","name":"_slot","nameLocation":"1241:5:35","nodeType":"VariableDeclaration","scope":48502,"src":"1233:13:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1233:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":48497,"mutability":"mutable","name":"_value","nameLocation":"1256:6:35","nodeType":"VariableDeclaration","scope":48502,"src":"1248:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48496,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1232:31:35"},"returnParameters":{"id":48499,"nodeType":"ParameterList","parameters":[],"src":"1273:0:35"},"scope":48515,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":48508,"nodeType":"FunctionDefinition","src":"1625:150:35","nodes":[],"body":{"id":48507,"nodeType":"Block","src":"1655:120:35","nodes":[],"statements":[{"AST":{"nativeSrc":"1690:79:35","nodeType":"YulBlock","src":"1690:79:35","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1711:15:35","nodeType":"YulIdentifier","src":"1711:15:35"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1738:15:35","nodeType":"YulIdentifier","src":"1738:15:35"}],"functionName":{"name":"tload","nativeSrc":"1732:5:35","nodeType":"YulIdentifier","src":"1732:5:35"},"nativeSrc":"1732:22:35","nodeType":"YulFunctionCall","src":"1732:22:35"},{"kind":"number","nativeSrc":"1756:1:35","nodeType":"YulLiteral","src":"1756:1:35","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"1728:3:35","nodeType":"YulIdentifier","src":"1728:3:35"},"nativeSrc":"1728:30:35","nodeType":"YulFunctionCall","src":"1728:30:35"}],"functionName":{"name":"tstore","nativeSrc":"1704:6:35","nodeType":"YulIdentifier","src":"1704:6:35"},"nativeSrc":"1704:55:35","nodeType":"YulFunctionCall","src":"1704:55:35"},"nativeSrc":"1704:55:35","nodeType":"YulExpressionStatement","src":"1704:55:35"}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"1711:15:35","valueSize":1},{"declaration":48474,"isOffset":false,"isSlot":false,"src":"1738:15:35","valueSize":1}],"flags":["memory-safe"],"id":48506,"nodeType":"InlineAssembly","src":"1665:104:35"}]},"documentation":{"id":48503,"nodeType":"StructuredDocumentation","src":"1452:168:35","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:35","parameters":{"id":48504,"nodeType":"ParameterList","parameters":[],"src":"1643:2:35"},"returnParameters":{"id":48505,"nodeType":"ParameterList","parameters":[],"src":"1655:0:35"},"scope":48515,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":48514,"nodeType":"FunctionDefinition","src":"1955:150:35","nodes":[],"body":{"id":48513,"nodeType":"Block","src":"1985:120:35","nodes":[],"statements":[{"AST":{"nativeSrc":"2020:79:35","nodeType":"YulBlock","src":"2020:79:35","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2041:15:35","nodeType":"YulIdentifier","src":"2041:15:35"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2068:15:35","nodeType":"YulIdentifier","src":"2068:15:35"}],"functionName":{"name":"tload","nativeSrc":"2062:5:35","nodeType":"YulIdentifier","src":"2062:5:35"},"nativeSrc":"2062:22:35","nodeType":"YulFunctionCall","src":"2062:22:35"},{"kind":"number","nativeSrc":"2086:1:35","nodeType":"YulLiteral","src":"2086:1:35","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"2058:3:35","nodeType":"YulIdentifier","src":"2058:3:35"},"nativeSrc":"2058:30:35","nodeType":"YulFunctionCall","src":"2058:30:35"}],"functionName":{"name":"tstore","nativeSrc":"2034:6:35","nodeType":"YulIdentifier","src":"2034:6:35"},"nativeSrc":"2034:55:35","nodeType":"YulFunctionCall","src":"2034:55:35"},"nativeSrc":"2034:55:35","nodeType":"YulExpressionStatement","src":"2034:55:35"}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"2041:15:35","valueSize":1},{"declaration":48474,"isOffset":false,"isSlot":false,"src":"2068:15:35","valueSize":1}],"flags":["memory-safe"],"id":48512,"nodeType":"InlineAssembly","src":"1995:104:35"}]},"documentation":{"id":48509,"nodeType":"StructuredDocumentation","src":"1781:169:35","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:35","parameters":{"id":48510,"nodeType":"ParameterList","parameters":[],"src":"1973:2:35"},"returnParameters":{"id":48511,"nodeType":"ParameterList","parameters":[],"src":"1985:0:35"},"scope":48515,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientContext","contractDependencies":[],"contractKind":"library","documentation":{"id":48470,"nodeType":"StructuredDocumentation","src":"58:71:35","text":"@title TransientContext\n @notice Library for transient storage."},"fullyImplemented":true,"linearizedBaseContracts":[48515],"name":"TransientContext","nameLocation":"137:16:35","scope":48533,"usedErrors":[],"usedEvents":[]},{"id":48532,"nodeType":"ContractDefinition","src":"2303:224:35","nodes":[{"id":48531,"nodeType":"ModifierDefinition","src":"2405:120:35","nodes":[],"body":{"id":48530,"nodeType":"Block","src":"2431:94:35","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48519,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48515,"src":"2441:16:35","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$48515_$","typeString":"type(library TransientContext)"}},"id":48521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2458:9:35","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":48508,"src":"2441:26:35","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":48522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2441:28:35","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48523,"nodeType":"ExpressionStatement","src":"2441:28:35"},{"id":48524,"nodeType":"PlaceholderStatement","src":"2479:1:35"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48525,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48515,"src":"2490:16:35","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$48515_$","typeString":"type(library TransientContext)"}},"id":48527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:9:35","memberName":"decrement","nodeType":"MemberAccess","referencedDeclaration":48514,"src":"2490:26:35","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":48528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2490:28:35","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48529,"nodeType":"ExpressionStatement","src":"2490:28:35"}]},"documentation":{"id":48517,"nodeType":"StructuredDocumentation","src":"2343:57:35","text":"@notice Modifier to make a function reentrancy-aware."},"name":"reentrantAware","nameLocation":"2414:14:35","parameters":{"id":48518,"nodeType":"ParameterList","parameters":[],"src":"2428:2:35"},"virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientReentrancyAware","contractDependencies":[],"contractKind":"contract","documentation":{"id":48516,"nodeType":"StructuredDocumentation","src":"2109:194:35","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":[48532],"name":"TransientReentrancyAware","nameLocation":"2312:24:35","scope":48533,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":35}
{"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}

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

{"abi":[],"bytecode":{"object":"0x6080604052348015600e575f80fd5b50601580601a5f395ff3fe60806040525f80fdfea164736f6c634300081a000a","sourceMap":"2303:224:35:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040525f80fdfea164736f6c634300081a000a","sourceMap":"2303:224:35:-: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":48533,"exportedSymbols":{"TransientContext":[48515],"TransientReentrancyAware":[48532]},"nodeType":"SourceUnit","src":"32:2496:35","nodes":[{"id":48469,"nodeType":"PragmaDirective","src":"32:24:35","nodes":[],"literals":["solidity","^","0.8",".24"]},{"id":48515,"nodeType":"ContractDefinition","src":"129:1978:35","nodes":[{"id":48474,"nodeType":"VariableDeclaration","src":"278:110:35","nodes":[],"constant":true,"documentation":{"id":48471,"nodeType":"StructuredDocumentation","src":"160:113:35","text":"@notice Slot for call depth.\n Equal to bytes32(uint256(keccak256(\"transient.calldepth\")) - 1)."},"mutability":"constant","name":"CALL_DEPTH_SLOT","nameLocation":"304:15:35","scope":48515,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48472,"name":"bytes32","nodeType":"ElementaryTypeName","src":"278:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"hexValue":"307837613734666431363837363366643238306561656333626364326664363264306537393530323761646338313833613639336334393761376332623130623563","id":48473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"322:66:35","typeDescriptions":{"typeIdentifier":"t_rational_55388868535875649073547711647255167311425207837940097558979256947742365256540_by_1","typeString":"int_const 5538...(69 digits omitted)...6540"},"value":"0x7a74fd168763fd280eaec3bcd2fd62d0e795027adc8183a693c497a7c2b10b5c"},"visibility":"internal"},{"id":48482,"nodeType":"FunctionDefinition","src":"479:165:35","nodes":[],"body":{"id":48481,"nodeType":"Block","src":"543:101:35","nodes":[],"statements":[{"AST":{"nativeSrc":"578:60:35","nodeType":"YulBlock","src":"578:60:35","statements":[{"nativeSrc":"592:36:35","nodeType":"YulAssignment","src":"592:36:35","value":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"612:15:35","nodeType":"YulIdentifier","src":"612:15:35"}],"functionName":{"name":"tload","nativeSrc":"606:5:35","nodeType":"YulIdentifier","src":"606:5:35"},"nativeSrc":"606:22:35","nodeType":"YulFunctionCall","src":"606:22:35"},"variableNames":[{"name":"callDepth_","nativeSrc":"592:10:35","nodeType":"YulIdentifier","src":"592:10:35"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"612:15:35","valueSize":1},{"declaration":48478,"isOffset":false,"isSlot":false,"src":"592:10:35","valueSize":1}],"flags":["memory-safe"],"id":48480,"nodeType":"InlineAssembly","src":"553:85:35"}]},"documentation":{"id":48475,"nodeType":"StructuredDocumentation","src":"395:79:35","text":"@notice Gets the call depth.\n @return callDepth_ Current call depth."},"implemented":true,"kind":"function","modifiers":[],"name":"callDepth","nameLocation":"488:9:35","parameters":{"id":48476,"nodeType":"ParameterList","parameters":[],"src":"497:2:35"},"returnParameters":{"id":48479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48478,"mutability":"mutable","name":"callDepth_","nameLocation":"531:10:35","nodeType":"VariableDeclaration","scope":48482,"src":"523:18:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48477,"name":"uint256","nodeType":"ElementaryTypeName","src":"523:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"522:20:35"},"scope":48515,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48492,"nodeType":"FunctionDefinition","src":"810:241:35","nodes":[],"body":{"id":48491,"nodeType":"Block","src":"877:174:35","nodes":[],"statements":[{"AST":{"nativeSrc":"912:133:35","nodeType":"YulBlock","src":"912:133:35","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"933:1:35","nodeType":"YulLiteral","src":"933:1:35","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"942:15:35","nodeType":"YulIdentifier","src":"942:15:35"}],"functionName":{"name":"tload","nativeSrc":"936:5:35","nodeType":"YulIdentifier","src":"936:5:35"},"nativeSrc":"936:22:35","nodeType":"YulFunctionCall","src":"936:22:35"}],"functionName":{"name":"mstore","nativeSrc":"926:6:35","nodeType":"YulIdentifier","src":"926:6:35"},"nativeSrc":"926:33:35","nodeType":"YulFunctionCall","src":"926:33:35"},"nativeSrc":"926:33:35","nodeType":"YulExpressionStatement","src":"926:33:35"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"979:2:35","nodeType":"YulLiteral","src":"979:2:35","type":"","value":"32"},{"name":"_slot","nativeSrc":"983:5:35","nodeType":"YulIdentifier","src":"983:5:35"}],"functionName":{"name":"mstore","nativeSrc":"972:6:35","nodeType":"YulIdentifier","src":"972:6:35"},"nativeSrc":"972:17:35","nodeType":"YulFunctionCall","src":"972:17:35"},"nativeSrc":"972:17:35","nodeType":"YulExpressionStatement","src":"972:17:35"},{"nativeSrc":"1002:33:35","nodeType":"YulAssignment","src":"1002:33:35","value":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1028:1:35","nodeType":"YulLiteral","src":"1028:1:35","type":"","value":"0"},{"kind":"number","nativeSrc":"1031:2:35","nodeType":"YulLiteral","src":"1031:2:35","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1018:9:35","nodeType":"YulIdentifier","src":"1018:9:35"},"nativeSrc":"1018:16:35","nodeType":"YulFunctionCall","src":"1018:16:35"}],"functionName":{"name":"tload","nativeSrc":"1012:5:35","nodeType":"YulIdentifier","src":"1012:5:35"},"nativeSrc":"1012:23:35","nodeType":"YulFunctionCall","src":"1012:23:35"},"variableNames":[{"name":"value_","nativeSrc":"1002:6:35","nodeType":"YulIdentifier","src":"1002:6:35"}]}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"942:15:35","valueSize":1},{"declaration":48485,"isOffset":false,"isSlot":false,"src":"983:5:35","valueSize":1},{"declaration":48488,"isOffset":false,"isSlot":false,"src":"1002:6:35","valueSize":1}],"flags":["memory-safe"],"id":48490,"nodeType":"InlineAssembly","src":"887:158:35"}]},"documentation":{"id":48483,"nodeType":"StructuredDocumentation","src":"650:155:35","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:35","parameters":{"id":48486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48485,"mutability":"mutable","name":"_slot","nameLocation":"831:5:35","nodeType":"VariableDeclaration","scope":48492,"src":"823:13:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"823:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"822:15:35"},"returnParameters":{"id":48489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48488,"mutability":"mutable","name":"value_","nameLocation":"869:6:35","nodeType":"VariableDeclaration","scope":48492,"src":"861:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48487,"name":"uint256","nodeType":"ElementaryTypeName","src":"861:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"860:16:35"},"scope":48515,"stateMutability":"view","virtual":false,"visibility":"internal"},{"id":48502,"nodeType":"FunctionDefinition","src":"1220:226:35","nodes":[],"body":{"id":48501,"nodeType":"Block","src":"1273:173:35","nodes":[],"statements":[{"AST":{"nativeSrc":"1308:132:35","nodeType":"YulBlock","src":"1308:132:35","statements":[{"expression":{"arguments":[{"kind":"number","nativeSrc":"1329:1:35","nodeType":"YulLiteral","src":"1329:1:35","type":"","value":"0"},{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1338:15:35","nodeType":"YulIdentifier","src":"1338:15:35"}],"functionName":{"name":"tload","nativeSrc":"1332:5:35","nodeType":"YulIdentifier","src":"1332:5:35"},"nativeSrc":"1332:22:35","nodeType":"YulFunctionCall","src":"1332:22:35"}],"functionName":{"name":"mstore","nativeSrc":"1322:6:35","nodeType":"YulIdentifier","src":"1322:6:35"},"nativeSrc":"1322:33:35","nodeType":"YulFunctionCall","src":"1322:33:35"},"nativeSrc":"1322:33:35","nodeType":"YulExpressionStatement","src":"1322:33:35"},{"expression":{"arguments":[{"kind":"number","nativeSrc":"1375:2:35","nodeType":"YulLiteral","src":"1375:2:35","type":"","value":"32"},{"name":"_slot","nativeSrc":"1379:5:35","nodeType":"YulIdentifier","src":"1379:5:35"}],"functionName":{"name":"mstore","nativeSrc":"1368:6:35","nodeType":"YulIdentifier","src":"1368:6:35"},"nativeSrc":"1368:17:35","nodeType":"YulFunctionCall","src":"1368:17:35"},"nativeSrc":"1368:17:35","nodeType":"YulExpressionStatement","src":"1368:17:35"},{"expression":{"arguments":[{"arguments":[{"kind":"number","nativeSrc":"1415:1:35","nodeType":"YulLiteral","src":"1415:1:35","type":"","value":"0"},{"kind":"number","nativeSrc":"1418:2:35","nodeType":"YulLiteral","src":"1418:2:35","type":"","value":"64"}],"functionName":{"name":"keccak256","nativeSrc":"1405:9:35","nodeType":"YulIdentifier","src":"1405:9:35"},"nativeSrc":"1405:16:35","nodeType":"YulFunctionCall","src":"1405:16:35"},{"name":"_value","nativeSrc":"1423:6:35","nodeType":"YulIdentifier","src":"1423:6:35"}],"functionName":{"name":"tstore","nativeSrc":"1398:6:35","nodeType":"YulIdentifier","src":"1398:6:35"},"nativeSrc":"1398:32:35","nodeType":"YulFunctionCall","src":"1398:32:35"},"nativeSrc":"1398:32:35","nodeType":"YulExpressionStatement","src":"1398:32:35"}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"1338:15:35","valueSize":1},{"declaration":48495,"isOffset":false,"isSlot":false,"src":"1379:5:35","valueSize":1},{"declaration":48497,"isOffset":false,"isSlot":false,"src":"1423:6:35","valueSize":1}],"flags":["memory-safe"],"id":48500,"nodeType":"InlineAssembly","src":"1283:157:35"}]},"documentation":{"id":48493,"nodeType":"StructuredDocumentation","src":"1057:158:35","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:35","parameters":{"id":48498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":48495,"mutability":"mutable","name":"_slot","nameLocation":"1241:5:35","nodeType":"VariableDeclaration","scope":48502,"src":"1233:13:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":48494,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1233:7:35","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":48497,"mutability":"mutable","name":"_value","nameLocation":"1256:6:35","nodeType":"VariableDeclaration","scope":48502,"src":"1248:14:35","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48496,"name":"uint256","nodeType":"ElementaryTypeName","src":"1248:7:35","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1232:31:35"},"returnParameters":{"id":48499,"nodeType":"ParameterList","parameters":[],"src":"1273:0:35"},"scope":48515,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":48508,"nodeType":"FunctionDefinition","src":"1625:150:35","nodes":[],"body":{"id":48507,"nodeType":"Block","src":"1655:120:35","nodes":[],"statements":[{"AST":{"nativeSrc":"1690:79:35","nodeType":"YulBlock","src":"1690:79:35","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1711:15:35","nodeType":"YulIdentifier","src":"1711:15:35"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"1738:15:35","nodeType":"YulIdentifier","src":"1738:15:35"}],"functionName":{"name":"tload","nativeSrc":"1732:5:35","nodeType":"YulIdentifier","src":"1732:5:35"},"nativeSrc":"1732:22:35","nodeType":"YulFunctionCall","src":"1732:22:35"},{"kind":"number","nativeSrc":"1756:1:35","nodeType":"YulLiteral","src":"1756:1:35","type":"","value":"1"}],"functionName":{"name":"add","nativeSrc":"1728:3:35","nodeType":"YulIdentifier","src":"1728:3:35"},"nativeSrc":"1728:30:35","nodeType":"YulFunctionCall","src":"1728:30:35"}],"functionName":{"name":"tstore","nativeSrc":"1704:6:35","nodeType":"YulIdentifier","src":"1704:6:35"},"nativeSrc":"1704:55:35","nodeType":"YulFunctionCall","src":"1704:55:35"},"nativeSrc":"1704:55:35","nodeType":"YulExpressionStatement","src":"1704:55:35"}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"1711:15:35","valueSize":1},{"declaration":48474,"isOffset":false,"isSlot":false,"src":"1738:15:35","valueSize":1}],"flags":["memory-safe"],"id":48506,"nodeType":"InlineAssembly","src":"1665:104:35"}]},"documentation":{"id":48503,"nodeType":"StructuredDocumentation","src":"1452:168:35","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:35","parameters":{"id":48504,"nodeType":"ParameterList","parameters":[],"src":"1643:2:35"},"returnParameters":{"id":48505,"nodeType":"ParameterList","parameters":[],"src":"1655:0:35"},"scope":48515,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":48514,"nodeType":"FunctionDefinition","src":"1955:150:35","nodes":[],"body":{"id":48513,"nodeType":"Block","src":"1985:120:35","nodes":[],"statements":[{"AST":{"nativeSrc":"2020:79:35","nodeType":"YulBlock","src":"2020:79:35","statements":[{"expression":{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2041:15:35","nodeType":"YulIdentifier","src":"2041:15:35"},{"arguments":[{"arguments":[{"name":"CALL_DEPTH_SLOT","nativeSrc":"2068:15:35","nodeType":"YulIdentifier","src":"2068:15:35"}],"functionName":{"name":"tload","nativeSrc":"2062:5:35","nodeType":"YulIdentifier","src":"2062:5:35"},"nativeSrc":"2062:22:35","nodeType":"YulFunctionCall","src":"2062:22:35"},{"kind":"number","nativeSrc":"2086:1:35","nodeType":"YulLiteral","src":"2086:1:35","type":"","value":"1"}],"functionName":{"name":"sub","nativeSrc":"2058:3:35","nodeType":"YulIdentifier","src":"2058:3:35"},"nativeSrc":"2058:30:35","nodeType":"YulFunctionCall","src":"2058:30:35"}],"functionName":{"name":"tstore","nativeSrc":"2034:6:35","nodeType":"YulIdentifier","src":"2034:6:35"},"nativeSrc":"2034:55:35","nodeType":"YulFunctionCall","src":"2034:55:35"},"nativeSrc":"2034:55:35","nodeType":"YulExpressionStatement","src":"2034:55:35"}]},"evmVersion":"cancun","externalReferences":[{"declaration":48474,"isOffset":false,"isSlot":false,"src":"2041:15:35","valueSize":1},{"declaration":48474,"isOffset":false,"isSlot":false,"src":"2068:15:35","valueSize":1}],"flags":["memory-safe"],"id":48512,"nodeType":"InlineAssembly","src":"1995:104:35"}]},"documentation":{"id":48509,"nodeType":"StructuredDocumentation","src":"1781:169:35","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:35","parameters":{"id":48510,"nodeType":"ParameterList","parameters":[],"src":"1973:2:35"},"returnParameters":{"id":48511,"nodeType":"ParameterList","parameters":[],"src":"1985:0:35"},"scope":48515,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientContext","contractDependencies":[],"contractKind":"library","documentation":{"id":48470,"nodeType":"StructuredDocumentation","src":"58:71:35","text":"@title TransientContext\n @notice Library for transient storage."},"fullyImplemented":true,"linearizedBaseContracts":[48515],"name":"TransientContext","nameLocation":"137:16:35","scope":48533,"usedErrors":[],"usedEvents":[]},{"id":48532,"nodeType":"ContractDefinition","src":"2303:224:35","nodes":[{"id":48531,"nodeType":"ModifierDefinition","src":"2405:120:35","nodes":[],"body":{"id":48530,"nodeType":"Block","src":"2431:94:35","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48519,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48515,"src":"2441:16:35","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$48515_$","typeString":"type(library TransientContext)"}},"id":48521,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2458:9:35","memberName":"increment","nodeType":"MemberAccess","referencedDeclaration":48508,"src":"2441:26:35","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":48522,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2441:28:35","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48523,"nodeType":"ExpressionStatement","src":"2441:28:35"},{"id":48524,"nodeType":"PlaceholderStatement","src":"2479:1:35"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":48525,"name":"TransientContext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48515,"src":"2490:16:35","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TransientContext_$48515_$","typeString":"type(library TransientContext)"}},"id":48527,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2507:9:35","memberName":"decrement","nodeType":"MemberAccess","referencedDeclaration":48514,"src":"2490:26:35","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":48528,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2490:28:35","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":48529,"nodeType":"ExpressionStatement","src":"2490:28:35"}]},"documentation":{"id":48517,"nodeType":"StructuredDocumentation","src":"2343:57:35","text":"@notice Modifier to make a function reentrancy-aware."},"name":"reentrantAware","nameLocation":"2414:14:35","parameters":{"id":48518,"nodeType":"ParameterList","parameters":[],"src":"2428:2:35"},"virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"TransientReentrancyAware","contractDependencies":[],"contractKind":"contract","documentation":{"id":48516,"nodeType":"StructuredDocumentation","src":"2109:194:35","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":[48532],"name":"TransientReentrancyAware","nameLocation":"2312:24:35","scope":48533,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":35}
{"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}

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

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"831:574:34:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;831:574:34;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"831:574:34:-: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":48468,"exportedSymbols":{"Claim":[48257],"Clock":[48165],"Duration":[48289],"GameId":[48219],"GameStatus":[48370],"GameType":[48349],"GameTypes":[48411],"Hash":[48304],"LibClaim":[48287],"LibClock":[48217],"LibDuration":[48302],"LibGameId":[48255],"LibGameType":[48362],"LibHash":[48317],"LibPosition":[48128],"LibTimestamp":[48332],"LibVMStatus":[48347],"LocalPreimageKey":[48467],"OutputRoot":[48377],"Position":[47915],"Timestamp":[48319],"VMStatus":[48334],"VMStatuses":[48445]},"nodeType":"SourceUnit","src":"32:2676:34","nodes":[{"id":48364,"nodeType":"PragmaDirective","src":"32:24:34","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":48365,"nodeType":"ImportDirective","src":"58:36:34","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":48468,"sourceUnit":48363,"symbolAliases":[],"unitAlias":""},{"id":48370,"nodeType":"EnumDefinition","src":"148:299:34","nodes":[],"canonicalName":"GameStatus","documentation":{"id":48366,"nodeType":"StructuredDocumentation","src":"96:52:34","text":"@notice The current status of the dispute game."},"members":[{"id":48367,"name":"IN_PROGRESS","nameLocation":"239:11:34","nodeType":"EnumValue","src":"239:11:34"},{"id":48368,"name":"CHALLENGER_WINS","nameLocation":"336:15:34","nodeType":"EnumValue","src":"336:15:34"},{"id":48369,"name":"DEFENDER_WINS","nameLocation":"432:13:34","nodeType":"EnumValue","src":"432:13:34"}],"name":"GameStatus","nameLocation":"153:10:34"},{"id":48377,"nodeType":"StructDefinition","src":"673:63:34","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":48371,"nodeType":"StructuredDocumentation","src":"449:224:34","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":48374,"mutability":"mutable","name":"root","nameLocation":"702:4:34","nodeType":"VariableDeclaration","scope":48377,"src":"697:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"},"typeName":{"id":48373,"nodeType":"UserDefinedTypeName","pathNode":{"id":48372,"name":"Hash","nameLocations":["697:4:34"],"nodeType":"IdentifierPath","referencedDeclaration":48304,"src":"697:4:34"},"referencedDeclaration":48304,"src":"697:4:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":48376,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:34","nodeType":"VariableDeclaration","scope":48377,"src":"712:21:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48375,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:34","scope":48468,"visibility":"public"},{"id":48411,"nodeType":"ContractDefinition","src":"831:574:34","nodes":[{"id":48386,"nodeType":"VariableDeclaration","src":"912:52:34","nodes":[],"constant":true,"documentation":{"id":48379,"nodeType":"StructuredDocumentation","src":"855:52:34","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48381,"nodeType":"UserDefinedTypeName","pathNode":{"id":48380,"name":"GameType","nameLocations":["912:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"912:8:34"},"referencedDeclaration":48349,"src":"912:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":48384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:34","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":48382,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"948:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48394,"nodeType":"VariableDeclaration","src":"1041:65:34","nodes":[],"constant":true,"documentation":{"id":48387,"nodeType":"StructuredDocumentation","src":"971:65:34","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48389,"nodeType":"UserDefinedTypeName","pathNode":{"id":48388,"name":"GameType","nameLocations":["1041:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1041:8:34"},"referencedDeclaration":48349,"src":"1041:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":48392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:34","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":48390,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1090:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48402,"nodeType":"VariableDeclaration","src":"1174:54:34","nodes":[],"constant":true,"documentation":{"id":48395,"nodeType":"StructuredDocumentation","src":"1113:56:34","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48397,"nodeType":"UserDefinedTypeName","pathNode":{"id":48396,"name":"GameType","nameLocations":["1174:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1174:8:34"},"referencedDeclaration":48349,"src":"1174:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":48400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:34","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":48398,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1212:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48410,"nodeType":"VariableDeclaration","src":"1346:56:34","nodes":[],"constant":true,"documentation":{"id":48403,"nodeType":"StructuredDocumentation","src":"1235:106:34","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48405,"nodeType":"UserDefinedTypeName","pathNode":{"id":48404,"name":"GameType","nameLocations":["1346:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1346:8:34"},"referencedDeclaration":48349,"src":"1346:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":48408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:34","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":48406,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1384:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":48378,"nodeType":"StructuredDocumentation","src":"738:93:34","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[48411],"name":"GameTypes","nameLocation":"839:9:34","scope":48468,"usedErrors":[],"usedEvents":[]},{"id":48445,"nodeType":"ContractDefinition","src":"1499:503:34","nodes":[{"id":48420,"nodeType":"VariableDeclaration","src":"1599:51:34","nodes":[],"constant":true,"documentation":{"id":48413,"nodeType":"StructuredDocumentation","src":"1524:70:34","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48415,"nodeType":"UserDefinedTypeName","pathNode":{"id":48414,"name":"VMStatus","nameLocations":["1599:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1599:8:34"},"referencedDeclaration":48334,"src":"1599:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":48418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:34","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":48416,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1634:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48428,"nodeType":"VariableDeclaration","src":"1734:53:34","nodes":[],"constant":true,"documentation":{"id":48421,"nodeType":"StructuredDocumentation","src":"1657:72:34","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48423,"nodeType":"UserDefinedTypeName","pathNode":{"id":48422,"name":"VMStatus","nameLocations":["1734:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1734:8:34"},"referencedDeclaration":48334,"src":"1734:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":48426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:34","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":48424,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1771:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48436,"nodeType":"VariableDeclaration","src":"1830:51:34","nodes":[],"constant":true,"documentation":{"id":48429,"nodeType":"StructuredDocumentation","src":"1794:31:34","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48431,"nodeType":"UserDefinedTypeName","pathNode":{"id":48430,"name":"VMStatus","nameLocations":["1830:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1830:8:34"},"referencedDeclaration":48334,"src":"1830:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":48434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:34","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":48432,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1865:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48444,"nodeType":"VariableDeclaration","src":"1943:56:34","nodes":[],"constant":true,"documentation":{"id":48437,"nodeType":"StructuredDocumentation","src":"1888:50:34","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48439,"nodeType":"UserDefinedTypeName","pathNode":{"id":48438,"name":"VMStatus","nameLocations":["1943:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1943:8:34"},"referencedDeclaration":48334,"src":"1943:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":48442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:34","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":48440,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1983:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":48412,"nodeType":"StructuredDocumentation","src":"1407:92:34","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[48445],"name":"VMStatuses","nameLocation":"1507:10:34","scope":48468,"usedErrors":[],"usedEvents":[]},{"id":48467,"nodeType":"ContractDefinition","src":"2107:600:34","nodes":[{"id":48450,"nodeType":"VariableDeclaration","src":"2191:45:34","nodes":[],"constant":true,"documentation":{"id":48447,"nodeType":"StructuredDocumentation","src":"2138:48:34","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48448,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":48449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":48454,"nodeType":"VariableDeclaration","src":"2304:53:34","nodes":[],"constant":true,"documentation":{"id":48451,"nodeType":"StructuredDocumentation","src":"2243:56:34","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48452,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":48453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:34","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":48458,"nodeType":"VariableDeclaration","src":"2425:53:34","nodes":[],"constant":true,"documentation":{"id":48455,"nodeType":"StructuredDocumentation","src":"2364:56:34","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48456,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":48457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:34","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":48462,"nodeType":"VariableDeclaration","src":"2550:57:34","nodes":[],"constant":true,"documentation":{"id":48459,"nodeType":"StructuredDocumentation","src":"2485:60:34","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48460,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":48461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:34","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":48466,"nodeType":"VariableDeclaration","src":"2663:41:34","nodes":[],"constant":true,"documentation":{"id":48463,"nodeType":"StructuredDocumentation","src":"2614:44:34","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48464,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":48465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:34","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":48446,"nodeType":"StructuredDocumentation","src":"2004:103:34","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[48467],"name":"LocalPreimageKey","nameLocation":"2115:16:34","scope":48468,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":34}
{"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}

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

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"2107:600:34:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;2107:600:34;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"2107:600:34:-: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":48468,"exportedSymbols":{"Claim":[48257],"Clock":[48165],"Duration":[48289],"GameId":[48219],"GameStatus":[48370],"GameType":[48349],"GameTypes":[48411],"Hash":[48304],"LibClaim":[48287],"LibClock":[48217],"LibDuration":[48302],"LibGameId":[48255],"LibGameType":[48362],"LibHash":[48317],"LibPosition":[48128],"LibTimestamp":[48332],"LibVMStatus":[48347],"LocalPreimageKey":[48467],"OutputRoot":[48377],"Position":[47915],"Timestamp":[48319],"VMStatus":[48334],"VMStatuses":[48445]},"nodeType":"SourceUnit","src":"32:2676:34","nodes":[{"id":48364,"nodeType":"PragmaDirective","src":"32:24:34","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":48365,"nodeType":"ImportDirective","src":"58:36:34","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":48468,"sourceUnit":48363,"symbolAliases":[],"unitAlias":""},{"id":48370,"nodeType":"EnumDefinition","src":"148:299:34","nodes":[],"canonicalName":"GameStatus","documentation":{"id":48366,"nodeType":"StructuredDocumentation","src":"96:52:34","text":"@notice The current status of the dispute game."},"members":[{"id":48367,"name":"IN_PROGRESS","nameLocation":"239:11:34","nodeType":"EnumValue","src":"239:11:34"},{"id":48368,"name":"CHALLENGER_WINS","nameLocation":"336:15:34","nodeType":"EnumValue","src":"336:15:34"},{"id":48369,"name":"DEFENDER_WINS","nameLocation":"432:13:34","nodeType":"EnumValue","src":"432:13:34"}],"name":"GameStatus","nameLocation":"153:10:34"},{"id":48377,"nodeType":"StructDefinition","src":"673:63:34","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":48371,"nodeType":"StructuredDocumentation","src":"449:224:34","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":48374,"mutability":"mutable","name":"root","nameLocation":"702:4:34","nodeType":"VariableDeclaration","scope":48377,"src":"697:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"},"typeName":{"id":48373,"nodeType":"UserDefinedTypeName","pathNode":{"id":48372,"name":"Hash","nameLocations":["697:4:34"],"nodeType":"IdentifierPath","referencedDeclaration":48304,"src":"697:4:34"},"referencedDeclaration":48304,"src":"697:4:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":48376,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:34","nodeType":"VariableDeclaration","scope":48377,"src":"712:21:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48375,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:34","scope":48468,"visibility":"public"},{"id":48411,"nodeType":"ContractDefinition","src":"831:574:34","nodes":[{"id":48386,"nodeType":"VariableDeclaration","src":"912:52:34","nodes":[],"constant":true,"documentation":{"id":48379,"nodeType":"StructuredDocumentation","src":"855:52:34","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48381,"nodeType":"UserDefinedTypeName","pathNode":{"id":48380,"name":"GameType","nameLocations":["912:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"912:8:34"},"referencedDeclaration":48349,"src":"912:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":48384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:34","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":48382,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"948:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48394,"nodeType":"VariableDeclaration","src":"1041:65:34","nodes":[],"constant":true,"documentation":{"id":48387,"nodeType":"StructuredDocumentation","src":"971:65:34","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48389,"nodeType":"UserDefinedTypeName","pathNode":{"id":48388,"name":"GameType","nameLocations":["1041:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1041:8:34"},"referencedDeclaration":48349,"src":"1041:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":48392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:34","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":48390,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1090:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48402,"nodeType":"VariableDeclaration","src":"1174:54:34","nodes":[],"constant":true,"documentation":{"id":48395,"nodeType":"StructuredDocumentation","src":"1113:56:34","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48397,"nodeType":"UserDefinedTypeName","pathNode":{"id":48396,"name":"GameType","nameLocations":["1174:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1174:8:34"},"referencedDeclaration":48349,"src":"1174:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":48400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:34","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":48398,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1212:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48410,"nodeType":"VariableDeclaration","src":"1346:56:34","nodes":[],"constant":true,"documentation":{"id":48403,"nodeType":"StructuredDocumentation","src":"1235:106:34","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48405,"nodeType":"UserDefinedTypeName","pathNode":{"id":48404,"name":"GameType","nameLocations":["1346:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1346:8:34"},"referencedDeclaration":48349,"src":"1346:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":48408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:34","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":48406,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1384:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":48378,"nodeType":"StructuredDocumentation","src":"738:93:34","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[48411],"name":"GameTypes","nameLocation":"839:9:34","scope":48468,"usedErrors":[],"usedEvents":[]},{"id":48445,"nodeType":"ContractDefinition","src":"1499:503:34","nodes":[{"id":48420,"nodeType":"VariableDeclaration","src":"1599:51:34","nodes":[],"constant":true,"documentation":{"id":48413,"nodeType":"StructuredDocumentation","src":"1524:70:34","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48415,"nodeType":"UserDefinedTypeName","pathNode":{"id":48414,"name":"VMStatus","nameLocations":["1599:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1599:8:34"},"referencedDeclaration":48334,"src":"1599:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":48418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:34","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":48416,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1634:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48428,"nodeType":"VariableDeclaration","src":"1734:53:34","nodes":[],"constant":true,"documentation":{"id":48421,"nodeType":"StructuredDocumentation","src":"1657:72:34","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48423,"nodeType":"UserDefinedTypeName","pathNode":{"id":48422,"name":"VMStatus","nameLocations":["1734:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1734:8:34"},"referencedDeclaration":48334,"src":"1734:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":48426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:34","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":48424,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1771:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48436,"nodeType":"VariableDeclaration","src":"1830:51:34","nodes":[],"constant":true,"documentation":{"id":48429,"nodeType":"StructuredDocumentation","src":"1794:31:34","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48431,"nodeType":"UserDefinedTypeName","pathNode":{"id":48430,"name":"VMStatus","nameLocations":["1830:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1830:8:34"},"referencedDeclaration":48334,"src":"1830:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":48434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:34","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":48432,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1865:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48444,"nodeType":"VariableDeclaration","src":"1943:56:34","nodes":[],"constant":true,"documentation":{"id":48437,"nodeType":"StructuredDocumentation","src":"1888:50:34","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48439,"nodeType":"UserDefinedTypeName","pathNode":{"id":48438,"name":"VMStatus","nameLocations":["1943:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1943:8:34"},"referencedDeclaration":48334,"src":"1943:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":48442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:34","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":48440,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1983:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":48412,"nodeType":"StructuredDocumentation","src":"1407:92:34","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[48445],"name":"VMStatuses","nameLocation":"1507:10:34","scope":48468,"usedErrors":[],"usedEvents":[]},{"id":48467,"nodeType":"ContractDefinition","src":"2107:600:34","nodes":[{"id":48450,"nodeType":"VariableDeclaration","src":"2191:45:34","nodes":[],"constant":true,"documentation":{"id":48447,"nodeType":"StructuredDocumentation","src":"2138:48:34","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48448,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":48449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":48454,"nodeType":"VariableDeclaration","src":"2304:53:34","nodes":[],"constant":true,"documentation":{"id":48451,"nodeType":"StructuredDocumentation","src":"2243:56:34","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48452,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":48453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:34","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":48458,"nodeType":"VariableDeclaration","src":"2425:53:34","nodes":[],"constant":true,"documentation":{"id":48455,"nodeType":"StructuredDocumentation","src":"2364:56:34","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48456,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":48457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:34","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":48462,"nodeType":"VariableDeclaration","src":"2550:57:34","nodes":[],"constant":true,"documentation":{"id":48459,"nodeType":"StructuredDocumentation","src":"2485:60:34","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48460,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":48461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:34","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":48466,"nodeType":"VariableDeclaration","src":"2663:41:34","nodes":[],"constant":true,"documentation":{"id":48463,"nodeType":"StructuredDocumentation","src":"2614:44:34","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48464,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":48465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:34","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":48446,"nodeType":"StructuredDocumentation","src":"2004:103:34","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[48467],"name":"LocalPreimageKey","nameLocation":"2115:16:34","scope":48468,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":34}
{"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}

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

{"abi":[],"bytecode":{"object":"0x602c6032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1499:503:34:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1499:503:34;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea164736f6c634300081a000a","sourceMap":"1499:503:34:-: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":48468,"exportedSymbols":{"Claim":[48257],"Clock":[48165],"Duration":[48289],"GameId":[48219],"GameStatus":[48370],"GameType":[48349],"GameTypes":[48411],"Hash":[48304],"LibClaim":[48287],"LibClock":[48217],"LibDuration":[48302],"LibGameId":[48255],"LibGameType":[48362],"LibHash":[48317],"LibPosition":[48128],"LibTimestamp":[48332],"LibVMStatus":[48347],"LocalPreimageKey":[48467],"OutputRoot":[48377],"Position":[47915],"Timestamp":[48319],"VMStatus":[48334],"VMStatuses":[48445]},"nodeType":"SourceUnit","src":"32:2676:34","nodes":[{"id":48364,"nodeType":"PragmaDirective","src":"32:24:34","nodes":[],"literals":["solidity","^","0.8",".15"]},{"id":48365,"nodeType":"ImportDirective","src":"58:36:34","nodes":[],"absolutePath":"src/dispute/lib/LibUDT.sol","file":"src/dispute/lib/LibUDT.sol","nameLocation":"-1:-1:-1","scope":48468,"sourceUnit":48363,"symbolAliases":[],"unitAlias":""},{"id":48370,"nodeType":"EnumDefinition","src":"148:299:34","nodes":[],"canonicalName":"GameStatus","documentation":{"id":48366,"nodeType":"StructuredDocumentation","src":"96:52:34","text":"@notice The current status of the dispute game."},"members":[{"id":48367,"name":"IN_PROGRESS","nameLocation":"239:11:34","nodeType":"EnumValue","src":"239:11:34"},{"id":48368,"name":"CHALLENGER_WINS","nameLocation":"336:15:34","nodeType":"EnumValue","src":"336:15:34"},{"id":48369,"name":"DEFENDER_WINS","nameLocation":"432:13:34","nodeType":"EnumValue","src":"432:13:34"}],"name":"GameStatus","nameLocation":"153:10:34"},{"id":48377,"nodeType":"StructDefinition","src":"673:63:34","nodes":[],"canonicalName":"OutputRoot","documentation":{"id":48371,"nodeType":"StructuredDocumentation","src":"449:224:34","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":48374,"mutability":"mutable","name":"root","nameLocation":"702:4:34","nodeType":"VariableDeclaration","scope":48377,"src":"697:9:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"},"typeName":{"id":48373,"nodeType":"UserDefinedTypeName","pathNode":{"id":48372,"name":"Hash","nameLocations":["697:4:34"],"nodeType":"IdentifierPath","referencedDeclaration":48304,"src":"697:4:34"},"referencedDeclaration":48304,"src":"697:4:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$48304","typeString":"Hash"}},"visibility":"internal"},{"constant":false,"id":48376,"mutability":"mutable","name":"l2BlockNumber","nameLocation":"720:13:34","nodeType":"VariableDeclaration","scope":48377,"src":"712:21:34","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48375,"name":"uint256","nodeType":"ElementaryTypeName","src":"712:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"OutputRoot","nameLocation":"680:10:34","scope":48468,"visibility":"public"},{"id":48411,"nodeType":"ContractDefinition","src":"831:574:34","nodes":[{"id":48386,"nodeType":"VariableDeclaration","src":"912:52:34","nodes":[],"constant":true,"documentation":{"id":48379,"nodeType":"StructuredDocumentation","src":"855:52:34","text":"@dev A dispute game type the uses the cannon vm."},"mutability":"constant","name":"CANNON","nameLocation":"939:6:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48381,"nodeType":"UserDefinedTypeName","pathNode":{"id":48380,"name":"GameType","nameLocations":["912:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"912:8:34"},"referencedDeclaration":48349,"src":"912:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"30","id":48384,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"962:1:34","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":48382,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"948:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48383,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"957:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"948:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48385,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"948:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48394,"nodeType":"VariableDeclaration","src":"1041:65:34","nodes":[],"constant":true,"documentation":{"id":48387,"nodeType":"StructuredDocumentation","src":"971:65:34","text":"@dev A permissioned dispute game type the uses the cannon vm."},"mutability":"constant","name":"PERMISSIONED_CANNON","nameLocation":"1068:19:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48389,"nodeType":"UserDefinedTypeName","pathNode":{"id":48388,"name":"GameType","nameLocations":["1041:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1041:8:34"},"referencedDeclaration":48349,"src":"1041:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"31","id":48392,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1104:1:34","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":48390,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1090:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1099:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1090:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1090:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48402,"nodeType":"VariableDeclaration","src":"1174:54:34","nodes":[],"constant":true,"documentation":{"id":48395,"nodeType":"StructuredDocumentation","src":"1113:56:34","text":"@notice A dispute game type the uses the asterisc VM"},"mutability":"constant","name":"ASTERISC","nameLocation":"1201:8:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48397,"nodeType":"UserDefinedTypeName","pathNode":{"id":48396,"name":"GameType","nameLocations":["1174:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1174:8:34"},"referencedDeclaration":48349,"src":"1174:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"32","id":48400,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1226:1:34","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":48398,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1212:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48399,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1221:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1212:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48401,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1212:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"},{"id":48410,"nodeType":"VariableDeclaration","src":"1346:56:34","nodes":[],"constant":true,"documentation":{"id":48403,"nodeType":"StructuredDocumentation","src":"1235:106:34","text":"@notice A dispute game type that uses an alphabet vm.\n Not intended for production use."},"mutability":"constant","name":"ALPHABET","nameLocation":"1373:8:34","scope":48411,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"},"typeName":{"id":48405,"nodeType":"UserDefinedTypeName","pathNode":{"id":48404,"name":"GameType","nameLocations":["1346:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48349,"src":"1346:8:34"},"referencedDeclaration":48349,"src":"1346:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"value":{"arguments":[{"hexValue":"323535","id":48408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1398:3:34","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":48406,"name":"GameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48349,"src":"1384:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_GameType_$48349_$","typeString":"type(GameType)"}},"id":48407,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1393:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1384:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint32_$returns$_t_userDefinedValueType$_GameType_$48349_$","typeString":"function (uint32) pure returns (GameType)"}},"id":48409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1384:18:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$48349","typeString":"GameType"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"GameTypes","contractDependencies":[],"contractKind":"library","documentation":{"id":48378,"nodeType":"StructuredDocumentation","src":"738:93:34","text":"@title GameTypes\n @notice A library that defines the IDs of games that can be played."},"fullyImplemented":true,"linearizedBaseContracts":[48411],"name":"GameTypes","nameLocation":"839:9:34","scope":48468,"usedErrors":[],"usedEvents":[]},{"id":48445,"nodeType":"ContractDefinition","src":"1499:503:34","nodes":[{"id":48420,"nodeType":"VariableDeclaration","src":"1599:51:34","nodes":[],"constant":true,"documentation":{"id":48413,"nodeType":"StructuredDocumentation","src":"1524:70:34","text":"@notice The VM has executed successfully and the outcome is valid."},"mutability":"constant","name":"VALID","nameLocation":"1626:5:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48415,"nodeType":"UserDefinedTypeName","pathNode":{"id":48414,"name":"VMStatus","nameLocations":["1599:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1599:8:34"},"referencedDeclaration":48334,"src":"1599:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"30","id":48418,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1648:1:34","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":48416,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1634:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48417,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1643:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1634:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48419,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1634:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48428,"nodeType":"VariableDeclaration","src":"1734:53:34","nodes":[],"constant":true,"documentation":{"id":48421,"nodeType":"StructuredDocumentation","src":"1657:72:34","text":"@notice The VM has executed successfully and the outcome is invalid."},"mutability":"constant","name":"INVALID","nameLocation":"1761:7:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48423,"nodeType":"UserDefinedTypeName","pathNode":{"id":48422,"name":"VMStatus","nameLocations":["1734:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1734:8:34"},"referencedDeclaration":48334,"src":"1734:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"31","id":48426,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1785:1:34","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":48424,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1771:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48425,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1780:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1771:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48427,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1771:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48436,"nodeType":"VariableDeclaration","src":"1830:51:34","nodes":[],"constant":true,"documentation":{"id":48429,"nodeType":"StructuredDocumentation","src":"1794:31:34","text":"@notice The VM has paniced."},"mutability":"constant","name":"PANIC","nameLocation":"1857:5:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48431,"nodeType":"UserDefinedTypeName","pathNode":{"id":48430,"name":"VMStatus","nameLocations":["1830:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1830:8:34"},"referencedDeclaration":48334,"src":"1830:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"32","id":48434,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1879:1:34","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":48432,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1865:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48433,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1874:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1865:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48435,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1865:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"},{"id":48444,"nodeType":"VariableDeclaration","src":"1943:56:34","nodes":[],"constant":true,"documentation":{"id":48437,"nodeType":"StructuredDocumentation","src":"1888:50:34","text":"@notice The VM execution is still in progress."},"mutability":"constant","name":"UNFINISHED","nameLocation":"1970:10:34","scope":48445,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"},"typeName":{"id":48439,"nodeType":"UserDefinedTypeName","pathNode":{"id":48438,"name":"VMStatus","nameLocations":["1943:8:34"],"nodeType":"IdentifierPath","referencedDeclaration":48334,"src":"1943:8:34"},"referencedDeclaration":48334,"src":"1943:8:34","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"value":{"arguments":[{"hexValue":"33","id":48442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1997:1:34","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":48440,"name":"VMStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":48334,"src":"1983:8:34","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"type(VMStatus)"}},"id":48441,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1992:4:34","memberName":"wrap","nodeType":"MemberAccess","src":"1983:13:34","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_uint8_$returns$_t_userDefinedValueType$_VMStatus_$48334_$","typeString":"function (uint8) pure returns (VMStatus)"}},"id":48443,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1983:16:34","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_VMStatus_$48334","typeString":"VMStatus"}},"visibility":"internal"}],"abstract":false,"baseContracts":[],"canonicalName":"VMStatuses","contractDependencies":[],"contractKind":"library","documentation":{"id":48412,"nodeType":"StructuredDocumentation","src":"1407:92:34","text":"@title VMStatuses\n @notice Named type aliases for the various valid VM status bytes."},"fullyImplemented":true,"linearizedBaseContracts":[48445],"name":"VMStatuses","nameLocation":"1507:10:34","scope":48468,"usedErrors":[],"usedEvents":[]},{"id":48467,"nodeType":"ContractDefinition","src":"2107:600:34","nodes":[{"id":48450,"nodeType":"VariableDeclaration","src":"2191:45:34","nodes":[],"constant":true,"documentation":{"id":48447,"nodeType":"StructuredDocumentation","src":"2138:48:34","text":"@notice The identifier for the L1 head hash."},"mutability":"constant","name":"L1_HEAD_HASH","nameLocation":"2217:12:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48448,"name":"uint256","nodeType":"ElementaryTypeName","src":"2191:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783031","id":48449,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2232:4:34","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"0x01"},"visibility":"internal"},{"id":48454,"nodeType":"VariableDeclaration","src":"2304:53:34","nodes":[],"constant":true,"documentation":{"id":48451,"nodeType":"StructuredDocumentation","src":"2243:56:34","text":"@notice The identifier for the starting output root."},"mutability":"constant","name":"STARTING_OUTPUT_ROOT","nameLocation":"2330:20:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48452,"name":"uint256","nodeType":"ElementaryTypeName","src":"2304:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783032","id":48453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2353:4:34","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"0x02"},"visibility":"internal"},{"id":48458,"nodeType":"VariableDeclaration","src":"2425:53:34","nodes":[],"constant":true,"documentation":{"id":48455,"nodeType":"StructuredDocumentation","src":"2364:56:34","text":"@notice The identifier for the disputed output root."},"mutability":"constant","name":"DISPUTED_OUTPUT_ROOT","nameLocation":"2451:20:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48456,"name":"uint256","nodeType":"ElementaryTypeName","src":"2425:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783033","id":48457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2474:4:34","typeDescriptions":{"typeIdentifier":"t_rational_3_by_1","typeString":"int_const 3"},"value":"0x03"},"visibility":"internal"},{"id":48462,"nodeType":"VariableDeclaration","src":"2550:57:34","nodes":[],"constant":true,"documentation":{"id":48459,"nodeType":"StructuredDocumentation","src":"2485:60:34","text":"@notice The identifier for the disputed L2 block number."},"mutability":"constant","name":"DISPUTED_L2_BLOCK_NUMBER","nameLocation":"2576:24:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48460,"name":"uint256","nodeType":"ElementaryTypeName","src":"2550:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783034","id":48461,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2603:4:34","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"0x04"},"visibility":"internal"},{"id":48466,"nodeType":"VariableDeclaration","src":"2663:41:34","nodes":[],"constant":true,"documentation":{"id":48463,"nodeType":"StructuredDocumentation","src":"2614:44:34","text":"@notice The identifier for the chain ID."},"mutability":"constant","name":"CHAIN_ID","nameLocation":"2689:8:34","scope":48467,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":48464,"name":"uint256","nodeType":"ElementaryTypeName","src":"2663:7:34","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"30783035","id":48465,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2700:4:34","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":48446,"nodeType":"StructuredDocumentation","src":"2004:103:34","text":"@title LocalPreimageKey\n @notice Named type aliases for local `PreimageOracle` key identifiers."},"fullyImplemented":true,"linearizedBaseContracts":[48467],"name":"LocalPreimageKey","nameLocation":"2115:16:34","scope":48468,"usedErrors":[],"usedEvents":[]}],"license":"MIT"},"id":34}
{"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}
{
"name": "@eth-optimism/contracts-bedrock",
"version": "0.0.0-develop-20240529000829",
"version": "0.0.0-develop-20240529005706",
"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

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