# Sherlock

Can you find my password hash ("sherlock")? You might want to take a look at the past internal transactions! hmm how? Submit your instance after invoking contract.solve() with a proper password.

pragma solidity ^0.8.0;
contract Sherlock {
    uint256 public var256_1 = 1337;
    bool public bool_1 = false;
    bool public bool_2 = false;
    bool public bool_3 = true;
    uint16 public var16_1 = 32;
    uint16 private var16_2 = 64;
    address public contractAdd = address(this);
    uint256 private var256_2 = 3445;
    uint256 private var256_3 = 6677;
    bytes32 private iGotThePassword;
    bytes32 private actuallPass;
    bytes32 private definitelyThePass;
    uint256 public var256_4 = 7788;
    uint16 public var16_3 = 69;
    uint16 private var16_4 = 7;
    bool private _Pass = true;
    bool private _The = true;
    bool private _Password = false;
    address private owner;
    uint16 private counter;
    bytes32 public constant thePassword = /* ..................[REDACTED]................... */;
    bytes32 private constant ohNoNoNoNoNo = /* .................[REDACTED]................... */;
    bytes32[4] private passHashes;
    struct Passwords {
        bytes32 name;
        uint256 secretKey;
        bytes32 password;
    }
    Passwords[] private passwords;
    mapping (uint256 => Passwords) private destiny;

    /* ..................[REDACTED]................... */
}

TIP

This data structure is populated when the level instance is created.

struct Passwords {
    bytes32 name;
    uint256 secretKey;
    bytes32 password;
 }
Passwords[] private passwords;

You might want to take a look at the "Raw Trace" of a transaction on BlockScout (opens new window).