Extend/upgrade a Bank contract and allow users to lock funds for other users.
Locked funds should be possible to unlock at a specific date or linearly over the given time (vesting).
Using UUPS
- As a user I want to create the lock from my bank account balance for the given address
- I want to provide start time of the lock, end time of the lock, locked amount
- As a user I want to get all locks that were created for me
- As a user I want to get the amount of tokens that are unlocked in the given lock
- As a user I want to claim the amount of tokens that is available in the given lock
- As a user I want to get the amount of tokens that I already claimed in the given lock
- As a user I want to get the total balance of all locked tokens from all locks that were created for me