---
# System prepended metadata

title: Gauss Training Challenge

---

# Gauss Training Challenge
### Issue: assignToken () should be initialized 
#### Severity: Major

The `assignToken ()` function allows for  assigning of the vault token which can only happen once. This should be initialized in the constructor as it is used in the claiming process. With the current implementation, the issue would be problematic if the vault token is not assigned or assigned later because the balance of the vault token is used in the claiming process through the `claim ()` function.
Moreover, if it is not assigned then it would be impossible to claim tokens.

### totalEth is not reduced during the claiming process which affects accounting ###

#### Severity: Major

`totalEth` is a variable which tracks the totalEth that is deposited so far and increases whenever eth is deposited via the `depositEth ()`. However, the totalEth is not equally reduced whenever, there is a claiming process. As such, this will see that totalEth will always increase and be high which would affect the accounting in the claiming process especially, in calculation of `percent` which is used in the calculation of `totalVaultTokenBalance`. 
