An internal object to keep track of a user's amount, stake, fund, and slashing points. Tokens in amount can be withdrawn at any time. Staked tokens are used for uploaders and validators as collateral. When their slashing points exceed the threshold, their stake gets slashed. Tokens in fund will be reduced every time a transaction is finalized. When there is not enough funding left in the pool, it pauses until there are enough tokens to fulfill a payout.