{"abi":[{"type":"constructor","inputs":[{"name":"_disputeGameFactory","type":"address","internalType":"contract IDisputeGameFactory"}],"stateMutability":"nonpayable"},{"type":"function","name":"anchors","inputs":[{"name":"","type":"uint32","internalType":"GameType"}],"outputs":[{"name":"root","type":"bytes32","internalType":"Hash"},{"name":"l2BlockNumber","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"disputeGameFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDisputeGameFactory"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"_startingAnchorRoots","type":"tuple[]","internalType":"struct AnchorStateRegistry.StartingAnchorRoot[]","components":[{"name":"gameType","type":"uint32","internalType":"GameType"},{"name":"outputRoot","type":"tuple","internalType":"struct OutputRoot","components":[{"name":"root","type":"bytes32","internalType":"Hash"},{"name":"l2BlockNumber","type":"uint256","internalType":"uint256"}]}]},{"name":"_superchainConfig","type":"address","internalType":"contract SuperchainConfig"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAnchorState","inputs":[{"name":"_game","type":"address","internalType":"contract IFaultDisputeGame"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"superchainConfig","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract SuperchainConfig"}],"stateMutability":"view"},{"type":"function","name":"tryUpdateAnchorState","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"error","name":"InvalidGameStatus","inputs":[]},{"type":"error","name":"Unauthorized","inputs":[]},{"type":"error","name":"UnregisteredGame","inputs":[]}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b506040516111d73803806111d783398101604081905261002f9161010a565b6001600160a01b03811660805261004461004a565b5061013a565b600054610100900460ff16156100b65760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015610108576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011c57600080fd5b81516001600160a01b038116811461013357600080fd5b9392505050565b608051611074610163600039600081816101830152818161033c01526108f801526110746000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80635e05fbd01161005b5780635e05fbd01461012a5780637258a8071461013d578063838c2d1e14610179578063f2b4e6171461018157600080fd5b806317cf21a91461008257806335e80ab31461009757806354fd4d50146100e1575b600080fd5b610095610090366004610b4c565b6101a7565b005b6002546100b79073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6040518060400160405280600581526020017f322e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100d89190610bea565b610095610138366004610cc6565b61061c565b61016461014b366004610df0565b6001602081905260009182526040909120805491015482565b604080519283526020830191909152016100d8565b610095610853565b7f00000000000000000000000000000000000000000000000000000000000000006100b7565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610214573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102389190610e0d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461029c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103329190810190610e2a565b92509250925060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635f0150cb8585856040518463ffffffff1660e01b815260040161039793929190610efb565b6040805180830381865afa1580156103b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d79190610f29565b5090508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461043f576040517f6b0f689100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028573ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b09190610f9f565b60028111156104c1576104c1610f70565b146104f8576040517f8f8af25f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180604001604052806105788773ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105759190610fc0565b90565b81526020018673ffffffffffffffffffffffffffffffffffffffff16638b85902b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec9190610fc0565b905263ffffffff909416600090815260016020818152604090922086518155959091015194019390935550505050565b600054610100900460ff161580801561063c5750600054600160ff909116105b806106565750303b158015610656575060005460ff166001145b6106e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561074457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b60005b83518110156107aa57600084828151811061076457610764610fd9565b60209081029190910181015180820151905163ffffffff1660009081526001808452604090912082518155919092015191015550806107a281611008565b915050610747565b50600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055801561084e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600033905060008060008373ffffffffffffffffffffffffffffffffffffffff1663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108ee9190810190610e2a565b92509250925060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635f0150cb8585856040518463ffffffff1660e01b815260040161095393929190610efb565b6040805180830381865afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190610f29565b5090508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109fb576040517f6b0f689100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160008563ffffffff1663ffffffff168152602001908152602001600020600101548573ffffffffffffffffffffffffffffffffffffffff16638b85902b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8d9190610fc0565b11610a99575050505050565b60028573ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0a9190610f9f565b6002811115610b1b57610b1b610f70565b146104f8575050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b4957600080fd5b50565b600060208284031215610b5e57600080fd5b8135610b6981610b27565b9392505050565b60005b83811015610b8b578181015183820152602001610b73565b83811115610b9a576000848401525b50505050565b60008151808452610bb8816020860160208601610b70565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b696020830184610ba0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610c4f57610c4f610bfd565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610c9c57610c9c610bfd565b604052919050565b63ffffffff81168114610b4957600080fd5b8035610cc181610b27565b919050565b6000806040808486031215610cda57600080fd5b833567ffffffffffffffff80821115610cf257600080fd5b818601915086601f830112610d0657600080fd5b8135602082821115610d1a57610d1a610bfd565b610d28818360051b01610c55565b8281528181019350606092830285018201928a841115610d4757600080fd5b948201945b83861015610dd457858b0381811215610d655760008081fd5b610d6d610c2c565b8735610d7881610ca4565b81527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201891315610daa5760008081fd5b610db2610c2c565b8886013581528989013586820152818601528652509485019493820193610d4c565b509650610de2888201610cb6565b955050505050509250929050565b600060208284031215610e0257600080fd5b8135610b6981610ca4565b600060208284031215610e1f57600080fd5b8151610b6981610b27565b600080600060608486031215610e3f57600080fd5b8351610e4a81610ca4565b60208501516040860151919450925067ffffffffffffffff80821115610e6f57600080fd5b818601915086601f830112610e8357600080fd5b815181811115610e9557610e95610bfd565b610ec660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610c55565b9150808252876020828501011115610edd57600080fd5b610eee816020840160208601610b70565b5080925050509250925092565b63ffffffff84168152826020820152606060408201526000610f206060830184610ba0565b95945050505050565b60008060408385031215610f3c57600080fd5b8251610f4781610b27565b602084015190925067ffffffffffffffff81168114610f6557600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610fb157600080fd5b815160038110610b6957600080fd5b600060208284031215610fd257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611060577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c634300080f000a","sourceMap":"1269:3939:184:-:0;;;1998:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2061:42:184;;;;2113:22;:20;:22::i;:::-;1998:144;1269:3939;;5366:279:48;5434:13;;;;;;;5433:14;5425:66;;;;-1:-1:-1;;;5425:66:48;;541:2:416;5425:66:48;;;523:21:416;580:2;560:18;;;553:30;619:34;599:18;;;592:62;-1:-1:-1;;;670:18:416;;;663:37;717:19;;5425:66:48;;;;;;;;5505:12;;5520:15;5505:12;;;:30;5501:138;;;5551:12;:30;;-1:-1:-1;;5551:30:48;5566:15;5551:30;;;;;;5600:28;;889:36:416;;;5600:28:48;;877:2:416;862:18;5600:28:48;;;;;;;5501:138;5366:279::o;14:320:416:-;114:6;167:2;155:9;146:7;142:23;138:32;135:52;;;183:1;180;173:12;135:52;209:16;;-1:-1:-1;;;;;254:31:416;;244:42;;234:70;;300:1;297;290:12;234:70;323:5;14:320;-1:-1:-1;;;14:320:416:o;747:184::-;1269:3939:184;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80635e05fbd01161005b5780635e05fbd01461012a5780637258a8071461013d578063838c2d1e14610179578063f2b4e6171461018157600080fd5b806317cf21a91461008257806335e80ab31461009757806354fd4d50146100e1575b600080fd5b610095610090366004610b4c565b6101a7565b005b6002546100b79073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b61011d6040518060400160405280600581526020017f322e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100d89190610bea565b610095610138366004610cc6565b61061c565b61016461014b366004610df0565b6001602081905260009182526040909120805491015482565b604080519283526020830191909152016100d8565b610095610853565b7f00000000000000000000000000000000000000000000000000000000000000006100b7565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610214573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102389190610e0d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461029c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103329190810190610e2a565b92509250925060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635f0150cb8585856040518463ffffffff1660e01b815260040161039793929190610efb565b6040805180830381865afa1580156103b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d79190610f29565b5090508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461043f576040517f6b0f689100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028573ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa15801561048c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b09190610f9f565b60028111156104c1576104c1610f70565b146104f8576040517f8f8af25f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405180604001604052806105788773ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105759190610fc0565b90565b81526020018673ffffffffffffffffffffffffffffffffffffffff16638b85902b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ec9190610fc0565b905263ffffffff909416600090815260016020818152604090922086518155959091015194019390935550505050565b600054610100900460ff161580801561063c5750600054600160ff909116105b806106565750303b158015610656575060005460ff166001145b6106e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840160405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561074457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b60005b83518110156107aa57600084828151811061076457610764610fd9565b60209081029190910181015180820151905163ffffffff1660009081526001808452604090912082518155919092015191015550806107a281611008565b915050610747565b50600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416179055801561084e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b600033905060008060008373ffffffffffffffffffffffffffffffffffffffff1663fa24f7436040518163ffffffff1660e01b8152600401600060405180830381865afa1580156108a8573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108ee9190810190610e2a565b92509250925060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635f0150cb8585856040518463ffffffff1660e01b815260040161095393929190610efb565b6040805180830381865afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190610f29565b5090508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109fb576040517f6b0f689100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160008563ffffffff1663ffffffff168152602001908152602001600020600101548573ffffffffffffffffffffffffffffffffffffffff16638b85902b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8d9190610fc0565b11610a99575050505050565b60028573ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0a9190610f9f565b6002811115610b1b57610b1b610f70565b146104f8575050505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b4957600080fd5b50565b600060208284031215610b5e57600080fd5b8135610b6981610b27565b9392505050565b60005b83811015610b8b578181015183820152602001610b73565b83811115610b9a576000848401525b50505050565b60008151808452610bb8816020860160208601610b70565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b696020830184610ba0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610c4f57610c4f610bfd565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610c9c57610c9c610bfd565b604052919050565b63ffffffff81168114610b4957600080fd5b8035610cc181610b27565b919050565b6000806040808486031215610cda57600080fd5b833567ffffffffffffffff80821115610cf257600080fd5b818601915086601f830112610d0657600080fd5b8135602082821115610d1a57610d1a610bfd565b610d28818360051b01610c55565b8281528181019350606092830285018201928a841115610d4757600080fd5b948201945b83861015610dd457858b0381811215610d655760008081fd5b610d6d610c2c565b8735610d7881610ca4565b81527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08201891315610daa5760008081fd5b610db2610c2c565b8886013581528989013586820152818601528652509485019493820193610d4c565b509650610de2888201610cb6565b955050505050509250929050565b600060208284031215610e0257600080fd5b8135610b6981610ca4565b600060208284031215610e1f57600080fd5b8151610b6981610b27565b600080600060608486031215610e3f57600080fd5b8351610e4a81610ca4565b60208501516040860151919450925067ffffffffffffffff80821115610e6f57600080fd5b818601915086601f830112610e8357600080fd5b815181811115610e9557610e95610bfd565b610ec660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610c55565b9150808252876020828501011115610edd57600080fd5b610eee816020840160208601610b70565b5080925050509250925092565b63ffffffff84168152826020820152606060408201526000610f206060830184610ba0565b95945050505050565b60008060408385031215610f3c57600080fd5b8251610f4781610b27565b602084015190925067ffffffffffffffff81168114610f6557600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215610fb157600080fd5b815160038110610b6957600080fd5b600060208284031215610fd257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611060577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c634300080f000a","sourceMap":"1269:3939:184:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4206:1000;;;;;;:::i;:::-;;:::i;:::-;;1888:40;;;;;;;;;;;;693:42:416;681:55;;;663:74;;651:2;636:18;1888:40:184;;;;;;;;1579;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2340:464::-;;;;;;:::i;:::-;;:::i;1777:46::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;5054:25:416;;;5110:2;5095:18;;5088:34;;;;5027:18;1777:46:184;4853:275:416;3016:1143:184;;;:::i;2851:118::-;2942:20;2851:118;;4206:1000;4292:16;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4278:41;;:10;:41;;;4274:68;;4328:14;;;;;;;;;;;;;;4274:68;4395:17;4414:15;4431:22;4457:5;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4394:79;;;;;;4609:34;4660:20;:26;;;4700:8;4722:9;4745;4660:97;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4608:149;;;4847:5;4805:48;;4813:21;4805:48;;;4801:79;;4862:18;;;;;;;;;;;;;;4801:79;4980:24;4962:5;:12;;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;;;;;;;;:::i;:::-;;4958:74;;5013:19;;;;;;;;;;;;;;4958:74;5105:94;;;;;;;;5172:23;:5;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5331:6:198;5222:131;5172:23:184;5105:94;;;;5133:5;:19;;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5105:94;;5073:17;;;;;;;;:7;:17;;;;;;;;:126;;;;;;;;;;;;;;;-1:-1:-1;;;;4206:1000:184:o;2340:464::-;3100:19:48;3123:13;;;;;;3122:14;;3168:34;;;;-1:-1:-1;3186:12:48;;3201:1;3186:12;;;;:16;3168:34;3167:97;;;-1:-1:-1;3236:4:48;1465:19:64;:23;;;3208:55:48;;-1:-1:-1;3246:12:48;;;;;:17;3208:55;3146:190;;;;;;;8731:2:416;3146:190:48;;;8713:21:416;8770:2;8750:18;;;8743:30;8809:34;8789:18;;;8782:62;8880:16;8860:18;;;8853:44;8914:19;;3146:190:48;;;;;;;;3346:12;:16;;;;3361:1;3346:16;;;3372:65;;;;3406:13;:20;;;;;;;;3372:65;2522:9:184::1;2517:235;2541:20;:27;2537:1;:31;2517:235;;;2589:44;2636:20;2657:1;2636:23;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;2712:29;;::::1;::::0;2681:27;;2673:36:::1;;;::::0;;;:7:::1;:36:::0;;;;;;;:68;;;;;;;::::1;::::0;;::::1;::::0;-1:-1:-1;2570:3:184;::::1;::::0;::::1;:::i;:::-;;;;2517:235;;;-1:-1:-1::0;2761:16:184::1;:36:::0;;;::::1;;::::0;::::1;;::::0;;3457:99:48;;;;3507:5;3491:21;;;;;;3531:14;;-1:-1:-1;9639:36:416;;3531:14:48;;9627:2:416;9612:18;3531:14:48;;;;;;;3457:99;3090:472;2340:464:184;;:::o;3016:1143::-;3107:22;3150:10;3107:54;;3172:17;3191:15;3208:22;3234:4;:13;;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3171:78;;;;;;3385:34;3436:20;:26;;;3476:8;3498:9;3521;3436:97;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3384:149;;;3623:4;3581:47;;3589:21;3581:47;;;3577:78;;3637:18;;;;;;;;;;;;;;3577:78;3770:7;:17;3778:8;3770:17;;;;;;;;;;;;;;;:31;;;3746:4;:18;;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:55;3742:92;;3817:7;;;;;3016:1143::o;3742:92::-;3928:24;3911:4;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:41;;;;;;;;:::i;:::-;;3907:78;;3968:7;;;;;3016:1143::o;14:173:416:-;119:42;112:5;108:54;101:5;98:65;88:93;;177:1;174;167:12;88:93;14:173;:::o;192:294::-;279:6;332:2;320:9;311:7;307:23;303:32;300:52;;;348:1;345;338:12;300:52;387:9;374:23;406:50;450:5;406:50;:::i;:::-;475:5;192:294;-1:-1:-1;;;192:294:416:o;748:258::-;820:1;830:113;844:6;841:1;838:13;830:113;;;920:11;;;914:18;901:11;;;894:39;866:2;859:10;830:113;;;961:6;958:1;955:13;952:48;;;996:1;987:6;982:3;978:16;971:27;952:48;;748:258;;;:::o;1011:317::-;1053:3;1091:5;1085:12;1118:6;1113:3;1106:19;1134:63;1190:6;1183:4;1178:3;1174:14;1167:4;1160:5;1156:16;1134:63;:::i;:::-;1242:2;1230:15;1247:66;1226:88;1217:98;;;;1317:4;1213:109;;1011:317;-1:-1:-1;;1011:317:416:o;1333:220::-;1482:2;1471:9;1464:21;1445:4;1502:45;1543:2;1532:9;1528:18;1520:6;1502:45;:::i;1558:184::-;1610:77;1607:1;1600:88;1707:4;1704:1;1697:15;1731:4;1728:1;1721:15;1747:251;1819:2;1813:9;;;1849:15;;1894:18;1879:34;;1915:22;;;1876:62;1873:88;;;1941:18;;:::i;:::-;1977:2;1970:22;1747:251;:::o;2003:334::-;2074:2;2068:9;2130:2;2120:13;;2135:66;2116:86;2104:99;;2233:18;2218:34;;2254:22;;;2215:62;2212:88;;;2280:18;;:::i;:::-;2316:2;2309:22;2003:334;;-1:-1:-1;2003:334:416:o;2342:144::-;2450:10;2443:5;2439:22;2432:5;2429:33;2419:61;;2476:1;2473;2466:12;2491:171;2577:20;;2606:50;2577:20;2606:50;:::i;:::-;2491:171;;;:::o;2667:1876::-;2824:6;2832;2863:2;2906;2894:9;2885:7;2881:23;2877:32;2874:52;;;2922:1;2919;2912:12;2874:52;2962:9;2949:23;2991:18;3032:2;3024:6;3021:14;3018:34;;;3048:1;3045;3038:12;3018:34;3086:6;3075:9;3071:22;3061:32;;3131:7;3124:4;3120:2;3116:13;3112:27;3102:55;;3153:1;3150;3143:12;3102:55;3189:2;3176:16;3211:4;3234:2;3230;3227:10;3224:36;;;3240:18;;:::i;:::-;3280:36;3312:2;3307;3304:1;3300:10;3296:19;3280:36;:::i;:::-;3350:15;;;3381:12;;;;-1:-1:-1;3412:4:416;3451:11;;;3443:20;;3439:29;;;3480:19;;;3477:39;;;3512:1;3509;3502:12;3477:39;3536:11;;;;3556:882;3572:6;3567:3;3564:15;3556:882;;;3649:3;3640:7;3636:17;3677:2;3673;3669:11;3666:101;;;3721:1;3750:2;3746;3739:14;3666:101;3793:22;;:::i;:::-;3856:3;3843:17;3873:55;3920:7;3873:55;:::i;:::-;3941:22;;3991:66;3983:75;;3979:84;-1:-1:-1;3976:174:416;;;4104:1;4133:2;4129;4122:14;3976:174;4178:22;;:::i;:::-;4242:12;;;4229:26;4213:43;;4307:12;;;4294:26;4276:16;;;4269:52;4341:14;;;4334:31;4378:18;;-1:-1:-1;3589:12:416;;;;4416;;;;3556:882;;;-1:-1:-1;4457:5:416;-1:-1:-1;4481:56:416;4518:18;;;4481:56;:::i;:::-;4471:66;;;;;;;2667:1876;;;;;:::o;4548:300::-;4638:6;4691:2;4679:9;4670:7;4666:23;4662:32;4659:52;;;4707:1;4704;4697:12;4659:52;4746:9;4733:23;4765:53;4812:5;4765:53;:::i;5394:270::-;5464:6;5517:2;5505:9;5496:7;5492:23;5488:32;5485:52;;;5533:1;5530;5523:12;5485:52;5565:9;5559:16;5584:50;5628:5;5584:50;:::i;5669:1034::-;5825:6;5833;5841;5894:2;5882:9;5873:7;5869:23;5865:32;5862:52;;;5910:1;5907;5900:12;5862:52;5942:9;5936:16;5961:53;6008:5;5961:53;:::i;:::-;6078:2;6063:18;;6057:25;6126:2;6111:18;;6105:25;6033:5;;-1:-1:-1;6057:25:416;-1:-1:-1;6149:18:416;6179:14;;;6176:34;;;6206:1;6203;6196:12;6176:34;6244:6;6233:9;6229:22;6219:32;;6289:7;6282:4;6278:2;6274:13;6270:27;6260:55;;6311:1;6308;6301:12;6260:55;6340:2;6334:9;6362:2;6358;6355:10;6352:36;;;6368:18;;:::i;:::-;6410:112;6518:2;6449:66;6442:4;6438:2;6434:13;6430:86;6426:95;6410:112;:::i;:::-;6397:125;;6545:2;6538:5;6531:17;6585:7;6580:2;6575;6571;6567:11;6563:20;6560:33;6557:53;;;6606:1;6603;6596:12;6557:53;6619:54;6670:2;6665;6658:5;6654:14;6649:2;6645;6641:11;6619:54;:::i;:::-;;6692:5;6682:15;;;;5669:1034;;;;;:::o;6708:435::-;6981:10;6973:6;6969:23;6958:9;6951:42;7029:6;7024:2;7013:9;7009:18;7002:34;7072:2;7067;7056:9;7052:18;7045:30;6932:4;7092:45;7133:2;7122:9;7118:18;7110:6;7092:45;:::i;:::-;7084:53;6708:435;-1:-1:-1;;;;;6708:435:416:o;7148:499::-;7282:6;7290;7343:2;7331:9;7322:7;7318:23;7314:32;7311:52;;;7359:1;7356;7349:12;7311:52;7391:9;7385:16;7410:50;7454:5;7410:50;:::i;:::-;7529:2;7514:18;;7508:25;7479:5;;-1:-1:-1;7577:18:416;7564:32;;7552:45;;7542:73;;7611:1;7608;7601:12;7542:73;7634:7;7624:17;;;7148:499;;;;;:::o;7652:184::-;7704:77;7701:1;7694:88;7801:4;7798:1;7791:15;7825:4;7822:1;7815:15;7841:277;7928:6;7981:2;7969:9;7960:7;7956:23;7952:32;7949:52;;;7997:1;7994;7987:12;7949:52;8029:9;8023:16;8068:1;8061:5;8058:12;8048:40;;8084:1;8081;8074:12;8123:212;8221:6;8274:2;8262:9;8253:7;8249:23;8245:32;8242:52;;;8290:1;8287;8280:12;8242:52;-1:-1:-1;8313:16:416;;8123:212;-1:-1:-1;8123:212:416:o;8944:184::-;8996:77;8993:1;8986:88;9093:4;9090:1;9083:15;9117:4;9114:1;9107:15;9133:349;9172:3;9203:66;9196:5;9193:77;9190:257;;9303:77;9300:1;9293:88;9404:4;9401:1;9394:15;9432:4;9429:1;9422:15;9190:257;-1:-1:-1;9474:1:416;9463:13;;9133:349::o","linkReferences":{},"immutableReferences":{"105752":[{"start":387,"length":32},{"start":828,"length":32},{"start":2296,"length":32}]}},"methodIdentifiers":{"anchors(uint32)":"7258a807","disputeGameFactory()":"f2b4e617","initialize((uint32,(bytes32,uint256))[],address)":"5e05fbd0","setAnchorState(address)":"17cf21a9","superchainConfig()":"35e80ab3","tryUpdateAnchorState()":"838c2d1e","version()":"54fd4d50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IDisputeGameFactory\",\"name\":\"_disputeGameFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidGameStatus\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Unauthorized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnregisteredGame\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"GameType\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"anchors\",\"outputs\":[{\"internalType\":\"Hash\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"l2BlockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"disputeGameFactory\",\"outputs\":[{\"internalType\":\"contract IDisputeGameFactory\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"GameType\",\"name\":\"gameType\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"Hash\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"l2BlockNumber\",\"type\":\"uint256\"}],\"internalType\":\"struct OutputRoot\",\"name\":\"outputRoot\",\"type\":\"tuple\"}],\"internalType\":\"struct AnchorStateRegistry.StartingAnchorRoot[]\",\"name\":\"_startingAnchorRoots\",\"type\":\"tuple[]\"},{\"internalType\":\"contract SuperchainConfig\",\"name\":\"_superchainConfig\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IFaultDisputeGame\",\"name\":\"_game\",\"type\":\"address\"}],\"name\":\"setAnchorState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"superchainConfig\",\"outputs\":[{\"internalType\":\"contract SuperchainConfig\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tryUpdateAnchorState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"_disputeGameFactory\":\"DisputeGameFactory address.\"}},\"disputeGameFactory()\":{\"returns\":{\"_0\":\"DisputeGameFactory address.\"}},\"initialize((uint32,(bytes32,uint256))[],address)\":{\"params\":{\"_startingAnchorRoots\":\"An array of starting anchor roots.\",\"_superchainConfig\":\"The address of the SuperchainConfig contract.\"}},\"setAnchorState(address)\":{\"params\":{\"_game\":\"The game to set the anchor state for.\"}}},\"stateVariables\":{\"anchors\":{\"params\":{\"_gameType\":\"The game type to get the anchor state for.\"},\"return\":\"root The anchor state for the given game type.\",\"returns\":{\"root\":\"The anchor state for the given game type.\"}},\"version\":{\"custom:semver\":\"2.0.0\"}},\"title\":\"AnchorStateRegistry\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidGameStatus()\":[{\"notice\":\"Thrown when attempting to set an anchor state using an invalid game result.\"}],\"Unauthorized()\":[{\"notice\":\"Error for an unauthorized CALLER.\"}],\"UnregisteredGame()\":[{\"notice\":\"Thrown when attempting to set an anchor state using an unregistered game.\"}]},\"kind\":\"user\",\"methods\":{\"anchors(uint32)\":{\"notice\":\"Returns the anchor state for the given game type.\"},\"disputeGameFactory()\":{\"notice\":\"Returns the DisputeGameFactory address.\"},\"initialize((uint32,(bytes32,uint256))[],address)\":{\"notice\":\"Initializes the contract.\"},\"setAnchorState(address)\":{\"notice\":\"Sets the anchor state given the game.\"},\"superchainConfig()\":{\"notice\":\"Address of the SuperchainConfig contract.\"},\"tryUpdateAnchorState()\":{\"notice\":\"Callable by FaultDisputeGame contracts to update the anchor state. Pulls the anchor state directly from         the FaultDisputeGame contract and stores it in the registry if the new anchor state is valid and the         state is newer than the current anchor state.\"},\"version()\":{\"notice\":\"Semantic version.\"}},\"notice\":\"The AnchorStateRegistry is a contract that stores the latest \\\"anchor\\\" state for each available         FaultDisputeGame type. The anchor state is the latest state that has been proposed on L1 and was not         challenged within the challenge period. By using stored anchor states, new FaultDisputeGame instances can         be initialized with a more recent starting state which reduces the amount of required offchain computation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/dispute/AnchorStateRegistry.sol\":\"AnchorStateRegistry\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f\",\"dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487\",\"dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG\"]},\"src/L1/SuperchainConfig.sol\":{\"keccak256\":\"0x5fab874f980fe3e52c3398ddd25b655c56af0c98c15588b2ad9ebf30671d859d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0aa613d38eceb621f8569fc714f521bc1f2df3d029552186ab3cdf2ee5d53f\",\"dweb:/ipfs/QmZDzFxhTXLW79eohQbr1nghNh3oNC4CUfH7uMX8CsjVAB\"]},\"src/dispute/AnchorStateRegistry.sol\":{\"keccak256\":\"0xbdd7110fd78fab6df668e4cae3228c873eebe31c98741994508c52bda28a2073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09fa7ac7e88171b16d5ec02b94be03a4e574aa75f6b79ff1903c444a0726484a\",\"dweb:/ipfs/QmRFEeZJPaNYHaRbZqSRgbf7hEmRqBkC7WuvAxcGT6HM44\"]},\"src/dispute/interfaces/IAnchorStateRegistry.sol\":{\"keccak256\":\"0x54756eef4ee83e2abf35752d2b68b775c5a6d09c425489def39baca81af92739\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b38629f62e2990b8c7b1246d1fd6c87c3bd1aaebf496098cb268a5d0b4037269\",\"dweb:/ipfs/QmbUEix26siwjHaTfUr1PfBoFyZuwYxDTc4udbUGxmAhYs\"]},\"src/dispute/interfaces/IDisputeGame.sol\":{\"keccak256\":\"0xa4d3617892dfee02890ea135e778ed0207aa8545c97cb2a421bae7c1a659baa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e31653e3463dbc3f3b572ca4a1198d9aadc7d8606a2b690a58e2c082a0d0090\",\"dweb:/ipfs/QmdbxJK4T5Hu652cSkxpAjYPxrK1i5ZM62oyopzmAzRn6M\"]},\"src/dispute/interfaces/IDisputeGameFactory.sol\":{\"keccak256\":\"0xcab52326762c570297a6f62addde4e4f9296bba85f2f1470f52a3c64f57c5b41\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40decdf2e72938f55434d300ae5d2a607f1186c8595ff1cc3ce6c3f6d312b701\",\"dweb:/ipfs/QmaQEHn1FPjvinQTNth9vEx84iDEwtg2cVk9bLpnwLyzot\"]},\"src/dispute/interfaces/IFaultDisputeGame.sol\":{\"keccak256\":\"0x9655abdda7d33496f012e5a8bf492c7733573024cc7779dc79fb4553f11e9f0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4f8f0acce831c36385a4b06a5142ddfc2dbe2e7c403193df2585293ef2821c03\",\"dweb:/ipfs/QmR4XJ8rG1aiR7NgyTNbQ4swe8CFWkytudbWiKKMaqiCMH\"]},\"src/dispute/interfaces/IInitializable.sol\":{\"keccak256\":\"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5\",\"dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj\"]},\"src/dispute/lib/Errors.sol\":{\"keccak256\":\"0x59f7adeec32d10de65aa9417424dfc702c3f483a3f34b368924b141bbd33c2f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c47a4eacbbe2a2eaa313c0fe3081af0179d8ae3b2c0859d13a756dd30f930bc\",\"dweb:/ipfs/QmUQuQCdhB1WeRhcHhkVB3fUbPcWxK2V3jtUxSpfNKmgqs\"]},\"src/dispute/lib/LibPosition.sol\":{\"keccak256\":\"0x7c5f19f8f54f06de2ce1c6cdcc5c7af65ac405130a4066cdaf146ca315818241\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06905e5ede94784e32748ad60557cb0b0829089d65430518e7042b80d2f64e2d\",\"dweb:/ipfs/QmeGKMmnFnow2VrRvTSPavCrToqQ3qDpEaR1tVoK6Hzg8K\"]},\"src/dispute/lib/LibUDT.sol\":{\"keccak256\":\"0x02eef648a47889c21c8261101c99a491e8497f9f7d088b66dffa4ded6afd7855\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88001eed40a7dbbc5193d9671e1c05273dce1ab2a95bb866543421d2863ed04e\",\"dweb:/ipfs/QmSNU8mFUFxhVdLBToL8r3v7tpugyvPDbDU4vkc3Xd4omX\"]},\"src/dispute/lib/Types.sol\":{\"keccak256\":\"0x227948243b4be041de133e1adc4b1dd49e9c1f519e4b5ab7f18c5bc9740539b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2584956303586801a4c721ad39db90b8929101594f5bed10d77b28e66b3c11\",\"dweb:/ipfs/QmdoKT3UiTfBY3nBLjKRGJkngS7vq6exVQbuPqo5GwDCM1\"]},\"src/libraries/Storage.sol\":{\"keccak256\":\"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269\",\"dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK\"]},\"src/libraries/errors/CommonErrors.sol\":{\"keccak256\":\"0x2501548990823ff7110f08d4c31276e4375e3e3f5b15643a5e54f4b5d391bf20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dcfab9e2bc0bc905629ea923922b51defe34ae49a6dfcda2e73772c4ebe1b33\",\"dweb:/ipfs/QmcA5rm2kHt9RVnvuhC4vBsrZ5FsicUYVXdaGo5gUJDnUm\"]},\"src/universal/ISemver.sol\":{\"keccak256\":\"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a\",\"dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IDisputeGameFactory","name":"_disputeGameFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InvalidGameStatus"},{"inputs":[],"type":"error","name":"Unauthorized"},{"inputs":[],"type":"error","name":"UnregisteredGame"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"GameType","name":"","type":"uint32"}],"stateMutability":"view","type":"function","name":"anchors","outputs":[{"internalType":"Hash","name":"root","type":"bytes32"},{"internalType":"uint256","name":"l2BlockNumber","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"disputeGameFactory","outputs":[{"internalType":"contract IDisputeGameFactory","name":"","type":"address"}]},{"inputs":[{"internalType":"struct AnchorStateRegistry.StartingAnchorRoot[]","name":"_startingAnchorRoots","type":"tuple[]","components":[{"internalType":"GameType","name":"gameType","type":"uint32"},{"internalType":"struct OutputRoot","name":"outputRoot","type":"tuple","components":[{"internalType":"Hash","name":"root","type":"bytes32"},{"internalType":"uint256","name":"l2BlockNumber","type":"uint256"}]}]},{"internalType":"contract SuperchainConfig","name":"_superchainConfig","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IFaultDisputeGame","name":"_game","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAnchorState"},{"inputs":[],"stateMutability":"view","type":"function","name":"superchainConfig","outputs":[{"internalType":"contract SuperchainConfig","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"tryUpdateAnchorState"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"_disputeGameFactory":"DisputeGameFactory address."}},"disputeGameFactory()":{"returns":{"_0":"DisputeGameFactory address."}},"initialize((uint32,(bytes32,uint256))[],address)":{"params":{"_startingAnchorRoots":"An array of starting anchor roots.","_superchainConfig":"The address of the SuperchainConfig contract."}},"setAnchorState(address)":{"params":{"_game":"The game to set the anchor state for."}}},"version":1},"userdoc":{"kind":"user","methods":{"anchors(uint32)":{"notice":"Returns the anchor state for the given game type."},"disputeGameFactory()":{"notice":"Returns the DisputeGameFactory address."},"initialize((uint32,(bytes32,uint256))[],address)":{"notice":"Initializes the contract."},"setAnchorState(address)":{"notice":"Sets the anchor state given the game."},"superchainConfig()":{"notice":"Address of the SuperchainConfig contract."},"tryUpdateAnchorState()":{"notice":"Callable by FaultDisputeGame contracts to update the anchor state. Pulls the anchor state directly from         the FaultDisputeGame contract and stores it in the registry if the new anchor state is valid and the         state is newer than the current anchor state."},"version()":{"notice":"Semantic version."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/dispute/AnchorStateRegistry.sol":"AnchorStateRegistry"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x2a21b14ff90012878752f230d3ffd5c3405e5938d06c97a7d89c0a64561d0d66","urls":["bzz-raw://3313a8f9bb1f9476857c9050067b31982bf2140b83d84f3bc0cec1f62bbe947f","dweb:/ipfs/Qma17Pk8NRe7aB4UD3jjVxk7nSFaov3eQyv86hcyqkwJRV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0xd6153ce99bcdcce22b124f755e72553295be6abcd63804cfdffceb188b8bef10","urls":["bzz-raw://35c47bece3c03caaa07fab37dd2bb3413bfbca20db7bd9895024390e0a469487","dweb:/ipfs/QmPGWT2x3QHcKxqe6gRmAkdakhbaRgx3DLzcakHz5M4eXG"],"license":"MIT"},"src/L1/SuperchainConfig.sol":{"keccak256":"0x5fab874f980fe3e52c3398ddd25b655c56af0c98c15588b2ad9ebf30671d859d","urls":["bzz-raw://4e0aa613d38eceb621f8569fc714f521bc1f2df3d029552186ab3cdf2ee5d53f","dweb:/ipfs/QmZDzFxhTXLW79eohQbr1nghNh3oNC4CUfH7uMX8CsjVAB"],"license":"MIT"},"src/dispute/AnchorStateRegistry.sol":{"keccak256":"0xbdd7110fd78fab6df668e4cae3228c873eebe31c98741994508c52bda28a2073","urls":["bzz-raw://09fa7ac7e88171b16d5ec02b94be03a4e574aa75f6b79ff1903c444a0726484a","dweb:/ipfs/QmRFEeZJPaNYHaRbZqSRgbf7hEmRqBkC7WuvAxcGT6HM44"],"license":"MIT"},"src/dispute/interfaces/IAnchorStateRegistry.sol":{"keccak256":"0x54756eef4ee83e2abf35752d2b68b775c5a6d09c425489def39baca81af92739","urls":["bzz-raw://b38629f62e2990b8c7b1246d1fd6c87c3bd1aaebf496098cb268a5d0b4037269","dweb:/ipfs/QmbUEix26siwjHaTfUr1PfBoFyZuwYxDTc4udbUGxmAhYs"],"license":"MIT"},"src/dispute/interfaces/IDisputeGame.sol":{"keccak256":"0xa4d3617892dfee02890ea135e778ed0207aa8545c97cb2a421bae7c1a659baa0","urls":["bzz-raw://0e31653e3463dbc3f3b572ca4a1198d9aadc7d8606a2b690a58e2c082a0d0090","dweb:/ipfs/QmdbxJK4T5Hu652cSkxpAjYPxrK1i5ZM62oyopzmAzRn6M"],"license":"MIT"},"src/dispute/interfaces/IDisputeGameFactory.sol":{"keccak256":"0xcab52326762c570297a6f62addde4e4f9296bba85f2f1470f52a3c64f57c5b41","urls":["bzz-raw://40decdf2e72938f55434d300ae5d2a607f1186c8595ff1cc3ce6c3f6d312b701","dweb:/ipfs/QmaQEHn1FPjvinQTNth9vEx84iDEwtg2cVk9bLpnwLyzot"],"license":"MIT"},"src/dispute/interfaces/IFaultDisputeGame.sol":{"keccak256":"0x9655abdda7d33496f012e5a8bf492c7733573024cc7779dc79fb4553f11e9f0a","urls":["bzz-raw://4f8f0acce831c36385a4b06a5142ddfc2dbe2e7c403193df2585293ef2821c03","dweb:/ipfs/QmR4XJ8rG1aiR7NgyTNbQ4swe8CFWkytudbWiKKMaqiCMH"],"license":"MIT"},"src/dispute/interfaces/IInitializable.sol":{"keccak256":"0xbc553af6501a972850a98fc6284943f8e95a5183a7b4f64198c16fca2338c9dc","urls":["bzz-raw://b1f1c422ce4a9e72f0bbdec36434206da4af3a32d38f922acab957942e994ce5","dweb:/ipfs/QmNQGWBceLxx1CKSMLfwTM584q8UCgUpF4rrFe8pdbWYtj"],"license":"MIT"},"src/dispute/lib/Errors.sol":{"keccak256":"0x59f7adeec32d10de65aa9417424dfc702c3f483a3f34b368924b141bbd33c2f4","urls":["bzz-raw://9c47a4eacbbe2a2eaa313c0fe3081af0179d8ae3b2c0859d13a756dd30f930bc","dweb:/ipfs/QmUQuQCdhB1WeRhcHhkVB3fUbPcWxK2V3jtUxSpfNKmgqs"],"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":"0x227948243b4be041de133e1adc4b1dd49e9c1f519e4b5ab7f18c5bc9740539b9","urls":["bzz-raw://ae2584956303586801a4c721ad39db90b8929101594f5bed10d77b28e66b3c11","dweb:/ipfs/QmdoKT3UiTfBY3nBLjKRGJkngS7vq6exVQbuPqo5GwDCM1"],"license":"MIT"},"src/libraries/Storage.sol":{"keccak256":"0x7ce27a05552aa69afa6b2ab6684dfe99f27366cf8ef2046baeb1fb62fff0022f","urls":["bzz-raw://a6a24f3ed56681720707a5ab0372fd67fcb1a4f6fb072c7140cda28bdb70f269","dweb:/ipfs/QmW9uTpUULV4xmP7A7MoBDeDhVfQgmJG5qVUFGtXxWpWWK"],"license":"MIT"},"src/libraries/errors/CommonErrors.sol":{"keccak256":"0x2501548990823ff7110f08d4c31276e4375e3e3f5b15643a5e54f4b5d391bf20","urls":["bzz-raw://1dcfab9e2bc0bc905629ea923922b51defe34ae49a6dfcda2e73772c4ebe1b33","dweb:/ipfs/QmcA5rm2kHt9RVnvuhC4vBsrZ5FsicUYVXdaGo5gUJDnUm"],"license":"MIT"},"src/universal/ISemver.sol":{"keccak256":"0xba34562a8026f59886d2e07d1d58d90b9691d00e0788c6263cef6c22740cab44","urls":["bzz-raw://0826f998632f83c103c3085bf2e872db79a69022b6d2e0444c83a64ca5283c2a","dweb:/ipfs/QmcJ7PNqkAfKqbjFGRordtAg1v9DvcBSKvdTkVvciLyvQR"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":50145,"contract":"src/dispute/AnchorStateRegistry.sol:AnchorStateRegistry","label":"_initialized","offset":0,"slot":"0","type":"t_uint8"},{"astId":50148,"contract":"src/dispute/AnchorStateRegistry.sol:AnchorStateRegistry","label":"_initializing","offset":1,"slot":"0","type":"t_bool"},{"astId":105759,"contract":"src/dispute/AnchorStateRegistry.sol:AnchorStateRegistry","label":"anchors","offset":0,"slot":"1","type":"t_mapping(t_userDefinedValueType(GameType)110588,t_struct(OutputRoot)110614_storage)"},{"astId":105763,"contract":"src/dispute/AnchorStateRegistry.sol:AnchorStateRegistry","label":"superchainConfig","offset":0,"slot":"2","type":"t_contract(SuperchainConfig)94870"}],"types":{"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_contract(SuperchainConfig)94870":{"encoding":"inplace","label":"contract SuperchainConfig","numberOfBytes":"20"},"t_mapping(t_userDefinedValueType(GameType)110588,t_struct(OutputRoot)110614_storage)":{"encoding":"mapping","key":"t_userDefinedValueType(GameType)110588","label":"mapping(GameType => struct OutputRoot)","numberOfBytes":"32","value":"t_struct(OutputRoot)110614_storage"},"t_struct(OutputRoot)110614_storage":{"encoding":"inplace","label":"struct OutputRoot","numberOfBytes":"64","members":[{"astId":110611,"contract":"src/dispute/AnchorStateRegistry.sol:AnchorStateRegistry","label":"root","offset":0,"slot":"0","type":"t_userDefinedValueType(Hash)110543"},{"astId":110613,"contract":"src/dispute/AnchorStateRegistry.sol:AnchorStateRegistry","label":"l2BlockNumber","offset":0,"slot":"1","type":"t_uint256"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint8":{"encoding":"inplace","label":"uint8","numberOfBytes":"1"},"t_userDefinedValueType(GameType)110588":{"encoding":"inplace","label":"GameType","numberOfBytes":"4"},"t_userDefinedValueType(Hash)110543":{"encoding":"inplace","label":"Hash","numberOfBytes":"32"}}},"userdoc":{"version":1,"kind":"user","methods":{"anchors(uint32)":{"notice":"Returns the anchor state for the given game type."},"disputeGameFactory()":{"notice":"Returns the DisputeGameFactory address."},"initialize((uint32,(bytes32,uint256))[],address)":{"notice":"Initializes the contract."},"setAnchorState(address)":{"notice":"Sets the anchor state given the game."},"superchainConfig()":{"notice":"Address of the SuperchainConfig contract."},"tryUpdateAnchorState()":{"notice":"Callable by FaultDisputeGame contracts to update the anchor state. Pulls the anchor state directly from         the FaultDisputeGame contract and stores it in the registry if the new anchor state is valid and the         state is newer than the current anchor state."},"version()":{"notice":"Semantic version."}},"errors":{"InvalidGameStatus()":[{"notice":"Thrown when attempting to set an anchor state using an invalid game result."}],"Unauthorized()":[{"notice":"Error for an unauthorized CALLER."}],"UnregisteredGame()":[{"notice":"Thrown when attempting to set an anchor state using an unregistered game."}]},"notice":"The AnchorStateRegistry is a contract that stores the latest \"anchor\" state for each available         FaultDisputeGame type. The anchor state is the latest state that has been proposed on L1 and was not         challenged within the challenge period. By using stored anchor states, new FaultDisputeGame instances can         be initialized with a more recent starting state which reduces the amount of required offchain computation."},"devdoc":{"version":1,"kind":"dev","methods":{"constructor":{"params":{"_disputeGameFactory":"DisputeGameFactory address."}},"disputeGameFactory()":{"returns":{"_0":"DisputeGameFactory address."}},"initialize((uint32,(bytes32,uint256))[],address)":{"params":{"_startingAnchorRoots":"An array of starting anchor roots.","_superchainConfig":"The address of the SuperchainConfig contract."}},"setAnchorState(address)":{"params":{"_game":"The game to set the anchor state for."}}},"title":"AnchorStateRegistry"},"ast":{"absolutePath":"src/dispute/AnchorStateRegistry.sol","id":106003,"exportedSymbols":{"AnchorStateRegistry":[106002],"Claim":[110496],"Clock":[110404],"Duration":[110528],"GameId":[110458],"GameStatus":[110608],"GameType":[110588],"GameTypes":[110656],"Hash":[110543],"IAnchorStateRegistry":[109410],"IDisputeGame":[109591],"IDisputeGameFactory":[109761],"IFaultDisputeGame":[109898],"ISemver":[122319],"Initializable":[50289],"InvalidGameStatus":[110146],"LibClaim":[110526],"LibClock":[110456],"LibDuration":[110541],"LibGameId":[110494],"LibGameType":[110601],"LibHash":[110556],"LibPosition":[110367],"LibTimestamp":[110571],"LibVMStatus":[110586],"LocalPreimageKey":[110712],"OutputRoot":[110614],"Position":[110154],"SuperchainConfig":[94870],"Timestamp":[110558],"Unauthorized":[114999],"UnregisteredGame":[110143],"VMStatus":[110573],"VMStatuses":[110690]},"nodeType":"SourceUnit","src":"32:5177:184","nodes":[{"id":105710,"nodeType":"PragmaDirective","src":"32:23:184","nodes":[],"literals":["solidity","0.8",".15"]},{"id":105712,"nodeType":"ImportDirective","src":"57:86:184","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":50290,"symbolAliases":[{"foreign":{"id":105711,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50289,"src":"66:13:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105714,"nodeType":"ImportDirective","src":"144:52:184","nodes":[],"absolutePath":"src/universal/ISemver.sol","file":"src/universal/ISemver.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":122320,"symbolAliases":[{"foreign":{"id":105713,"name":"ISemver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122319,"src":"153:7:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105716,"nodeType":"ImportDirective","src":"198:87:184","nodes":[],"absolutePath":"src/dispute/interfaces/IAnchorStateRegistry.sol","file":"src/dispute/interfaces/IAnchorStateRegistry.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":109411,"symbolAliases":[{"foreign":{"id":105715,"name":"IAnchorStateRegistry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109410,"src":"207:20:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105718,"nodeType":"ImportDirective","src":"286:81:184","nodes":[],"absolutePath":"src/dispute/interfaces/IFaultDisputeGame.sol","file":"src/dispute/interfaces/IFaultDisputeGame.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":109899,"symbolAliases":[{"foreign":{"id":105717,"name":"IFaultDisputeGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109898,"src":"295:17:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105720,"nodeType":"ImportDirective","src":"368:71:184","nodes":[],"absolutePath":"src/dispute/interfaces/IDisputeGame.sol","file":"src/dispute/interfaces/IDisputeGame.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":109592,"symbolAliases":[{"foreign":{"id":105719,"name":"IDisputeGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109591,"src":"377:12:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105722,"nodeType":"ImportDirective","src":"440:85:184","nodes":[],"absolutePath":"src/dispute/interfaces/IDisputeGameFactory.sol","file":"src/dispute/interfaces/IDisputeGameFactory.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":109762,"symbolAliases":[{"foreign":{"id":105721,"name":"IDisputeGameFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109761,"src":"449:19:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105724,"nodeType":"ImportDirective","src":"526:63:184","nodes":[],"absolutePath":"src/L1/SuperchainConfig.sol","file":"src/L1/SuperchainConfig.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":94871,"symbolAliases":[{"foreign":{"id":105723,"name":"SuperchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94870,"src":"535:16:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105725,"nodeType":"ImportDirective","src":"591:35:184","nodes":[],"absolutePath":"src/dispute/lib/Types.sol","file":"src/dispute/lib/Types.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":110713,"symbolAliases":[],"unitAlias":""},{"id":105727,"nodeType":"ImportDirective","src":"627:69:184","nodes":[],"absolutePath":"src/libraries/errors/CommonErrors.sol","file":"src/libraries/errors/CommonErrors.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":115009,"symbolAliases":[{"foreign":{"id":105726,"name":"Unauthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114999,"src":"636:12:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":105730,"nodeType":"ImportDirective","src":"697:81:184","nodes":[],"absolutePath":"src/dispute/lib/Errors.sol","file":"src/dispute/lib/Errors.sol","nameLocation":"-1:-1:-1","scope":106003,"sourceUnit":110147,"symbolAliases":[{"foreign":{"id":105728,"name":"UnregisteredGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110143,"src":"706:16:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":105729,"name":"InvalidGameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110146,"src":"724:17:184","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":106002,"nodeType":"ContractDefinition","src":"1269:3939:184","nodes":[{"id":105744,"nodeType":"StructDefinition","src":"1419:91:184","nodes":[],"canonicalName":"AnchorStateRegistry.StartingAnchorRoot","members":[{"constant":false,"id":105740,"mutability":"mutable","name":"gameType","nameLocation":"1464:8:184","nodeType":"VariableDeclaration","scope":105744,"src":"1455:17:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":105739,"nodeType":"UserDefinedTypeName","pathNode":{"id":105738,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"1455:8:184"},"referencedDeclaration":110588,"src":"1455:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":105743,"mutability":"mutable","name":"outputRoot","nameLocation":"1493:10:184","nodeType":"VariableDeclaration","scope":105744,"src":"1482:21:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage_ptr","typeString":"struct OutputRoot"},"typeName":{"id":105742,"nodeType":"UserDefinedTypeName","pathNode":{"id":105741,"name":"OutputRoot","nodeType":"IdentifierPath","referencedDeclaration":110614,"src":"1482:10:184"},"referencedDeclaration":110614,"src":"1482:10:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage_ptr","typeString":"struct OutputRoot"}},"visibility":"internal"}],"name":"StartingAnchorRoot","nameLocation":"1426:18:184","scope":106002,"visibility":"public"},{"id":105748,"nodeType":"VariableDeclaration","src":"1579:40:184","nodes":[],"baseFunctions":[122318],"constant":true,"documentation":{"id":105745,"nodeType":"StructuredDocumentation","src":"1516:58:184","text":"@notice Semantic version.\n @custom:semver 2.0.0"},"functionSelector":"54fd4d50","mutability":"constant","name":"version","nameLocation":"1602:7:184","scope":106002,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":105746,"name":"string","nodeType":"ElementaryTypeName","src":"1579:6:184","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"322e302e30","id":105747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1612:7:184","typeDescriptions":{"typeIdentifier":"t_stringliteral_b4bcb154e38601c389396fa918314da42d4626f13ef6d0ceb07e5f5d26b2fbc3","typeString":"literal_string \"2.0.0\""},"value":"2.0.0"},"visibility":"public"},{"id":105752,"nodeType":"VariableDeclaration","src":"1670:59:184","nodes":[],"constant":false,"documentation":{"id":105749,"nodeType":"StructuredDocumentation","src":"1626:39:184","text":"@notice DisputeGameFactory address."},"mutability":"immutable","name":"DISPUTE_GAME_FACTORY","nameLocation":"1709:20:184","scope":106002,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"},"typeName":{"id":105751,"nodeType":"UserDefinedTypeName","pathNode":{"id":105750,"name":"IDisputeGameFactory","nodeType":"IdentifierPath","referencedDeclaration":109761,"src":"1670:19:184"},"referencedDeclaration":109761,"src":"1670:19:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"visibility":"internal"},{"id":105759,"nodeType":"VariableDeclaration","src":"1777:46:184","nodes":[],"baseFunctions":[109391],"constant":false,"documentation":{"id":105753,"nodeType":"StructuredDocumentation","src":"1736:36:184","text":"@inheritdoc IAnchorStateRegistry"},"functionSelector":"7258a807","mutability":"mutable","name":"anchors","nameLocation":"1816:7:184","scope":106002,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_GameType_$110588_$_t_struct$_OutputRoot_$110614_storage_$","typeString":"mapping(GameType => struct OutputRoot)"},"typeName":{"id":105758,"keyType":{"id":105755,"nodeType":"UserDefinedTypeName","pathNode":{"id":105754,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"1785:8:184"},"referencedDeclaration":110588,"src":"1785:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"nodeType":"Mapping","src":"1777:31:184","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_GameType_$110588_$_t_struct$_OutputRoot_$110614_storage_$","typeString":"mapping(GameType => struct OutputRoot)"},"valueType":{"id":105757,"nodeType":"UserDefinedTypeName","pathNode":{"id":105756,"name":"OutputRoot","nodeType":"IdentifierPath","referencedDeclaration":110614,"src":"1797:10:184"},"referencedDeclaration":110614,"src":"1797:10:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage_ptr","typeString":"struct OutputRoot"}}},"visibility":"public"},{"id":105763,"nodeType":"VariableDeclaration","src":"1888:40:184","nodes":[],"constant":false,"documentation":{"id":105760,"nodeType":"StructuredDocumentation","src":"1830:53:184","text":"@notice Address of the SuperchainConfig contract."},"functionSelector":"35e80ab3","mutability":"mutable","name":"superchainConfig","nameLocation":"1912:16:184","scope":106002,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"},"typeName":{"id":105762,"nodeType":"UserDefinedTypeName","pathNode":{"id":105761,"name":"SuperchainConfig","nodeType":"IdentifierPath","referencedDeclaration":94870,"src":"1888:16:184"},"referencedDeclaration":94870,"src":"1888:16:184","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"}},"visibility":"public"},{"id":105778,"nodeType":"FunctionDefinition","src":"1998:144:184","nodes":[],"body":{"id":105777,"nodeType":"Block","src":"2051:91:184","nodes":[],"statements":[{"expression":{"id":105772,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":105770,"name":"DISPUTE_GAME_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105752,"src":"2061:20:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":105771,"name":"_disputeGameFactory","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105767,"src":"2084:19:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"src":"2061:42:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"id":105773,"nodeType":"ExpressionStatement","src":"2061:42:184"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":105774,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50288,"src":"2113:20:184","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":105775,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2113:22:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":105776,"nodeType":"ExpressionStatement","src":"2113:22:184"}]},"documentation":{"id":105764,"nodeType":"StructuredDocumentation","src":"1935:58:184","text":"@param _disputeGameFactory DisputeGameFactory address."},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":105768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":105767,"mutability":"mutable","name":"_disputeGameFactory","nameLocation":"2030:19:184","nodeType":"VariableDeclaration","scope":105778,"src":"2010:39:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"},"typeName":{"id":105766,"nodeType":"UserDefinedTypeName","pathNode":{"id":105765,"name":"IDisputeGameFactory","nodeType":"IdentifierPath","referencedDeclaration":109761,"src":"2010:19:184"},"referencedDeclaration":109761,"src":"2010:19:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"visibility":"internal"}],"src":"2009:41:184"},"returnParameters":{"id":105769,"nodeType":"ParameterList","parameters":[],"src":"2051:0:184"},"scope":106002,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":105824,"nodeType":"FunctionDefinition","src":"2340:464:184","nodes":[],"body":{"id":105823,"nodeType":"Block","src":"2507:297:184","nodes":[],"statements":[{"body":{"id":105817,"nodeType":"Block","src":"2575:177:184","statements":[{"assignments":[105804],"declarations":[{"constant":false,"id":105804,"mutability":"mutable","name":"startingAnchorRoot","nameLocation":"2615:18:184","nodeType":"VariableDeclaration","scope":105817,"src":"2589:44:184","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_StartingAnchorRoot_$105744_memory_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot"},"typeName":{"id":105803,"nodeType":"UserDefinedTypeName","pathNode":{"id":105802,"name":"StartingAnchorRoot","nodeType":"IdentifierPath","referencedDeclaration":105744,"src":"2589:18:184"},"referencedDeclaration":105744,"src":"2589:18:184","typeDescriptions":{"typeIdentifier":"t_struct$_StartingAnchorRoot_$105744_storage_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot"}},"visibility":"internal"}],"id":105808,"initialValue":{"baseExpression":{"id":105805,"name":"_startingAnchorRoots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105783,"src":"2636:20:184","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StartingAnchorRoot_$105744_memory_ptr_$dyn_memory_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot memory[] memory"}},"id":105807,"indexExpression":{"id":105806,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105792,"src":"2657:1:184","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2636:23:184","typeDescriptions":{"typeIdentifier":"t_struct$_StartingAnchorRoot_$105744_memory_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot memory"}},"nodeType":"VariableDeclarationStatement","src":"2589:70:184"},{"expression":{"id":105815,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":105809,"name":"anchors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105759,"src":"2673:7:184","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_GameType_$110588_$_t_struct$_OutputRoot_$110614_storage_$","typeString":"mapping(GameType => struct OutputRoot storage ref)"}},"id":105812,"indexExpression":{"expression":{"id":105810,"name":"startingAnchorRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105804,"src":"2681:18:184","typeDescriptions":{"typeIdentifier":"t_struct$_StartingAnchorRoot_$105744_memory_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot memory"}},"id":105811,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"gameType","nodeType":"MemberAccess","referencedDeclaration":105740,"src":"2681:27:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2673:36:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage","typeString":"struct OutputRoot storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"expression":{"id":105813,"name":"startingAnchorRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105804,"src":"2712:18:184","typeDescriptions":{"typeIdentifier":"t_struct$_StartingAnchorRoot_$105744_memory_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot memory"}},"id":105814,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"outputRoot","nodeType":"MemberAccess","referencedDeclaration":105743,"src":"2712:29:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_memory_ptr","typeString":"struct OutputRoot memory"}},"src":"2673:68:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage","typeString":"struct OutputRoot storage ref"}},"id":105816,"nodeType":"ExpressionStatement","src":"2673:68:184"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":105798,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":105795,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105792,"src":"2537:1:184","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"expression":{"id":105796,"name":"_startingAnchorRoots","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105783,"src":"2541:20:184","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StartingAnchorRoot_$105744_memory_ptr_$dyn_memory_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot memory[] memory"}},"id":105797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","src":"2541:27:184","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2537:31:184","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105818,"initializationExpression":{"assignments":[105792],"declarations":[{"constant":false,"id":105792,"mutability":"mutable","name":"i","nameLocation":"2530:1:184","nodeType":"VariableDeclaration","scope":105818,"src":"2522:9:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":105791,"name":"uint256","nodeType":"ElementaryTypeName","src":"2522:7:184","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":105794,"initialValue":{"hexValue":"30","id":105793,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2534:1:184","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"2522:13:184"},"loopExpression":{"expression":{"id":105800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2570:3:184","subExpression":{"id":105799,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105792,"src":"2570:1:184","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":105801,"nodeType":"ExpressionStatement","src":"2570:3:184"},"nodeType":"ForStatement","src":"2517:235:184"},{"expression":{"id":105821,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":105819,"name":"superchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105763,"src":"2761:16:184","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":105820,"name":"_superchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105786,"src":"2780:17:184","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"}},"src":"2761:36:184","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"}},"id":105822,"nodeType":"ExpressionStatement","src":"2761:36:184"}]},"documentation":{"id":105779,"nodeType":"StructuredDocumentation","src":"2148:187:184","text":"@notice Initializes the contract.\n @param _startingAnchorRoots An array of starting anchor roots.\n @param _superchainConfig The address of the SuperchainConfig contract."},"functionSelector":"5e05fbd0","implemented":true,"kind":"function","modifiers":[{"id":105789,"kind":"modifierInvocation","modifierName":{"id":105788,"name":"initializer","nodeType":"IdentifierPath","referencedDeclaration":50209,"src":"2491:11:184"},"nodeType":"ModifierInvocation","src":"2491:11:184"}],"name":"initialize","nameLocation":"2349:10:184","parameters":{"id":105787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":105783,"mutability":"mutable","name":"_startingAnchorRoots","nameLocation":"2397:20:184","nodeType":"VariableDeclaration","scope":105824,"src":"2369:48:184","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StartingAnchorRoot_$105744_memory_ptr_$dyn_memory_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot[]"},"typeName":{"baseType":{"id":105781,"nodeType":"UserDefinedTypeName","pathNode":{"id":105780,"name":"StartingAnchorRoot","nodeType":"IdentifierPath","referencedDeclaration":105744,"src":"2369:18:184"},"referencedDeclaration":105744,"src":"2369:18:184","typeDescriptions":{"typeIdentifier":"t_struct$_StartingAnchorRoot_$105744_storage_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot"}},"id":105782,"nodeType":"ArrayTypeName","src":"2369:20:184","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StartingAnchorRoot_$105744_storage_$dyn_storage_ptr","typeString":"struct AnchorStateRegistry.StartingAnchorRoot[]"}},"visibility":"internal"},{"constant":false,"id":105786,"mutability":"mutable","name":"_superchainConfig","nameLocation":"2444:17:184","nodeType":"VariableDeclaration","scope":105824,"src":"2427:34:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"},"typeName":{"id":105785,"nodeType":"UserDefinedTypeName","pathNode":{"id":105784,"name":"SuperchainConfig","nodeType":"IdentifierPath","referencedDeclaration":94870,"src":"2427:16:184"},"referencedDeclaration":94870,"src":"2427:16:184","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"}},"visibility":"internal"}],"src":"2359:108:184"},"returnParameters":{"id":105790,"nodeType":"ParameterList","parameters":[],"src":"2507:0:184"},"scope":106002,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":105834,"nodeType":"FunctionDefinition","src":"2851:118:184","nodes":[],"body":{"id":105833,"nodeType":"Block","src":"2925:44:184","nodes":[],"statements":[{"expression":{"id":105831,"name":"DISPUTE_GAME_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105752,"src":"2942:20:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"functionReturnParameters":105830,"id":105832,"nodeType":"Return","src":"2935:27:184"}]},"baseFunctions":[109398],"documentation":{"id":105825,"nodeType":"StructuredDocumentation","src":"2810:36:184","text":"@inheritdoc IAnchorStateRegistry"},"functionSelector":"f2b4e617","implemented":true,"kind":"function","modifiers":[],"name":"disputeGameFactory","nameLocation":"2860:18:184","parameters":{"id":105826,"nodeType":"ParameterList","parameters":[],"src":"2878:2:184"},"returnParameters":{"id":105830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":105829,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":105834,"src":"2904:19:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"},"typeName":{"id":105828,"nodeType":"UserDefinedTypeName","pathNode":{"id":105827,"name":"IDisputeGameFactory","nodeType":"IdentifierPath","referencedDeclaration":109761,"src":"2904:19:184"},"referencedDeclaration":109761,"src":"2904:19:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"visibility":"internal"}],"src":"2903:21:184"},"scope":106002,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":105920,"nodeType":"FunctionDefinition","src":"3016:1143:184","nodes":[],"body":{"id":105919,"nodeType":"Block","src":"3057:1102:184","nodes":[],"statements":[{"assignments":[105840],"declarations":[{"constant":false,"id":105840,"mutability":"mutable","name":"game","nameLocation":"3125:4:184","nodeType":"VariableDeclaration","scope":105919,"src":"3107:22:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"},"typeName":{"id":105839,"nodeType":"UserDefinedTypeName","pathNode":{"id":105838,"name":"IFaultDisputeGame","nodeType":"IdentifierPath","referencedDeclaration":109898,"src":"3107:17:184"},"referencedDeclaration":109898,"src":"3107:17:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"visibility":"internal"}],"id":105845,"initialValue":{"arguments":[{"expression":{"id":105842,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3150:3:184","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":105843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"3150:10:184","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":105841,"name":"IFaultDisputeGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109898,"src":"3132:17:184","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IFaultDisputeGame_$109898_$","typeString":"type(contract IFaultDisputeGame)"}},"id":105844,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3132:29:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"nodeType":"VariableDeclarationStatement","src":"3107:54:184"},{"assignments":[105848,105851,105853],"declarations":[{"constant":false,"id":105848,"mutability":"mutable","name":"gameType","nameLocation":"3181:8:184","nodeType":"VariableDeclaration","scope":105919,"src":"3172:17:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":105847,"nodeType":"UserDefinedTypeName","pathNode":{"id":105846,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"3172:8:184"},"referencedDeclaration":110588,"src":"3172:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":105851,"mutability":"mutable","name":"rootClaim","nameLocation":"3197:9:184","nodeType":"VariableDeclaration","scope":105919,"src":"3191:15:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"},"typeName":{"id":105850,"nodeType":"UserDefinedTypeName","pathNode":{"id":105849,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":110496,"src":"3191:5:184"},"referencedDeclaration":110496,"src":"3191:5:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":105853,"mutability":"mutable","name":"extraData","nameLocation":"3221:9:184","nodeType":"VariableDeclaration","scope":105919,"src":"3208:22:184","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":105852,"name":"bytes","nodeType":"ElementaryTypeName","src":"3208:5:184","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":105857,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105854,"name":"game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105840,"src":"3234:4:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gameData","nodeType":"MemberAccess","referencedDeclaration":109590,"src":"3234:13:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_userDefinedValueType$_GameType_$110588_$_t_userDefinedValueType$_Claim_$110496_$_t_bytes_memory_ptr_$","typeString":"function () view external returns (GameType,Claim,bytes memory)"}},"id":105856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3234:15:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_GameType_$110588_$_t_userDefinedValueType$_Claim_$110496_$_t_bytes_memory_ptr_$","typeString":"tuple(GameType,Claim,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3171:78:184"},{"assignments":[105860,null],"declarations":[{"constant":false,"id":105860,"mutability":"mutable","name":"factoryRegisteredGame","nameLocation":"3398:21:184","nodeType":"VariableDeclaration","scope":105919,"src":"3385:34:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"},"typeName":{"id":105859,"nodeType":"UserDefinedTypeName","pathNode":{"id":105858,"name":"IDisputeGame","nodeType":"IdentifierPath","referencedDeclaration":109591,"src":"3385:12:184"},"referencedDeclaration":109591,"src":"3385:12:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"}},"visibility":"internal"},null],"id":105867,"initialValue":{"arguments":[{"id":105863,"name":"gameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105848,"src":"3476:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},{"id":105864,"name":"rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105851,"src":"3498:9:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},{"id":105865,"name":"extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105853,"src":"3521:9:184","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":105861,"name":"DISPUTE_GAME_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105752,"src":"3436:20:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"id":105862,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"games","nodeType":"MemberAccess","referencedDeclaration":109662,"src":"3436:26:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_userDefinedValueType$_GameType_$110588_$_t_userDefinedValueType$_Claim_$110496_$_t_bytes_memory_ptr_$returns$_t_contract$_IDisputeGame_$109591_$_t_userDefinedValueType$_Timestamp_$110558_$","typeString":"function (GameType,Claim,bytes memory) view external returns (contract IDisputeGame,Timestamp)"}},"id":105866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_gameType","_rootClaim","_extraData"],"nodeType":"FunctionCall","src":"3436:97:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IDisputeGame_$109591_$_t_userDefinedValueType$_Timestamp_$110558_$","typeString":"tuple(contract IDisputeGame,Timestamp)"}},"nodeType":"VariableDeclarationStatement","src":"3384:149:184"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":105876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":105870,"name":"factoryRegisteredGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105860,"src":"3589:21:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"}],"id":105869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3581:7:184","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":105868,"name":"address","nodeType":"ElementaryTypeName","src":"3581:7:184","typeDescriptions":{}}},"id":105871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3581:30:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":105874,"name":"game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105840,"src":"3623:4:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}],"id":105873,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3615:7:184","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":105872,"name":"address","nodeType":"ElementaryTypeName","src":"3615:7:184","typeDescriptions":{}}},"id":105875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3615:13:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3581:47:184","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105880,"nodeType":"IfStatement","src":"3577:78:184","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":105877,"name":"UnregisteredGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110143,"src":"3637:16:184","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":105878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3637:18:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":105879,"nodeType":"RevertStatement","src":"3630:25:184"}},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":105888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105881,"name":"game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105840,"src":"3746:4:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l2BlockNumber","nodeType":"MemberAccess","referencedDeclaration":109875,"src":"3746:18:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":105883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3746:20:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"expression":{"baseExpression":{"id":105884,"name":"anchors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105759,"src":"3770:7:184","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_GameType_$110588_$_t_struct$_OutputRoot_$110614_storage_$","typeString":"mapping(GameType => struct OutputRoot storage ref)"}},"id":105886,"indexExpression":{"id":105885,"name":"gameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105848,"src":"3778:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3770:17:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage","typeString":"struct OutputRoot storage ref"}},"id":105887,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"l2BlockNumber","nodeType":"MemberAccess","referencedDeclaration":110613,"src":"3770:31:184","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3746:55:184","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105891,"nodeType":"IfStatement","src":"3742:92:184","trueBody":{"id":105890,"nodeType":"Block","src":"3803:31:184","statements":[{"functionReturnParameters":105837,"id":105889,"nodeType":"Return","src":"3817:7:184"}]}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$110608","typeString":"enum GameStatus"},"id":105897,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105892,"name":"game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105840,"src":"3911:4:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"status","nodeType":"MemberAccess","referencedDeclaration":109538,"src":"3911:11:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_GameStatus_$110608_$","typeString":"function () view external returns (enum GameStatus)"}},"id":105894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3911:13:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$110608","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":105895,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110608,"src":"3928:10:184","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$110608_$","typeString":"type(enum GameStatus)"}},"id":105896,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DEFENDER_WINS","nodeType":"MemberAccess","referencedDeclaration":110607,"src":"3928:24:184","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$110608","typeString":"enum GameStatus"}},"src":"3911:41:184","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105900,"nodeType":"IfStatement","src":"3907:78:184","trueBody":{"id":105899,"nodeType":"Block","src":"3954:31:184","statements":[{"functionReturnParameters":105837,"id":105898,"nodeType":"Return","src":"3968:7:184"}]}},{"expression":{"id":105917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":105901,"name":"anchors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105759,"src":"4040:7:184","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_GameType_$110588_$_t_struct$_OutputRoot_$110614_storage_$","typeString":"mapping(GameType => struct OutputRoot storage ref)"}},"id":105903,"indexExpression":{"id":105902,"name":"gameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105848,"src":"4048:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4040:17:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage","typeString":"struct OutputRoot storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105905,"name":"game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105840,"src":"4088:4:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l2BlockNumber","nodeType":"MemberAccess","referencedDeclaration":109875,"src":"4088:18:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":105907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4088:20:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105910,"name":"game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105840,"src":"4126:4:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105911,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"rootClaim","nodeType":"MemberAccess","referencedDeclaration":109558,"src":"4126:14:184","typeDescriptions":{"typeIdentifier":"t_function_external_pure$__$returns$_t_userDefinedValueType$_Claim_$110496_$","typeString":"function () pure external returns (Claim)"}},"id":105912,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4126:16:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"id":105913,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":110508,"src":"4126:20:184","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$110496_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Claim_$110496_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":105914,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4126:22:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":105908,"name":"Hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110543,"src":"4116:4:184","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hash_$110543_$","typeString":"type(Hash)"}},"id":105909,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"4116:9:184","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Hash_$110543_$","typeString":"function (bytes32) pure returns (Hash)"}},"id":105915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4116:33:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$110543","typeString":"Hash"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_Hash_$110543","typeString":"Hash"}],"id":105904,"name":"OutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110614,"src":"4060:10:184","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OutputRoot_$110614_storage_ptr_$","typeString":"type(struct OutputRoot storage pointer)"}},"id":105916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["l2BlockNumber","root"],"nodeType":"FunctionCall","src":"4060:92:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_memory_ptr","typeString":"struct OutputRoot memory"}},"src":"4040:112:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage","typeString":"struct OutputRoot storage ref"}},"id":105918,"nodeType":"ExpressionStatement","src":"4040:112:184"}]},"baseFunctions":[109402],"documentation":{"id":105835,"nodeType":"StructuredDocumentation","src":"2975:36:184","text":"@inheritdoc IAnchorStateRegistry"},"functionSelector":"838c2d1e","implemented":true,"kind":"function","modifiers":[],"name":"tryUpdateAnchorState","nameLocation":"3025:20:184","parameters":{"id":105836,"nodeType":"ParameterList","parameters":[],"src":"3045:2:184"},"returnParameters":{"id":105837,"nodeType":"ParameterList","parameters":[],"src":"3057:0:184"},"scope":106002,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":106001,"nodeType":"FunctionDefinition","src":"4206:1000:184","nodes":[],"body":{"id":106000,"nodeType":"Block","src":"4264:942:184","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":105932,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":105927,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4278:3:184","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":105928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"4278:10:184","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105929,"name":"superchainConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105763,"src":"4292:16:184","typeDescriptions":{"typeIdentifier":"t_contract$_SuperchainConfig_$94870","typeString":"contract SuperchainConfig"}},"id":105930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"guardian","nodeType":"MemberAccess","referencedDeclaration":94770,"src":"4292:25:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":105931,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4292:27:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4278:41:184","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105936,"nodeType":"IfStatement","src":"4274:68:184","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":105933,"name":"Unauthorized","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114999,"src":"4328:12:184","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":105934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4328:14:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":105935,"nodeType":"RevertStatement","src":"4321:21:184"}},{"assignments":[105939,105942,105944],"declarations":[{"constant":false,"id":105939,"mutability":"mutable","name":"gameType","nameLocation":"4404:8:184","nodeType":"VariableDeclaration","scope":106000,"src":"4395:17:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},"typeName":{"id":105938,"nodeType":"UserDefinedTypeName","pathNode":{"id":105937,"name":"GameType","nodeType":"IdentifierPath","referencedDeclaration":110588,"src":"4395:8:184"},"referencedDeclaration":110588,"src":"4395:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"visibility":"internal"},{"constant":false,"id":105942,"mutability":"mutable","name":"rootClaim","nameLocation":"4420:9:184","nodeType":"VariableDeclaration","scope":106000,"src":"4414:15:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"},"typeName":{"id":105941,"nodeType":"UserDefinedTypeName","pathNode":{"id":105940,"name":"Claim","nodeType":"IdentifierPath","referencedDeclaration":110496,"src":"4414:5:184"},"referencedDeclaration":110496,"src":"4414:5:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"visibility":"internal"},{"constant":false,"id":105944,"mutability":"mutable","name":"extraData","nameLocation":"4444:9:184","nodeType":"VariableDeclaration","scope":106000,"src":"4431:22:184","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":105943,"name":"bytes","nodeType":"ElementaryTypeName","src":"4431:5:184","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":105948,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105945,"name":"_game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105924,"src":"4457:5:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"gameData","nodeType":"MemberAccess","referencedDeclaration":109590,"src":"4457:14:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_userDefinedValueType$_GameType_$110588_$_t_userDefinedValueType$_Claim_$110496_$_t_bytes_memory_ptr_$","typeString":"function () view external returns (GameType,Claim,bytes memory)"}},"id":105947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4457:16:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_userDefinedValueType$_GameType_$110588_$_t_userDefinedValueType$_Claim_$110496_$_t_bytes_memory_ptr_$","typeString":"tuple(GameType,Claim,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"4394:79:184"},{"assignments":[105951,null],"declarations":[{"constant":false,"id":105951,"mutability":"mutable","name":"factoryRegisteredGame","nameLocation":"4622:21:184","nodeType":"VariableDeclaration","scope":106000,"src":"4609:34:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"},"typeName":{"id":105950,"nodeType":"UserDefinedTypeName","pathNode":{"id":105949,"name":"IDisputeGame","nodeType":"IdentifierPath","referencedDeclaration":109591,"src":"4609:12:184"},"referencedDeclaration":109591,"src":"4609:12:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"}},"visibility":"internal"},null],"id":105958,"initialValue":{"arguments":[{"id":105954,"name":"gameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105939,"src":"4700:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},{"id":105955,"name":"rootClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105942,"src":"4722:9:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},{"id":105956,"name":"extraData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105944,"src":"4745:9:184","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"},{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":105952,"name":"DISPUTE_GAME_FACTORY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105752,"src":"4660:20:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGameFactory_$109761","typeString":"contract IDisputeGameFactory"}},"id":105953,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"games","nodeType":"MemberAccess","referencedDeclaration":109662,"src":"4660:26:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_userDefinedValueType$_GameType_$110588_$_t_userDefinedValueType$_Claim_$110496_$_t_bytes_memory_ptr_$returns$_t_contract$_IDisputeGame_$109591_$_t_userDefinedValueType$_Timestamp_$110558_$","typeString":"function (GameType,Claim,bytes memory) view external returns (contract IDisputeGame,Timestamp)"}},"id":105957,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":["_gameType","_rootClaim","_extraData"],"nodeType":"FunctionCall","src":"4660:97:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IDisputeGame_$109591_$_t_userDefinedValueType$_Timestamp_$110558_$","typeString":"tuple(contract IDisputeGame,Timestamp)"}},"nodeType":"VariableDeclarationStatement","src":"4608:149:184"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":105967,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":105961,"name":"factoryRegisteredGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105951,"src":"4813:21:184","typeDescriptions":{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IDisputeGame_$109591","typeString":"contract IDisputeGame"}],"id":105960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4805:7:184","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":105959,"name":"address","nodeType":"ElementaryTypeName","src":"4805:7:184","typeDescriptions":{}}},"id":105962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4805:30:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"id":105965,"name":"_game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105924,"src":"4847:5:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}],"id":105964,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4839:7:184","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":105963,"name":"address","nodeType":"ElementaryTypeName","src":"4839:7:184","typeDescriptions":{}}},"id":105966,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4839:14:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4805:48:184","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105971,"nodeType":"IfStatement","src":"4801:79:184","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":105968,"name":"UnregisteredGame","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110143,"src":"4862:16:184","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":105969,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4862:18:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":105970,"nodeType":"RevertStatement","src":"4855:25:184"}},{"condition":{"commonType":{"typeIdentifier":"t_enum$_GameStatus_$110608","typeString":"enum GameStatus"},"id":105977,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105972,"name":"_game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105924,"src":"4962:5:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105973,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"status","nodeType":"MemberAccess","referencedDeclaration":109538,"src":"4962:12:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_enum$_GameStatus_$110608_$","typeString":"function () view external returns (enum GameStatus)"}},"id":105974,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4962:14:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$110608","typeString":"enum GameStatus"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"expression":{"id":105975,"name":"GameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110608,"src":"4980:10:184","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_GameStatus_$110608_$","typeString":"type(enum GameStatus)"}},"id":105976,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"DEFENDER_WINS","nodeType":"MemberAccess","referencedDeclaration":110607,"src":"4980:24:184","typeDescriptions":{"typeIdentifier":"t_enum$_GameStatus_$110608","typeString":"enum GameStatus"}},"src":"4962:42:184","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":105981,"nodeType":"IfStatement","src":"4958:74:184","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":105978,"name":"InvalidGameStatus","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110146,"src":"5013:17:184","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":105979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5013:19:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":105980,"nodeType":"RevertStatement","src":"5006:26:184"}},{"expression":{"id":105998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":105982,"name":"anchors","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105759,"src":"5073:7:184","typeDescriptions":{"typeIdentifier":"t_mapping$_t_userDefinedValueType$_GameType_$110588_$_t_struct$_OutputRoot_$110614_storage_$","typeString":"mapping(GameType => struct OutputRoot storage ref)"}},"id":105984,"indexExpression":{"id":105983,"name":"gameType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105939,"src":"5081:8:184","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_GameType_$110588","typeString":"GameType"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5073:17:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage","typeString":"struct OutputRoot storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105986,"name":"_game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105924,"src":"5133:5:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"l2BlockNumber","nodeType":"MemberAccess","referencedDeclaration":109875,"src":"5133:19:184","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_uint256_$","typeString":"function () view external returns (uint256)"}},"id":105988,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5133:21:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":105991,"name":"_game","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":105924,"src":"5172:5:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"id":105992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"rootClaim","nodeType":"MemberAccess","referencedDeclaration":109558,"src":"5172:15:184","typeDescriptions":{"typeIdentifier":"t_function_external_pure$__$returns$_t_userDefinedValueType$_Claim_$110496_$","typeString":"function () pure external returns (Claim)"}},"id":105993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5172:17:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Claim_$110496","typeString":"Claim"}},"id":105994,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"raw","nodeType":"MemberAccess","referencedDeclaration":110508,"src":"5172:21:184","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_userDefinedValueType$_Claim_$110496_$returns$_t_bytes32_$bound_to$_t_userDefinedValueType$_Claim_$110496_$","typeString":"function (Claim) pure returns (bytes32)"}},"id":105995,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5172:23:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":105989,"name":"Hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110543,"src":"5162:4:184","typeDescriptions":{"typeIdentifier":"t_type$_t_userDefinedValueType$_Hash_$110543_$","typeString":"type(Hash)"}},"id":105990,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"wrap","nodeType":"MemberAccess","src":"5162:9:184","typeDescriptions":{"typeIdentifier":"t_function_wrap_pure$_t_bytes32_$returns$_t_userDefinedValueType$_Hash_$110543_$","typeString":"function (bytes32) pure returns (Hash)"}},"id":105996,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5162:34:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_Hash_$110543","typeString":"Hash"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_userDefinedValueType$_Hash_$110543","typeString":"Hash"}],"id":105985,"name":"OutputRoot","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110614,"src":"5105:10:184","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_OutputRoot_$110614_storage_ptr_$","typeString":"type(struct OutputRoot storage pointer)"}},"id":105997,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["l2BlockNumber","root"],"nodeType":"FunctionCall","src":"5105:94:184","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_memory_ptr","typeString":"struct OutputRoot memory"}},"src":"5073:126:184","typeDescriptions":{"typeIdentifier":"t_struct$_OutputRoot_$110614_storage","typeString":"struct OutputRoot storage ref"}},"id":105999,"nodeType":"ExpressionStatement","src":"5073:126:184"}]},"baseFunctions":[109409],"documentation":{"id":105921,"nodeType":"StructuredDocumentation","src":"4165:36:184","text":"@inheritdoc IAnchorStateRegistry"},"functionSelector":"17cf21a9","implemented":true,"kind":"function","modifiers":[],"name":"setAnchorState","nameLocation":"4215:14:184","parameters":{"id":105925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":105924,"mutability":"mutable","name":"_game","nameLocation":"4248:5:184","nodeType":"VariableDeclaration","scope":106001,"src":"4230:23:184","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"},"typeName":{"id":105923,"nodeType":"UserDefinedTypeName","pathNode":{"id":105922,"name":"IFaultDisputeGame","nodeType":"IdentifierPath","referencedDeclaration":109898,"src":"4230:17:184"},"referencedDeclaration":109898,"src":"4230:17:184","typeDescriptions":{"typeIdentifier":"t_contract$_IFaultDisputeGame_$109898","typeString":"contract IFaultDisputeGame"}},"visibility":"internal"}],"src":"4229:25:184"},"returnParameters":{"id":105926,"nodeType":"ParameterList","parameters":[],"src":"4264:0:184"},"scope":106002,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":105732,"name":"Initializable","nodeType":"IdentifierPath","referencedDeclaration":50289,"src":"1301:13:184"},"id":105733,"nodeType":"InheritanceSpecifier","src":"1301:13:184"},{"baseName":{"id":105734,"name":"IAnchorStateRegistry","nodeType":"IdentifierPath","referencedDeclaration":109410,"src":"1316:20:184"},"id":105735,"nodeType":"InheritanceSpecifier","src":"1316:20:184"},{"baseName":{"id":105736,"name":"ISemver","nodeType":"IdentifierPath","referencedDeclaration":122319,"src":"1338:7:184"},"id":105737,"nodeType":"InheritanceSpecifier","src":"1338:7:184"}],"canonicalName":"AnchorStateRegistry","contractDependencies":[],"contractKind":"contract","documentation":{"id":105731,"nodeType":"StructuredDocumentation","src":"780:489:184","text":"@title AnchorStateRegistry\n @notice The AnchorStateRegistry is a contract that stores the latest \"anchor\" state for each available\n         FaultDisputeGame type. The anchor state is the latest state that has been proposed on L1 and was not\n         challenged within the challenge period. By using stored anchor states, new FaultDisputeGame instances can\n         be initialized with a more recent starting state which reduces the amount of required offchain computation."},"fullyImplemented":true,"linearizedBaseContracts":[106002,122319,109410,50289],"name":"AnchorStateRegistry","nameLocation":"1278:19:184","scope":106003,"usedErrors":[110143,110146,114999]}],"license":"MIT"},"id":184}