Smart Contract Security
29 practice items · needed by 1 role
Easy 4Medium 9Hard 16
Practice questions
- Private variables are public dataeasy
- Verifying a contract on Etherscaneasy
- Sharing a seed phraseeasy
- Why use OpenZeppelineasy
- Refunding outbid biddersmedium
- Safer ownership transfermedium
- Fee-on-transfer token depositsmedium
- EIP-712 domain separatormedium
- Unchecked ecrecovermedium
- What Slither is good formedium
- Unlimited token approvalsmedium
- Random winners on chainmedium
- Roles instead of one ownermedium
- Reentrancy through safeMinthard
- EIP-7702 and "only EOAs" checkshard
- Using a signature as a noncehard
- Domain separator after a chain splithard
- Hash collision with encodePackedhard
- msg.value inside a multicallhard
- Which way to round in a vaulthard
- Trade-offs of a TWAP oraclehard
- Checking a Chainlink pricehard
- Flash-loaned voting powerhard
- Return data gas griefinghard
- Relayer forwards too little gashard
- Trusting a cross-chain messagehard
- A fee that rounds to zerohard
- Commit-reveal that can be copiedhard
- Missing account checks on Solanahard