- User requests server to claim
- Server verifies claim and issues a signed certificate which contains the following information:
- Smart contract address to claim from
- Claim amount
- User's address
- User passes the signed certificate to the smart contract
- Smart contract verifies the signed certificate and transfers the claim amount to the user if valid
Allowed actions during each state:
- Not started
- Deposit rewards
- Withdraw unclaimed rewards (owner only)
- On going
- Claim rewards
- Ended
- Withdraw unclaimed rewards (owner only)
- Invalid
- Withdraw unclaimed rewards (owner only)