anyone know of a guide on creating a staking contract for a erc20 token. Like where I can send 20% of supply of token to contract which over time gets distributes to the stakers for a certain apr based on TVL?