Passwords are stored on-chain, and anyone knowing the ABI of the contract, can decode the password from transaction's call data.
Send tx to "setPassword(string)" method with any password, e.g. "secret"
Get transaction data (e.g. cast tx *tx_hash*
)
Decode the calldata, e.g. using foundry
will output:
Password can be easily read and exploited.
foundry (cast)
Encrypt password off-chain, don't send plain-text.
Private functions and state variables are only visible for the contract they are defined in and not in derived contracts. In this case private doesn't mean secret/confidential
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.