Half a million dollars in WETH were just lost. Cause: WETH (ERC20) tokens were sent directly to the WETH contract instead of calling withdraw() from the WETH contract. Contracts cannot detect direct ERC20 token transfers. Do not directly send ERC20 tokens to contracts. Use WETH's withdraw() function or use an AMM DEXs like Uniswap to swap WETH to ETH. Note that some ERC777 - IERC777Recipient contracts can detect direct ERC777 token transfers with tokensReceived() for very specific logic [but cannot detect MSG.SENDER].
Reddit post: [ Ссылка ]
$500,000 WETH Transaction: [ Ссылка ]
WETH Functions on Etherscan: [ Ссылка ]
Ещё видео!