Allow tokens in VestingWallet to be deposited into 4626/7540 vaults
🧐 Motivation VestingWallets are useful to release tokens to stakeholders over time. However while they are in there, they are not being used productively. 4626 and 7540 are great standards for an interface to do so.
📝 Details This would either be a variant/extension or a configuration option set in the constructor I imagine. Shouldn't allow beneficiaries to specify the vault since they could get around the vesting otherwise.
I guess you could argue that you could do this today with the share tokens themselves.
Hello @nambrot
I believe this is very circumstantial, in particular (as you pointed out) because the vault would need to be whitelisted/approved to avoid circumventing the vesting. I'm wondering if for these usecases, it wouldn't be simpler for the authority that does the vesting setup to add at in there codebase VS use trying to provide something generic that will necessarily come with much complexity.
Thanks for your response @Amxx. It occurred to me that one could also deposit the share tokens in VestingWallet. While I have you though, I wonder what you think of VestingWallets that allow some other permission to revoke further vesting and returning those to some other wallet. The use case would to represent typical employment-based vesting. Happy to make a separate issue for that
In principle, the concern of having the money parked in a contract seems legitimate. However, I'd challenge the idea that it's not being used productively; the main guarantee of the VestingWallet is that the tokens are effectively parked and only released according to the vesting schedule. I'd say that's itself a productive use case, perhaps not the most liquid, though.
Given that said, I don't see a generic way of doing it without too much complexity. Would you mind elaborating on the "typical employment-based vesting"? Maybe the solution is just adding a quit mechanism to the vesting curve.
When I mean "productive", I guess I mean that it could be earning additional yield for the owner while it is vesting. Definitely agree that VestingWallet in of itself is productive for plenty of use cases. IMO abstracting it at the 4626 level and depositing the share tokens does seem sufficient.
Regarding "typical employment-based vesting", it is indeed basically just a quit mechanism that than returns the unvested tokens to some other (configurable) wallet. The use case is where somebody lets say gets 1000 tokens vesting over 4 years as long as they are employed. IF they quit after 3 years, 250 tokens should be returned back to the employer