author | contributors | |
---|---|---|
0xA85572Cd96f1643458f17340b6f0D6549Af482F5 |
|
There are 2 steps to the puzzle:
- Write a contract that implments
ISolve
and returns the address of Curta whencurtaPlayer
is called. - Deploy the contract to a vanity address prefixed with specific bytes, then submit the address as the solution.
contract Solve is ISolve {
function curtaPlayer() external view returns (address) {
return 0x0000000006bC8D9e5e9d436217B88De704a9F307;
}
}
If you submitted before the timestamp 1678446000
(March 10, 2023 11 AM; roughly 2 days after the puzzle was added), the prefix you had to mine for changed every 256 blocks (roughly every 51 minutes):
- The first 2 bytes had to be
0xF1A9
. - The next 2 bytes were picked from the submitting address based on the block number at submission.
If you submitted after the timestamp, there was no time constraint, and you just had to mine for a contract with 4 0
bytes.