Add revert(); to the fallback function if user does not explicitly call a contract function

According to this stackexchange post—adding revert(); to the fallback function will stop funds being sent to the contract if the sender doesn’t actually call a function.

Currently, if a user manually sends PNK to the contract instead of calling the setStake function—the funds are effectively stuck inside the contract. For example: A user recently sent >2000 PNK to the contract address instead of Staking the funds. This effectively, at time of transaction, amounted to a loss of approximately $175 dollars.

To stop future users from losing their funds I propose that the fallback function prevent funds from being sent directly to the contract address without explicitly calling a function.

Thank you for your time and consideration; the proposal link can be found below.


(If someone on the team lets me know that this is impossible, I will be more than happy to remove this post and the corresponding snapshot proposal.)

A/ It is not possible to change the contract (you cannot modify the contract and changing to a new contract would cost order of magnitude more in gas).

B/ It is already implemented (the fallback does revert).

C/ It doesn’t prevent token transfers to the contract, only ETH transfers.