Giter Site home page Giter Site logo

curve-veboost's Introduction

Curve Voting Escrow Boost Delegation

The Curve DAO Token is the utility token of the Curve Finance ecosystem, primarily created to incentivise liquidity providers on the platform. However, when staked the CRV token becomes veCRV, a non-transferable, linearly decaying, governance token with 2 special abilities. The first is holders of veCRV receive boosted rewards on provided liquidity (up to a maximum of 2.5x), and the second is holders receive 50% of all the trading fees collected across all Curve Finance pools (including factory pools + altchains) in the form of 3CRV.

With the release of the Curve veBoost, veCRV holders can now delegate a fixed allotment of their veCRV boost to third-party accounts in the form of an NFT. These veBoost tokens, are wrapped packages of boost which eligible gauges (currently only factory gauges) use to determine boosted rewards on provided liquidity. This means any account can receive boosted rewards on provided liquidity, without holding veCRV.

For eligible gauges, the equation for determining your adjusted veCRV balance is:

Adjusted veCRV Balance = veCRV Balance - delegated veBoost + received veBoost

Restrictions:

  • Minimum delegation period is 1 Week
  • Maximum delegation period is the delegator's veCRV lock end
  • Delegators can't delegate more than their veCRV balance - any outstanding veBoosts
  • Delegators can't newly delegate (or extend a delegation) with any outstanding negative veBoosts
  • Delegators can't cancel a veBoost before it's cancel time
  • Receivers can cancel a received veBoost at any time
  • Third parties can't cancel a veboost unless it is expired
  • Delegated boost is internally equal to, abs(sum(delegated veboost)), meaning an accounts veCRV balance can never get inflated due to negative outstanding boosts
  • Received boost is internally equal to, max(received veboost, 0), meaning an accounts received boost balance will never result in decreasing their vanilla veCRV balance

The adjusted formula on chain therefore is:

Adjusted veCRV Balance = veCRV Balance - abs(delegated veBoost) + max(received veBoost, 0)

In fact, if an account does not participate in delegating veBoost, their adjusted veCRV balance will never be below their vanilla veCRV balance.

Deployments

Dependencies

Also check the requirements.txt

Testing

Testing is performed in a local development environment

To run the unit tests:

brownie test --stateful false

To run the state tests:

brownie test --stateful true

Deployment

To deploy the contracts, first modify the deployment script to unlock the account you wish to deploy from. Then:

brownie run deploy --network mainnet

License

(c) Curve.Fi, 2021 - All rights reserved.

curve-veboost's People

Contributors

skellet0r avatar iamdefinitelyahuman avatar bout3fiddy avatar kogaroshi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.