ERC20 Investment Fund Smart Contract
by Emerson Estrella
1. Deposit
1.1. Valid amount
1.1.1. create a new deposit
1.1.2. for each "active" token...
1.1.2.1. divide deposit amount by token allocation
1.1.2.2. create a BUY order for this token
1.1.3. calculate token price and reward
1.1.4. transfer tokens
1.2. Invalid amount
1.2.1. Error
2. Withdraw
2.1. Not in Lock-in period
2.1.1. Has enough balance
2.1.1.1. Yes
2.1.1.1.1. Transfer ETH
2.1.1.2. Error
2.2. Locked-in
2.2.1. Error