There are 3 contracts in total, they are in /contracts folders. The project is build using Foundry instructions how to run the project can be found in SC README.md.
Backend part of project is in /backend folder.
Backend is listening contract 2 contracts events:
- Deposit
- Withdraw
in case if user has deposit, backend should mint WIN tokens to user account.
As backend in the design proposed by challenge is element of system centralization, design of the system can be improved by moving functionality of token distrbution to the on-chain part. Also as backend in the design was responsible for token minting that means that fees are increasing linearly with number of users.