Improved version of the MakerDAO dss-vest contracts. Solvest allows to easily create multiple vesting plans with different parameters.
Most noticeable differences compared to dss-vest
:
- Better naming.
- There is only one single owner for a vesting contract instead of multiple owners.
- The owner can protect/unprotect a vesting plan to be revoked by a manager.
- The
cap
has been removed.
Pass the address of the vesting token to the constructor on deploy. This contract must be given authority to mint()
tokens in the vesting contract.
Pass the authorized sender address and the address of the token contract to the constructor to set up the contract for streaming arbitrary ERC20 tokens. Note: this contract must be given approval by the sender to spend tokens on its behalf.
Download foundry:
curl -L https://foundry.paradigm.xyz | bash
Install it:
foundryup
Install dependencies:
git submodule update --init --recursive
Now you can run tests, using forge:
forge test
-
Create a
.env
file and add theDEPLOYER_KEY
to the env file. -
To deploy the
MintVest
contract, run the following command.
forge script scripts/DeployMintVest.s.sol:DeployMintVest --broadcast --rpc-url <RPC_URL> -vvvv
- To deploy the
TransferVest
contract, run the following command.
forge script scripts/DeployTransferVest.s.sol:DeployTransferVest --broadcast --rpc-url <RPC_URL> -vvvv
DssVest | Solvest |
---|---|
wards | owner |
bgn | start |
clf | cliff |
fin | end |
mgr | manager |
res | restricted |
tot | total |
rxd | claimed |
awards | vestings |
vest | claim |
unpaid | unclaimed |
yank | revoke |
pay | transfer |
move | setReceiver |
czar | sender |
gem | token |