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.
-Kleroterion
(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.)