Asset locking is a useful feature in blockchain systems. Our lock contract is a tool to lock funds for user-defined period of time before they can be retrieved.
Similar to the deposit and withdraw contract, we need to record extra features for this new contract. The only extra thing we need to record is a numerical timestamp for each address. In the lock contract, there is a 'lock' function, which can be called directly and records/updates a lock time for each address.
The lock contract provides the 'lock' function, which allows users to lock assets until some future time by setting an unlock
Alice deposits her VSYS coin or tokens to a lock contract on the chain. Using the "lock" function, she submits an unlock timestamp. Once this timestamp is set, she can only withdraw her VSYS coin or tokens after the unlock timestamp. Before the unlock timestamp, only the deposit trigger can be called from the token contract. Before the unlock timestamp, the lock contract only accepts deposits. The lock contract can be used as a proof of digital property.
This idea is like a pool procedure, one can increase the pool size and extend the lock time at anytime. It can also be reused again if you like.