# 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).