Skip to content

yearn/yearn-vesting-escrow

Repository files navigation

Yearn Vesting Escrow

A modified version of Curve Vesting Escrow contracts with added functionality:

  • An escrow can have a start_date in the past.
  • The first unlock can be delayed using cliff_length.
  • An ability to claim partial amounts or use a different beneficiary account.
  • An ability to open_claim and let anyone to claim for beneficiary recipient.
  • An ability to terminate an escrow and choose beneficiary for the unvested tokens using revoke. The recipient is still entitled to the vested portion.
  • An ability to use ERC20 non-compliant token, e.g. USDT.
  • An ability to support_vyper at escrow creation.
  • Factory admin controls removed, anyone can deploy escrows, funds are pulled instead of pushed.
  • Factory emits an event which allows finding all the escrows deployed from it.

Contracts

Usage

$ ape console --network mainnet
funder = accounts.load(name)
factory = project.VestingEscrowFactory.at('0x200C92Dd85730872Ab6A1e7d5E40A067066257cF')
factory.deploy_vesting_contract(token, recipient, amount, vesting_duration, vesting_start, cliff_length, open_claim, support_vyper, owner, sender=funder)

Ethereum mainnet deployment

v0.3.0

This version is audited by Mixbytes.

v0.2.0

v0.1.0

⚠️ This version has an unpatched bug, do not call renounce_ownership on it.

Ethereum Rinkeby testnet deployment

v0.1.0

Ethereum Ropsten testnet deployment

v0.1.0