PageSourceSearch

https://docs.yearn.fi/assets/js/18f9b5ed.f2053bdb.js

js yearn.fi collected 2026-10-02 14:56:07 UTC 10,149 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkyearn_devdocs=self.webpackChunkyearn_devdocs||[]).push([["2880"],{87369:function(e,i,n){n.r(i),n.d(i,{metadata:()=>t,default:()=>h,frontMatter:()=>o,contentTitle:()=>l,toc:()=>c,assets:()=>a});var t=JSON.parse('{"id":"governance/yips/yip-71","title":"YIP-71: Activate veYFI","description":"| Metadata | Details |","source":"@site/docs/contributing/governance/yips/yip-71.md","sourceDirName":"governance/yips","slug":"/governance/yips/yip-71","permalink":"/contributing/governance/yips/yip-71","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":-71,"frontMatter":{"title":"YIP-71: Activate veYFI","hide_title":true,"sidebar_position":-71},"sidebar":"mySidebar","previous":{"title":"YIP-72: Launch yETH","permalink":"/contributing/governance/yips/yip-72"},"next":{"title":"YIP-70: ApeWorX <> Yearn Partnership","permalink":"/contributing/governance/yips/yip-70"}}'),s=n(74848),r=n(28453);let o={title:"YIP-71: Activate veYFI",hide_title:!0,sidebar_position:-71},l="YIP-71: Activate veYFI",a={},c=[{value:"Summary",id:"summary",level:2},{value:"Status",id:"status",level:3},{value:"Abstract",id:"abstract",level:2},{value:"Background",id:"background",level:2},{value:"Out of scope",id:"out-of-scope",level:3},{value:"Motivation",id:"motivation",level:2},{value:"Future possibilities",id:"future-possibilities",level:3},{value:"Risks",id:"risks",level:3},{value:"Alternatives considered",id:"alternatives-considered",level:3},{value:"Specification",id:"specification",level:2},{value:"References",id:"references",level:2}];function d(e){let i={a:"a",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.header,{children:(0,s.jsx)(i.h1,{id:"yip-71-activate-veyfi",children:"YIP-71: Activate veYFI"})}),"\n",(0,s.jsxs)(i.table,{children:[(0,s.jsx)(i.thead,{children:(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.th,{children:"Metadata"}),(0,s.jsx)(i.th,{children:"Details"})]})}),(0,s.jsxs)(i.tbody,{children:[(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"YIP"}),(0,s.jsx)(i.td,{children:"71"})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"Outcome"}),(0,s.jsx)(i.td,{children:(0,s.jsx)(i.strong,{children:"Passed"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"Authors"}),(0,s.jsx)(i.td,{children:"darkghosty, flashfish, jiji, saltyfacu"})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"Created"}),(0,s.jsx)(i.td,{children:"2022-11-25"})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"Forum discussion"}),(0,s.jsx)(i.td,{children:(0,s.jsx)(i.a,{href:"https://gov.yearn.fi/t/proposal-activate-veyfi/12783",children:"View discussion"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"Snapshot vote"}),(0,s.jsx)(i.td,{children:(0,s.jsx)(i.a,{href:"https://snapshot.org/#/s:ybaby.eth/proposal/0xc50b60f712adb8568f10f565fc467e8c5d8fe1f4920683696f81c7920397942a",children:"View vote"})})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"Vote result"}),(0,s.jsx)(i.td,{children:"For: 1,259.81; Against: 2.69; Abstain: 0.02"})]}),(0,s.jsxs)(i.tr,{children:[(0,s.jsx)(i.td,{children:"Source"}),(0,s.jsx)(i.td,{children:(0,s.jsx)(i.a,{href:"https://github.com/yearn/YIPS/blob/master/YIPS/yip-71.md",children:"Source"})})]})]})]}),"\n",(0,s.jsx)(i.h2,{id:"summary",children:"Summary"}),"\n",(0,s.jsx)(i.p,{children:"Replace YFI voting with vote-escrowed YFI (veYFI) voting for all future governance proposals."}),"\n",(0,s.jsx)(i.h3,{id:"status",children:"Status"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"Discussion"}),"\nThis proposal is currently in the discussion phase. As per our voting rules outlined in YIP-55, it will be in discussion for at least 3 days with a non-binding forum poll to gauge sentiment before it can be assigned a YIP number and move to Snapshot for a binding vote."]}),"\n",(0,s.jsx)(i.h2,{id:"abstract",children:"Abstract"}),"\n",(0,s.jsxs)(i.p,{children:[(0,s.jsx)(i.strong,{children:"If adopted"}),", this proposal seeks to:"]}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Replace YFI with veYFI as the voting token in Governance"}),"\n",(0,s.jsx)(i.li,{children:"Adopt a 2 week long moratorium on new YIPs where no proposals will be voted on"}),"\n"]}
1),"\n",(0,s.jsx)(i.h2,{id:"background",children:"Background"}),"\n",(0,s.jsxs)(i.p,{children:["This proposal is the first step in the implementation of YIP-65: Evolving YFI Tokenomics",(0,s.jsx)(i.a,{href:"#references",children:"[1]"}),". YFI is time-locked up to 4 years where a longer lock increases the relative weight in relation to other locked tokens. It is strongly recommended that the reader first familiarize themselves with the concepts of YIP-65 in order to better understand this proposal."]}),"\n",(0,s.jsx)(i.h3,{id:"out-of-scope",children:"Out of scope"}),"\n",(0,s.jsx)(i.p,{children:"The following topics were intentionally not covered by this proposal:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Yearn Tokenomics"}),"\n",(0,s.jsx)(i.li,{children:"Gauges"}),"\n",(0,s.jsx)(i.li,{children:"Rewards"}),"\n",(0,s.jsx)(i.li,{children:"On-chain voting"}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"motivation",children:"Motivation"}),"\n",(0,s.jsx)(i.p,{children:"This implements parts of what was was adopted by YFI voters in YIP-65, namely locking YFI into veYFI, managing one's lock, and using it to vote in governance. There are no YFI rewards or gauges yet. There is no advantage to locking early."}),"\n",(0,s.jsx)(i.h3,{id:"future-possibilities",children:"Future possibilities"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Deploy additional components of YIP-65"}),"\n",(0,s.jsx)(i.li,{children:"Transition to on-chain voting and governance"}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"risks",children:"Risks"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"Governance attacks, mitigated by a moratorium on new YIPs being accepted"}),"\n",(0,s.jsxs)(i.li,{children:["Smart contract risk in the veYFI contracts, which have been mitigated through security reviews by Statemind, yAcademy, and ChainSecurity",(0,s.jsx)(i.a,{href:"#references",children:"[2]"}),"."]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"alternatives-considered",children:"Alternatives considered"}),"\n",(0,s.jsx)(i.p,{children:"None"}),"\n",(0,s.jsx)(i.h2,{id:"specification",children:"Specification"}),"\n",(0,s.jsxs)(i.ol,{children:["\n",(0,s.jsxs)(i.li,{children:["veYFI is implemented as per the deployed contract",(0,s.jsx)(i.a,{href:"#references",children:"[3]"}),", from the veYFI github repo",(0,s.jsx)(i.a,{href:"#references",children:"[4]"}),"."]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.strong,{children:"DO NOT INTERACT WITH THE CONTRACT TO LOCK YFI"})," until this proposal passes. There is ",(0,s.jsx)(i.strong,{children:"NO USE"})," for locking YFI until this time. There is ",(0,s.jsx)(i.strong,{children:"NO UPSIDE"})," in locking early. There are ",(0,s.jsx)(i.strong,{children:"NO REWARDS"})," at this point."]}),"\n",(0,s.jsxs)(i.li,{children:["It's a typical veCRV style locking design:","\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsx)(i.li,{children:"1 lock per address"}),"\n",(0,s.jsx)(i.li,{children:"Min lock: 1 week, max lock 208 weeks (4y)"}),"\n",(0,s.jsx)(i.li,{children:"Linear decay"}),"\n",(0,s.jsx)(i.li,{children:"Extendable lock duration"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(i.li,{children:["Immediately upon the passing of this YIP, ",(0,s.jsx)(i.strong,{children:"all subsequent YIPs are voted on using veYFI"}),"."]}),"\n",(0,s.jsx)(i.li,{children:"Voting continues to be done using Snapshot."}),"\n",(0,s.jsxs)(i.li,{children:["To reduce the risk of governance attacks by allowing enough YFI holders to lock so as not to give small YFI balances outsize influence over the protocol, a ",(0,s.jsx)(i.strong,{children:"2 week moratorium"})," on YIPs are passed. Any YIP proposal submitted in this period will only be considered for voting 2 weeks after the passing of this YIP."]}),"\n",(0,s.jsxs)(i.li,{children:["Contributor YFI is migrated into veYFI as per YIP-66: Streamlining contributor compensation",(0,s.jsx)(i.a,{href:"#references",children:"[5]"}),"."]}),"\n",(0,s.jsx)(i.li,{children:"veYFI voters may replace this voting mechanism in the future with some other design, by submitting a YIP and voting it through."}),"\n"]}),"\n",(0,s.jsx)(i.h2,{id:"references",children:"References"}),"\n",(0,s.jsxs)(i.ol,{children:["\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://gov.yearn.fi/t/yip-65-evolving-yfi-tokenomics/11994",children:"https://gov.yearn.fi/t/yip-65-evolving-yfi-tokenomics/11994"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://github.com/yearn/yearn-security/pull/70/files",children:"https://github.com/yearn/yearn-security/pull/70/files"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://etherscan.io/address/0x90c1f9220d90d3966fbee24045edd73e1d588ad5#code",children:"https://etherscan.io/address/0x90c1f9220d90d3966fbee24045edd73e1d588ad5#code"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://github.com/yearn/veYFI/commit/bb9d8ac9dd90a9a9772b9663ce4fa232fda7bce2",children:"https://github.com/yearn/veYFI/commit/bb9d8ac9dd90a9a9772b9663ce4fa232fda7bce2"})}),"\n",(0,s.jsx)(i.li,{children:(0,s.jsx)(i.a,{href:"https://gov.yearn.fi/t/yip-66-streamlining-contributor-compensation/12247",children:"https://gov.yearn.fi/t/yip-66-streamlining-contributor-compensation/12247"})}),"\n"]})]})}function h(e={}){let{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},28453:function(e,i,n){n.d(i,{R:()=>o,x:()=>l});var t=n(96540);let s={},r=t.createContext(s);function o(e){let i=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),t.createElement(r.Provider,{value:i},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.