Skip to content

LlamaPay/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

About

token vesting escrow with cliff and clawback

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%