Seems like you setup a vesting contract per recipient, with a vesting period.
Then you send to tokens to the contract, which can be released via release(token).
Note: combining vested tokens with voting is somewhat complicated.
The following strategies of snapshot retrieve the vested tokens from vesting contracts:
Assuming we want to stay in the Openzeppelin family of contracts, we could use:
Seems like you setup a vesting contract per recipient, with a vesting period. Then you send to tokens to the contract, which can be released via release(token).
Note: combining vested tokens with voting is somewhat complicated. The following strategies of snapshot retrieve the vested tokens from vesting contracts: