Skip to content

MerlinEgalite/solvest

Repository files navigation

Solvest

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.

Installation

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

Deployment

  • Create a .env file and add the DEPLOYER_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 translation

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

About

Easy to use vesting contracts written in Solidity.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published