This is a modified example from anchor. It's completely been redone to be a basic token staking demo. A new token is minted and given to the user. The user can then deposit his/her tokens into the smart contract.
Upgrades to this will include getting a staking token in exchange for the deposit and other upgrades over time.
Twitter - @shumakergreg