ETHPool - A reward distribution protocol

This is an example implementation of the ETHPool protocol specified in Smart Contract Challenge #4. The challenge describes ETH Pool as the follows -
ETHPool provides a service where people can deposit ETH and they will receive rewards proportional to their deposits in the pool. Users must be able to take out their deposits along with their portion of rewards at any time. New rewards are deposited manually into the pool by the ETHPool team using a contract function.

And here’s my response - the completed smart contract fulfilling all requirements and tests using foundry [Insert github repo here]

Testnet verified smart contract -