// SPDX-License-Identifier: MIT pragma solidity ^0.8.20; contract SecretStorage { uint256 private decoy0 = 0xDEADBEEF; uint256 private decoy1 = 0xBADC0DE; uint256 private decoy2 = 0xABCDEF; uint256 private decoy3 = 0x123456; uint256 private decoy4 = 1337; bytes32 private redHerring = keccak256("This is not the flag"); uint256 private decoy6 = 0xCAFEBABE; bytes32 private flag; // SLOT 7 address public solver; bool public solved; constructor(bytes32 _flag) { flag = _flag; } function submitFlag(bytes32 _submitted) external { require(!solved, "Already solved"); require(_submitted == flag, "Wrong flag!"); solved = true; solver = msg.sender; } function isSolved() external view returns (bool) { return solved; } }