PageSourceSearch

https://curve.convexfinance.com/_next/static/chunks/app/stake/page-bae4f8515081469f.js

js convexfinance.com collected 2026-10-03 22:01:04 UTC 137,013 bytes, 40 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3775],{2307:(e,a,s)=>{"use strict";s.d(a,{A:()=>m});var r=s(66305),n=s(67141),t=s(96295),l=s.n(t),o=s(58511),i=s.n(o),c=s(4741),d=s(9113),x=s(80543);function p(e){let{children:a,value:s,index:n,...t}=e;return(0,r.jsx)("div",{role:"tabpanel",hidden:s!==n,id:`tabpanel-${n}`,"aria-labelledby":`tab-${n}`,className:"panel",...t,children:s===n&&a})}p.propTypes={children:i().node.isRequired,index:i().any.isRequired,value:i().any.isRequired};let u=({labels:e,panels:a,externalHandleChange:s,externalValue:t})=>{let[o,i]=void 0!==s&&void 0!==t?[t,void 0]:n.useState(0);return(0,r.jsxs)("div",{className:l().dynamic([["12314157bea31b97",[x.Tj.backgroundLighterDarkOpaque,x.Tj.dark]]])+" container",children:[(0,r.jsx)("div",{className:l().dynamic([["12314157bea31b97",[x.Tj.backgroundLighterDarkOpaque,x.Tj.dark]]])+" tabs-labels-container",children:(0,r.jsx)(c.A,{value:o,onChange:void 0!==s&&void 0!==t?s:(e,a)=>{i(a)},indicatorColor:"secondary",textColor:"inherit",children:e.map((e,a)=>(0,n.createElement)(d.A,{label:e,...{id:`tab-${a}`,"aria-controls":`tabpanel-${a}`},key:a}))})}),a.map((e,a)=>(0,r.jsx)(p,{value:o,index:a,children:e},a)),(0,r.jsx)(l(),{id:"12314157bea31b97",dynamic:[x.Tj.backgroundLighterDarkOpaque,x.Tj.dark],children:`.tabs-labels-container.__jsx-style-dynamic-selector .MuiTabs-root{min-height:0;margin-bottom:10px;background-color:transparent}.tabs-labels-container.__jsx-style-dynamic-selector .MuiTabs-flexContainer{flex-wrap:wrap}.tabs-labels-container.__jsx-style-dynamic-selector .MuiTab-root{box-sizing:border-box;padding:0;width:180px;height:34px;min-height:0;margin-left:10px;margin-top:2px;margin-bottom:2px;line-height:28px;color:#fff;font-size:13px;font-weight:700;background-color:${x.Tj.backgroundLighterDarkOpaque};border-radius:10px}.tabs-labels-container.__jsx-style-dynamic-selector .MuiTab-root.Mui-selected{color:${x.Tj.dark};background-color:#fff}.tabs-labels-container.__jsx-style-dynamic-selector .MuiTabs-indicator{display:none}`})]})};u.propTypes={labels:i().arrayOf(i().string).isRequired,panels:i().arrayOf(i().node).isRequired,externalHandleChange:i().func,externalValue:i().number};let m=n.memo(u)},4386:(e,a,s)=>{"use strict";s.d(a,{T8:()=>h,kl:()=>d,FO:()=>p,wZ:()=>x,eS:()=>j,TU:()=>m,sE:()=>u});var r=s(57676),n=s(78273),t=s(93070),l=s(27972),o=s(90276),i=s(16655);let c=JSON.parse('[{"type":"function","name":"earnedMulti","inputs":[{"name":"_account","type":"address","internalType":"address"}],"outputs":[{"name":"pending","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getAccountWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]'),d=[{address:"0x5f3b5dfeb7b28cdbd7faba78963ee202a494e2a2",decimals:18,balanceHolder:r.A.system.voteProxy,symbol:"veCRV",govTokenSymbol:"CRV",cvxTokenSymbol:"cvxCRV",appName:"Curve",appId:"curve",votingId:"curve",configId:"curve",logoId:"crv"},{address:o.prisma.prismaLocker,contractAbi:i,decimals:0,balanceHolder:o.system.voteProxy,balanceOfMethod:"getAccountWeight",totalSupplyMethod:"getTotalWeight",symbol:"vePRISMA",govTokenSymbol:"PRISMA",cvxTokenSymbol:"cvxPRISMA",appName:"Prisma",appId:"prisma",configId:"prisma",logoId:"prisma"},{address:l.fxn.vefxn,decimals:18,balanceHolder:l.system.voteProxy,symbol:"veFXN",govTokenSymbol:"FXN",cvxTokenSymbol:"cvxFXN",appName:"f(x) Protocol",appId:"fxp",votingId:"fx",configId:"fxp",logoId:"fxn"},{address:n.frax.vefxs,decimals:18,balanceHolder:n.system.voteProxy,symbol:"veFXS",govTokenSymbol:"FXS",cvxTokenSymbol:"cvxFXS",appName:"Frax",appId:"frax",votingId:"frax",configId:"frax",logoId:"fxs"}],x=[...d,{address:"0x22222222E9fE38F6f1FC8C61b25228adB4D8B953",contractAbi:c,decimals:18,balanceHolder:"0xCCCCCccc94bFeCDd365b4Ee6B86108fC91848901",balanceOfMethod:"getAccountWeight",totalSupplyMethod:"getTotalWeight",symbol
1:"RSUP",govTokenSymbol:"RSUP",cvxTokenSymbol:"N/A",appName:"Resupply",appId:"resupply",votingId:"resupply",configId:"resupply",logoId:"resupply"}],p=[{address:t.Qf.d9,decimals:18,balanceHolder:t.qU.Lk,symbol:"veFXS",govTokenSymbol:"FXS",cvxTokenSymbol:"cvxFXS",appName:"Frax",appId:"frax",configId:"frax",logoId:"fxs"}];d.map(({symbol:e})=>e);let u=x.map(({symbol:e})=>e),m=d.map(({govTokenSymbol:e})=>e),j=d.map(({cvxTokenSymbol:e})=>e),h=d.map(({appName:e})=>e)},55307:(e,a,s)=>{Promise.resolve().then(s.bind(s,60998)),Promise.resolve().then(s.bind(s,65640)),Promise.resolve().then(s.bind(s,99070)),Promise.resolve().then(s.bind(s,66579))},57336:(e,a,s)=>{"use strict";s.d(a,{A:()=>b});var r=s(66305),n=s(96295),t=s.n(n),l=s(67141),o=s(58511),i=s.n(o),c=s(93058),d=s(11256),x=s(92473),p=s(16019),u=s(12290),m=s(15406),j=s(33027);let h=({choices:e,onChoiceChange:a,networkChoice:s,noChangeNetworkButton:n=!1})=>{let{ethereumWeb3:{userChainId:o}}=(0,l.useContext)(m.A),i=e.find(e=>j.o1[e].includes(o));(0,l.useEffect)(()=>{void 0!==i&&i!==s&&a(i)},[o]);let h=e=>{a(e.target.closest(".choice-button").getAttribute("data-choice"))};return(0,r.jsxs)("div",{className:"jsx-b4c0db9458117a34 network-choice",children:[(0,r.jsx)(x.A,{children:e.map(e=>(0,r.jsx)(p.A,{className:"choice-button",color:"primary",size:"small",onClick:h,"data-choice":e,variant:e===s?"contained":"outlined",children:j.HA[e]},e))}),!n&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"jsx-b4c0db9458117a34 clearfix"}),void 0!==i&&i!==s&&(0,r.jsxs)(c.A,{severity:"warning",action:(0,r.jsx)(u.A,{to:s,children:"Change Network"}),children:[(0,r.jsxs)(d.A,{children:["You’re currently seeing Curve pools on ",j.HA[s],"."]}),"Please connect to the ",j.HA[s]," network in order to interact with them."]})]}),(0,r.jsx)(t(),{id:"b4c0db9458117a34",children:".clearfix.jsx-b4c0db9458117a34{clear:both}"})]})};h.propTypes={choices:i().arrayOf(i().oneOf(j.Ki)).isRequired,onChoiceChange:i().func.isRequired,noChangeNetworkButton:i().bool};let b=h},60998:(e,a,s)=>{"use strict";let r;s.r(a),s.d(a,{default:()=>eM});var n=s(66305),t=s(67141),l=s(96295),o=s.n(l),i=s(37851),c=s(66671),d=s(12553),x=s(46357),p=s(527),u=s(16019),m=s(9472),j=s(64675),h=s(93058),b=s(11256),f=s(10908),v=s(69025),y=s(95589),g=s(80543),k=s(84260);let T=()=>{let e=f.kl.stakeCvxCrv.balanceHook()?.gt(0),[a,s]=(0,t.useState)(e),[r,l]=(0,t.useState)(0),c=(0,i.A)(r||0),d=(0,k.A)(y.Ay.crv,y.Ay.cvxcrv,c);(0,t.useEffect)(()=>{void 0===a&&e&&s(!0)},[a,e]);let x=(0,t.useCallback)(()=>
1s(!a),[a]),T=void 0!==d?(0,i.A)(d).minus(1).times(100):void 0,A=T?.gt(3);return(0,n.jsxs)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" container",children:[(0,n.jsxs)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" pre-form-container",children:[(0,n.jsxs)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" text-container",children:[(0,n.jsx)("p",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:"Convert CRV to cvxCRV. By staking cvxCRV, you’re earning the usual rewards from veCRV (crvUSD governance fee distribution from Curve + any airdrop), plus a share of 10% of the Convex LPs’ boosted CRV earnings, and CVX tokens on top of that."}),(0,n.jsx)("p",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" note",children:"Important: Converting CRV to cvxCRV is irreversible. You may stake and unstake cvxCRV tokens, but not convert them back to CRV. Secondary markets however exist to allow the exchange of cvxCRV for CRV at varying market rates."})]}),(0,n.jsx)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" switch-container",children:(0,n.jsx)(m.A,{control:(0,n.jsx)(j.A,{size:"small",checked:a||!1,color:"primary",onChange:x}),label:"Advanced"})})]}),A&&c.gt(0)&&(0,n.jsx)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" curve-pricing-info",children:(0,n.jsxs)(h.A,{severity:"info",children:[(0,n.jsxs)(b.A,{children:["You can ",(0,n.jsxs)("strong",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:["get ",(0,v.kW)(T,1),"% more cvxCRV"]})," if you swap your CRV instead of converting them!"]}),(0,n.jsxs)("p",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:["By converting ",(0,v.kW)(c,2)," CRV in the form below, you will get ",(0,n.jsxs)("strong",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:[(0,v.kW)(c,2)," cvxCRV"]}),".",(0,n.jsx)("br",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])}),"By swapping ",(0,v.kW)(c,2)," CRV for cvxCRV on Curve, you will get up to ",(0,n.jsxs)("strong",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:[(0,v.kW)(c.times(T.div(100).plus(1)),2)," cvxCRV (",(0,v.kW)(T,1),"% more)"]})," thanks to current market conditions. Then come back here to stake them!"]}),(0,n.jsx)("a",{href:"https://curve.finance/dex/ethereum/pools/factory-v2-283/swap",target:"_blank",rel:"noopener noreferrer",className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:(0,n.jsx)(u.A,{color:"primary",children:"Swap CRV to cvxCRV on Curve for more cvxCRV"})})]})}),a?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" action-form-container",children:[(0,n.jsx)("p",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:"Convert and stake CRV in one go:"}),(0,n.jsx)(p.A,{label:"Amount of CRV to convert and stake",actionType:"convertAndStakeCrv",onChange:l})]}),(0,n.jsxs)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" action-form-container",children:[(0,n.jsx)("p",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]]),children:"Or separately convert CRV into cvxCRV with this first form, and stake cvxCRV with this second form:"}),(0,n.jsx)(p.A,{label:"Amount of CRV to convert",actionType:"convertCrv",onChange:l}),(0,n.jsx)(p.A,{label:"Amount of cvxCRV to stake",actionType:"stakeCvxCrv"})]})]}):(0,n.jsx)("div",{className:o().dynamic([["9eb583ae57a6c176",[g.Tj.halfTransparentBlue]]])+" action-form-container",children:(0,n.jsx)(p.A,{label:"Amount of CRV to convert and stake",actionType:"convertAndStakeCrv",onChange:l})}),(0,n.jsx)(o(),{id:"9eb583ae57a6c176",dynamic:[g.Tj.halfTransparentBlue],children:`.pre-form-container.__jsx-style-dynamic-selector{display:flex}.text-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:first-child{margin-top:0}.text-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:last-child{margin-bottom:0}.switch-container.__jsx-style-dynamic-selector{margin-left:40px;
1display:flex;align-items:flex-end}.switch-container.__jsx-style-dynamic-selector .MuiFormControlLabel-label{margin-left:5px;font-size:13px;font-weight:700;line-height:24px}.action-form-container.__jsx-style-dynamic-selector{margin-top:14px}.action-form-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:first-child{margin-top:28px}.action-form-container.__jsx-style-dynamic-selector>.container{margin-top:14px}.curve-pricing-info.__jsx-style-dynamic-selector{position:relative}.curve-pricing-info.__jsx-style-dynamic-selector::after{position:absolute;content:"";top:-2px;left:-2px;right:-2px;z-index:0;height:calc(100% + 4px);filter:blur(8px);border-radius:14px;background:linear-gradient(to left,#ff5770,#e4428d,#c42da8,#9e16c3,#6501de,#9e16c3,#c42da8,#e4428d,#ff5770);background-size:200%200%;animation:animateGlow 1.65s linear infinite}.curve-pricing-info.__jsx-style-dynamic-selector .MuiAlert-root{position:relative;z-index:1;margin:20px 0;border-radius:10px;border:1px solid ${g.Tj.halfTransparentBlue};background-color:rgb(232 244 253/85%)}.curve-pricing-info.__jsx-style-dynamic-selector .MuiAlertTitle-root strong{text-decoration:underline}.curve-pricing-info.__jsx-style-dynamic-selector a:hover{text-decoration:none}@keyframes animateGlow{0%{background-position:0%50%}100%{background-position:200%50%}}`})]})};var A=s(24117);let C=()=>(0,n.jsxs)("div",{className:"jsx-ec3f419289ebac53 container",children:[(0,n.jsx)("p",{className:"jsx-ec3f419289ebac53",children:"Unstake cvxCRV. Note that unstaked cvxCRV doesn’t earn anything: any and all rewards only accrue to staked cvxCRV."}),(0,n.jsx)(p.A,{label:"Amount of cvxCRV to unstake",actionType:"unstakeCrv"}),(0,n.jsx)(o(),{id:"ec3f419289ebac53",children:".container.jsx-ec3f419289ebac53>p.jsx-ec3f419289ebac53:first-child{margin-top:0}"})]});var N=s(33965),w=s(64904);let B=()=>{let e=(0,t.useMemo)(()=>new Map([["CRV token address",y.Ay.crv.address],["cvxCRV token address",y.Ay.cvxcrv.address],["Deposit contract address",w.Ay.CrvDepositor.address],["cvxCRV utilities contract address",w.Ay.CvxCrvUtilities.address]]),[]);return(0,n.jsx)(N.A,{addressesMap:e})};var F=s(21080),S=s(37573),R=s(22750),P=s(59587);let _=()=>{let e=(0,t.useContext)(F.A),a=(0,t.useContext)(R.A),s=(0,t.useContext)(S.A),r=e?.CvxCrvWrapper,l=a?.get(y.Ay.cvxcrv.address),p=s?.CvxCrvWrapper,u=f.kl.claimStakedCvxCrvRewards.rewardsBalancesHook(),m=u?.reduce((e,[,,a])=>e.plus(a),(0,i.A)(0)),j=void 0!==r&&void 0!==l?r.times(l):void 0,h=void 0!==p&&void 0!==l?p.times(l):void 0,b=f.kl.setStakedCvxCrvRewardsWeight.ratesAndWeightsHook(),{labels:g,panels:k}=(0,t.useMemo)(()=>({labels:["Convert/Stake","Rewards preferences","Unstake","Info"],panels:[(0,n.jsx)(T,{}),(0,n.jsx)(A.A,{}),(0,n.jsx)(C,{}),(0,n.jsx)(B,{})]}),[]);return(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(x.A,{big:!0,customId:"crv",className:"icon"}),(0,n.jsx)(c.hE,{children:"CRV"})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"(USD value)"})]}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"$"}),void 0===m?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(m)})]})]}),(0,n.jsxs)(c.eB,{className:"grow-less",children:[(0,n.jsxs)(c.dv,{onlyDimSpecifics:!0,children:[(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 dim",children:"My vAPR"}),void 0!==b&&(0,n.jsx)(P.A,{ratesAndWeights:b,display:"account"})]}),(0,n.jsx)(c.UC,{children:void 0===b?"–":(0,n.jsx)("span",{className:"jsx-abb5848b953fe706",children:(0,n.jsxs)("span",{className:"jsx-abb5848b953fe706 absolute-container",children:[(0,v.o)(b.userTotalApr),(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"%"}),(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 hanging-centered",children:(0,n.jsx)(c.UC,{discreet:!0,children:(0,n.jsxs)("span",{className:"jsx-abb5848b953fe706 small",children:["(",(0,v.BU)(b.userRewardWeights[0]),"%—",(0,v.BU)(b.userRewardWeights[1]),"%)"]})})})]})})})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{onlyDimSpecifics:!0,children:[(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 dim",children:"Max vAPR"}),void 0!==b&&(0,n.jsx)(P.A,{ratesAndWeights:b,display:"max"})]}),(0,n.jsx)(c.UC,{children:void 0===b?"–":(0,n.jsxs)("span",{className:"jsx-abb5848b953fe706 flex-hor",children:[(0,n.jsxs)("span",{className:"jsx-abb5848b953fe706 absolute-container",children:[(0,v.o)(b.maxTotalGroup0Apr),(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"%"}),(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 hanging-centered",children:(0,n.jsx)(c.UC,{discreet:!0,children:(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"(100%—0%)"})})})]}),(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 separator",children:"|"}),(0,n.jsxs)("span",{className:"jsx-abb5848b953fe706 absolute-container",children:[(0,v.o)(b.maxTotalGroup1Apr),(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"%"}),(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 hanging-centered",children:(0,n.jsx)(c.UC,{discreet:!0,children:(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"(0%—100%)"})})})]})]})})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"My cvxCRV Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===r?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(r,2)})," ",(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"cvxCRV"}),void 0!==j&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"$"}),(0,v.sz)(j,2)]})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"TVL"}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"jsx-abb5848b953fe706 small",children:"$"}),void 0===h?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(h,2)})]})]}),(0,n.jsx)(o(),{id:"abb5848b953fe706",children:".flex-hor.jsx-abb5848b953fe706{dis
1play:flex;justify-content:space-between}.flex-hor.jsx-abb5848b953fe706 .separator.jsx-abb5848b953fe706{padding:0 8px}.absolute-container.jsx-abb5848b953fe706{position:relative}.hanging-centered.jsx-abb5848b953fe706{display:block;position:absolute;width:70px;margin-top:-5px;left:50%;transform:translatex(-50%);font-size:.8em;text-align:center}"})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:g,panels:k})}),variant:"primary",expanded:!0})},I=()=>(0,n.jsxs)("div",{className:"jsx-c4db2cfe7bb6844c container",children:[(0,n.jsxs)(h.A,{severity:"info",children:[(0,n.jsx)("strong",{className:"jsx-c4db2cfe7bb6844c",children:"Please migrate your staked cvxCRV to the new staking contract!"}),(0,n.jsx)("br",{className:"jsx-c4db2cfe7bb6844c"}),"A new cvxCrv staking contract has been deployed, with a bunch of improvements such as the ability to receive more of one type of rewards over another. You can ",(0,n.jsx)("a",{href:"https://convexfinance.medium.com/january-2023-update-cvxcrv-staking-changes-c776447ca90c",target:"_blank",rel:"noopener noreferrer",className:"jsx-c4db2cfe7bb6844c",children:"read more in this blog post."}),(0,n.jsx)("br",{className:"jsx-c4db2cfe7bb6844c"}),"In order to continue accruing rewards, please migrate to the new contract by unstaking your cvxCRV from this old contract, and staking them on the new contract instead. This old contract will disappear from your Convex dashboard once you’ve unstaked all your cvxCRV from it (note: you’ll still see it on the Claim page for as long as you have rewards left to claim)."]}),(0,n.jsx)(p.A,{label:"Amount of cvxCRV to unstake",actionType:"unstakeCrvOld"}),(0,n.jsx)(o(),{id:"c4db2cfe7bb6844c",children:".container.jsx-c4db2cfe7bb6844c>p.jsx-c4db2cfe7bb6844c:first-child{margin-top:0}.container.jsx-c4db2cfe7bb6844c .MuiAlert-root{margin-top:0}"})]}),U=()=>{let e=(0,t.useMemo)(()=>new Map([["CRV token address",y.Ay.crv.address],["cvxCRV token address",y.Ay.cvxcrv.address],["Deposit contract address",w.Ay.CrvDepositor.address],["Rewards contract address",w.Ay.CvxCrvRewards.address]]),[]);return(0,n.jsx)(N.A,{addressesMap:e})};var D=s(65468);let V=()=>{let e=(0,t.useContext)(F.A),a=(0,t.useContext)(R.A),s=(0,t.useContext)(S.A),r=e?.CvxCrvRewards,l=a?.get(y.Ay.cvxcrv.address),o=s?.CvxCrvRewards,p=f.kl.claimStakedCvxCrvRewardsOld.rewardsBalancesHook(),u=p?.reduce((e,[,,a])=>e.plus(a),(0,i.A)(0)),m=void 0!==r&&void 0!==l?r.times(l):void 0,j=void 0!==o&&void 0!==l?o.times(l):void 0,{cumulativeApy:h,crvApy:b,cvxApy:g,tricrvApy:k}=f.kl.convertAndStakeCrvOld.apyHook(s),{labels:T,panels:A}=(0,t.useMemo)(()=>({labels:["Unstake","Info"],panels:[(0,n.jsx)(I,{}),(0,n.jsx)(U,{})]}),[]);return m?.gt(0)?(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{className:"faded",children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(x.A,{big:!0,customId:"crv",className:"icon"}),(0,n.jsx)(c.hE,{children:"(Old) CRV"})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"small",children:"(USD value)"})]}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===u?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(u)})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"vAPR"}),(0,n.jsx)(c.UC,{children:void 0===h?"–":(0,n.jsxs)("span",{children:[(0,v.o)(h),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(D.A,{cumulativeApy:h,crvApy:b,cvxApy:g,tricrvApy:k})]})})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"My cvxCRV Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===r?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(r,2)})," ",(0,n.jsx)("span",{className:"small",children:"cvxCRV"}),void 0!==m&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,v.sz)(m,2)]})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"TVL"}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===j?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(j,2)})]})]})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:T,panels:A})}),variant:"primary",expanded:!0}):null};var X=s(58511),M=s.n(X),L=s(91993),$=s(80910),z=s(13139),q=s(3380),H=s(78212),O=s(98322),E=s(8546),W=s(60920),K=s(19131),G=s(25697),Y=s(15328),J=s(57336),Q=s(56474),Z=s(48491),ee=s(5901);let ea=new Map([[!1,"Showing only inactive pools"],[!0,"Showing only active pools"]]),es=({value:e,onCh
1ange:a,disabled:s=!1})=>{let r=(0,t.useCallback)(()=>a(!e),[a,e]);return(0,n.jsxs)("div",{className:o().dynamic([["35837c21c74f6da0",[g.Tj.backgroundGrey]]])+" container",children:[(0,n.jsx)(m.A,{control:(0,n.jsx)(j.A,{size:"small",color:"secondary",onChange:r,checked:e,disabled:s}),label:ea.get(e)}),(0,n.jsx)(o(),{id:"35837c21c74f6da0",dynamic:[g.Tj.backgroundGrey],children:`.container.__jsx-style-dynamic-selector{position:absolute;right:0;top:55px;height:31px;line-height:31px;padding:0 10px 0 6px;display:flex;align-items:flex-end;background-color:${g.Tj.backgroundGrey};font-weight:400;border-radius:10px}.container.__jsx-style-dynamic-selector .MuiCheckbox-root{padding:0 4px 0 0}.container.__jsx-style-dynamic-selector .MuiFormControlLabel-root{height:100%;margin:0}.container.__jsx-style-dynamic-selector .MuiFormControlLabel-label{margin-left:5px;font-size:13px;font-weight:700;line-height:24px}@media screen and (max-width:800px){.container.__jsx-style-dynamic-selector{position:static;width:fit-content;margin-bottom:5px}}`})]})};es.propTypes={value:M().bool.isRequired,onChange:M().func.isRequired,disabled:M().bool};var er=s(80955);let en={ethereum:S.A,arbitrum:H.A,polygon:O.A,fraxtal:E.A},et=["ethereum","arbitrum","polygon","fraxtal"],el=new Map([[!1,({currentAprData:e,totalLockedUsdValue:a,cumulativeApy:s})=>!e.cumulativeApy?.gt(1)&&(void 0===s||!s.gt(1))&&!a?.gte(1e4)],[!0,({currentAprData:e,totalLockedUsdValue:a,cumulativeApy:s})=>e.cumulativeApy?.gt(1)||void 0!==s&&s.gt(1)||a?.gte(1e4)]]),eo=({stakableBalance:e})=>e?.gt(0),ei=({sortData:e,SortHeader:a,searchAndFilterData:s,SearchAndFilterBox:r,EmptyResultPlaceholder:l,updateFilterBy:i,filterBy:d})=>{let[x,p]=(0,t.useState)("ethereum"),[m,j]=(0,t.useState)(!0),h=(0,t.useContext)(en[x]),b=(0,t.useContext)(W.A),f=(0,t.useContext)(K.A),v=(0,t.useContext)(G.A),k=(0,t.useContext)(R.A),T=k?.get(y.Ay.cvx.address),{poolsWithDepositsAndRewards:A,appendedDataCacheIdentifier:C}=(0,er.A)((0,Z.getCurvePools)(x),f),N=(0,q.O)(A,C,h,T,b,v,k),w=(0,t.useMemo)(()=>N.filter(el.get(m)),[N,m]),B=s(e(w)).filter(q.c),F=(0,t.useCallback)(()=>i("all"),[]),S=(0,t.useCallback)(()=>i("to deposit"),[]),P=(0,t.useMemo)(()=>w.some(eo),[w]);return(0,n.jsxs)("div",{className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]])+" box",children:[(0,n.jsx)("h2",{className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]]),children:"Stake Curve LP Tokens"}),(0,n.jsx)(J.A,{choices:et,onChoiceChange:p,networkChoice:x}),(0,n.jsx)(es,{onChange:j,value:m}),(0,n.jsx)(r,{additionalButtons:P?(0,n.jsx)(Q.A,{arrow:!0,title:"Pools with balances available to deposit and earn rewards",children:(0,n.jsx)(u.A,{className:"filter-button",color:"primary",size:"small",onClick:S,variant:"to deposit"===d?"contained":"outlined",children:"to deposit"})}):null,className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]])}),(0,n.jsxs)(c.A0,{children:[(0,n.jsx)(c.eB,{larger:!0,children:(0,n.jsx)(a,{sortBy:"name",className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]]),children:"Pool"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"poolEarnedUsdValueNumber",inverseDir:!0,className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]]),children:"Claimable"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"apyNumber",inverseDir:!0,className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]]),children:"vAPR"})}),(0,n.jsx)(c.eB,{children:"to deposit"===d?(0,n.jsx)(a,{sortBy:"stakableBalanceUsdValueNumber",inverseDir:!0,className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]]),children:"To Deposit"}):(0,n.jsx)(a,{sortBy:"stakedBalanceUsdValueNumber",inverseDir:!0,className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTrans
1parentBlue,g.Tj.veryTransparentBlue]]]),children:"My Deposits"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"totalLockedUsdValueNumber",inverseDir:!0,className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]]),children:"TVL"})})]}),B.map(e=>{let{id:a,name:s,convexPoolData:r,lpTokenInfo:{symbol:t},stakedBalance:l,stakedBalanceUsdValue:o,stakableBalance:i,poolEarnedUsdValue:c,totalLockedUsdValue:d,currentAprData:p,cumulativeApy:u,crvBoost:m,baseApy:j,crvApy:h,cvxApy:b,additionalRewards:f,isPendingHarvest:v}=e;return(0,n.jsx)(z.A,{networkChoice:x,id:a,convexPoolId:r.id,name:s,lpTokenSymbol:t,stakedBalance:l,stakedBalanceUsdValue:o,stakableBalance:i,poolEarnedUsdValue:c,totalLockedUsdValue:d,isPendingHarvest:v,currentAprData:p,cumulativeApy:u,crvBoost:m,baseApy:j,crvApy:h,cvxApy:b,additionalRewards:f},r.id)}),B.length>0&&"my pools"===d&&(0,n.jsxs)(u.A,{onClick:F,size:"large",variant:"outlined",className:"show-all-pools-button",children:["Show All Curve Pools ",(0,n.jsx)(Y.A,{})]}),0===B.length&&(0,n.jsx)(l,{className:o().dynamic([["73f649c2711c399d",[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue]]])}),(0,n.jsx)(o(),{id:"73f649c2711c399d",dynamic:[g.Tj.blue,g.Tj.blue,g.Tj.veriestTransparentBlue,g.Tj.veryTransparentBlue],children:`.show-all-pools-button{width:100%;height:48px;box-sizing:border-box;color:${g.Tj.blue};border-color:${g.Tj.blue};background-color:${g.Tj.veriestTransparentBlue}}.show-all-pools-button:hover{background-color:${g.Tj.veryTransparentBlue}}.box.__jsx-style-dynamic-selector{position:relative}.box.__jsx-style-dynamic-selector h2.__jsx-style-dynamic-selector{float:left}.box.__jsx-style-dynamic-selector .network-choice .MuiButtonGroup-root{float:left;margin:55px 0 0 20px}.box.__jsx-style-dynamic-selector .network-choice .MuiAlert-root{margin-top:5px}.box.__jsx-style-dynamic-selector .synthetix-warning-icon-container{position:absolute;color:red;width:24px;height:24px;margin-left:4px;margin-top:-3px}.box.__jsx-style-dynamic-selector .points-campaigns{display:flex;gap:2px}`})]})};ei.propTypes={sortData:M().func.isRequired,SortHeader:M().func.isRequired,searchAndFilterData:M().func.isRequired,SearchAndFilterBox:M().func.isRequired,EmptyResultPlaceholder:M().func.isRequired,updateFilterBy:M().func.isRequired,updateSearch:M().func.isRequired,filterBy:M().string.isRequired};let ec=(0,$.A)((0,L.A)(ei,{defaultSortBy:"stakedBalanceUsdValueNumber",defaultSortDir:"desc",sortBy2:"apyNumberFilteredByTvl",sortDir2:"desc"}),{defaultFilterBy:"my pools",filters:[{name:"to deposit",predicate:eo,labelInText:"to-deposit",noButton:!0},{name:"my pools",predicate:({stakedBalance:e,poolEarnedUsdValue:a})=>e?.gt(0)||a?.gt(0),fallbackIfNoResult:e=>e.slice(0,5),labelInText:"my"},{name:"all",predicate:()=>!0,labelInText:"all"},{name:"stable",predicate:({registryId:e})=>"main"===e||"factory"===e||"factory-stable-ng"===e,labelInText:"stable",tooltipText:"Pools with assets whose value is meant to remain stable relative to each other"},{name:"crypto",predicate:({registryId:e})=>"crypto"===e||"factory-crypto"===e||"factory-twocrypto"===e||"factory-tricrypto"===e,labelInText:"crypto",tooltipText:"Pools with assets whose value is meant to fluctuate relative to each other"},{name:"crvusd",predicate:e=>"factory-crvusd"===e.registryId||e.coins.some(({address:e})=>(0,ee.lc)(e)===(0,ee.lc)(y.Ay.crvusd.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.crvusd_arbi.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.crvusd_poly.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.crvusd_fraxtal.address)),labelInText:"crvUSD",tooltipText:"Pools containing Curve’s US dollar stablecoin, crvUSD"},{name:"convex",predicate:e=>e.coins.some(({address:e})=>(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvx.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvx_arbi.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvx_arbi_old.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvx_polygon.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvx_fraxtal.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvxcrv.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvxfxs.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvxfpis.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvxfxn.address)||(0,ee.lc)(e)===(0,ee.lc)(y.Ay.cvxprisma.address)),labelInText:"Convex assets",tooltipText:"Pools containing any Convex tokens: CVX, cvxCRV, cvxFXS, cvxFPIS, cvxFXN or cvxPRISMA"}]});var ed=s(59735);let ex={ethereum:S.A,fraxtal:E.A},ep=["ethereum","fraxtal"],eu=({stakableBalance:e})=>e?.gt(0),em=({sortData:e,SortHeader:a,searchAndFilterData:s,SearchAndFilterBox:r,EmptyResultPlaceholder:l,updateFilterBy:i,filterBy:d})=>{let[x,p]=(0,t.useState)("ethereum"),m=(0,t.useContext)(ex[x]),j=(0,t.useContext)(W.A),h=(0,t.useContext)(K.A),b=(0,t.useContext)(G.A),f=(0,t.useContext)(R.A),v=f?.get(y.Ay.cvx.address),{poolsWithDepositsAndRewards:g,appendedDataCacheIdentifier:k}=(0,er.A)((0,Z.getCurveLendingVaults)(x),h),T=(0,q.O)(g,k,m,v,j,b,f),A=s(e(T)).filter(q.c),C=(0,t.useCallback)(()=>i("all"),[]),N=(0,t.useCallback)(()=>i("to deposit"),[]),w=(0,t.useMemo)(()=>T.some(eu),[T]);return(0,n.jsxs)("div",{className:"jsx-79f30d479e6588ff box",children:[(0,n.jsx)("h2",{className:"jsx-79f30d479e6588ff",children:"Stake Curve Lending Vault Tokens"}),(0,n.jsx)(J.A,{choices:ep,onChoiceChange:p,networkChoice:x}),(0,n.jsx)(r,{inputLabel:"Search lending vaults",additionalButtons:w?(0,n.jsx)(Q.A,{arrow:!0,title:"Vaults with balances available to deposit and earn rewards",children:(0,n.jsx)(u.A,{className:"filter-button",color:"primary",size:"small",onClick:N,variant:"to deposit"===d?"contained":"outlined",children:"to deposit"})}):null,className:"jsx-79f30d479e6588ff"}),(0,n.jsxs)(c.A0,{children:[(0,n.jsx)(c.eB,{larger:!0,children:(0,n.jsx)(a,{sortBy:"name",className:"jsx-79f30d479e6588ff",children:"Lending Vault"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"poolEarnedUsdValueNumber",inverseDir:!0,
1className:"jsx-79f30d479e6588ff",children:"Claimable"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"apyNumber",inverseDir:!0,className:"jsx-79f30d479e6588ff",children:"vAPR"})}),(0,n.jsx)(c.eB,{children:"to deposit"===d?(0,n.jsx)(a,{sortBy:"stakableBalanceUsdValueNumber",inverseDir:!0,className:"jsx-79f30d479e6588ff",children:"To Deposit"}):(0,n.jsx)(a,{sortBy:"stakedBalanceUsdValueNumber",inverseDir:!0,className:"jsx-79f30d479e6588ff",children:"My Deposits"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"totalLockedUsdValueNumber",inverseDir:!0,className:"jsx-79f30d479e6588ff",children:"TVL"})})]}),A.map(e=>{let{id:a,name:s,convexPoolData:r,lpTokenInfo:{symbol:t},stakedBalance:l,stakedBalanceUsdValue:o,stakableBalance:i,poolEarnedUsdValue:c,totalLockedUsdValue:d,currentAprData:p,cumulativeApy:u,crvBoost:m,baseApy:j,crvApy:h,cvxApy:b,additionalRewards:f,isPendingHarvest:v}=e;return(0,n.jsx)(ed.A,{networkChoice:x,id:a,convexPoolId:r.id,name:s,lpTokenSymbol:t,stakedBalance:l,stakedBalanceUsdValue:o,stakableBalance:i,poolEarnedUsdValue:c,totalLockedUsdValue:d,isPendingHarvest:v,currentAprData:p,cumulativeApy:u,crvBoost:m,baseApy:j,crvApy:h,cvxApy:b,additionalRewards:f},r.id)}),A.length>0&&"my vaults"===d&&(0,n.jsxs)(u.A,{onClick:C,size:"large",variant:"outlined",className:"show-all-pools-button",children:["Show All Curve Lending Vaults ",(0,n.jsx)(Y.A,{})]}),0===A.length&&(0,n.jsx)(l,{className:"jsx-79f30d479e6588ff"}),(0,n.jsx)(o(),{id:"79f30d479e6588ff",children:".box.jsx-79f30d479e6588ff{position:relative}.box.jsx-79f30d479e6588ff h2.jsx-79f30d479e6588ff{float:left}.box.jsx-79f30d479e6588ff .network-choice .MuiButtonGroup-root{float:left;margin:55px 0 0 20px}.box.jsx-79f30d479e6588ff .network-choice .MuiAlert-root{margin-top:5px}.box.jsx-79f30d479e6588ff .points-campaigns{display:flex;gap:2px}"})]})};em.propTypes={sortData:M().func.isRequired,SortHeader:M().func.isRequired,searchAndFilterData:M().func.isRequired,SearchAndFilterBox:M().func.isRequired,EmptyResultPlaceholder:M().func.isRequired,updateFilterBy:M().func.isRequired,updateSearch:M().func.isRequired,filterBy:M().string.isRequired};let ej=(0,$.A)((0,L.A)(em,{defaultSortBy:"stakedBalanceUsdValueNumber",defaultSortDir:"desc",sortBy2:"apyNumber",sortDir2:"desc"}),{defaultFilterBy:"my vaults",filters:[{name:"to deposit",predicate:eu,labelInText:"to-deposit",noButton:!0},{name:"my vaults",predicate:({stakedBalance:e,poolEarnedUsdValue:a})=>e?.gt(0)||a?.gt(0),fallbackIfNoResult:e=>e.slice(0,5),labelInText:"my"},{name:"all",predicate:()=>!0,labelInText:"all"}]});var eh=s(4386),eb=s(31804);let ef=()=>(0,n.jsxs)("div",{className:"jsx-cb4391b648587e26 container",children:[(0,n.jsx)("p",{className:"jsx-cb4391b648587e26",children:"Stake CVX on Convex to earn a portion of the platform’s revenue, distributed as cvxCRV tokens."}),(0,n.jsxs)(h.A,{severity:"info",children:["Note: you can also ",(0,n.jsx)("a",{href:`${eb.Rh.root}/lock-cvx`,target:"_blank",rel:"noopener noreferrer",className:"jsx-cb4391b648587e26 menu-item",children:"Lock CVX"}),".",(0,n.jsx)("br",{className:"jsx-cb4391b648587e26"}),(0,n.jsx)("i",{className:"jsx-cb4391b648587e26",children:"Staked CVX"})," earns a share of platform revenue, and can be withdrawn at any time.",(0,n.jsx)("br",{className:"jsx-cb4391b648587e26"}),(0,n.jsx)("i",{className:"jsx-cb4391b648587e26",children:"Locked CVX"})," earns a different share of platform revenue, and allows to vote on all governance proposals related to Convex and all of its integrated platforms (",eh.T8.join(", "),"); however, ",(0,n.jsx)("i",{className:"jsx-cb4391b648587e26",children:"locked CVX"})," can only be withdrawn at the end of your lock period."]}),(0,n.jsx)(p.A,{label:"Amount of CVX to stake",actionType:"stakeCvx"}),(0,n.jsx)(o(),{id:"cb4391b648587e26",children:"p.jsx-cb4391b648587e26:first-child{margin-top:0}"})]}),ev=()=>(0,n.jsx)("div",{className:"container",children:(0,n.jsx)(p.A,{label:"Amount of CVX to unstake",actionType:"unstakeCvx"})}),ey=()=>{let e=(0,t.useMemo)(()=>new Map([["CVX token address",y.Ay.cvx.address],["Rewards contract address",w.Ay.CvxRewards.address]]),[]);return(0,n.jsx)(N.A,{addressesMap:e})};var eg=s(43814),ek=s(50318);let eT=()=>{let e=(0,t.useContext)(F.A),a=e?.CvxRewards,s=(0,t.useContext)(eg.A),r=(0,t.useContext)(R.A),l=r?.get(y.Ay.cvx.address),o=void 0!==a&&void 0!==l?a.times(l):void 0,p=f.kl.claimStakedCvxRewards.rewardsBalancesHook(s,r),u=p?.reduce((e,[,,a])=>e.plus(a),(0,i.A)(0)),m=f.kl.stakeCvx.apyHook(r),j=f.kl.unstakeCvx.tvlHook(),{labels:h,panels:b}=(0,t.useMemo)(()=>({labels:["Stake","Unstake","Info"],panels:[(0,n.jsx)(ef,{}),(0,n.jsx)(ev,{}),(0,n.jsx)(ey,{})]}),[]);return(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(x.A,{big:!0,
1customId:"cvx",className:"icon"}),(0,n.jsx)(c.hE,{children:"CVX"})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"small",children:"(USD value)"})]}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===u?"–":(0,n.jsx)(t.Fragment,{children:(0,v.sz)(u)})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"vAPR"}),(0,n.jsx)(c.UC,{children:void 0===m?"–":(0,n.jsxs)("span",{children:[(0,v.o)(m),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(ek.A,{apy:m})]})})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"My CVX Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===a?"–":(0,n.jsx)(t.Fragment,{children:(0,v.sz)(a,2)})," ",(0,n.jsx)("span",{className:"small",children:"CVX"}),void 0!==o&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,v.sz)(o,2)]})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"TVL"}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===j?"–":(0,n.jsx)(t.Fragment,{children:(0,v.sz)(j,2)})]})]})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:h,panels:b})}),variant:"primary",expanded:!0})};var eA=s(21576),eC=s(1356);let eN=({poolName:e})=>{let a=(0,eA.qm)(e),s=0===a.pid?"cvxCRV/CRV":"CVX/ETH";return(0,n.jsxs)("div",{className:"jsx-de51cb978a455ac9 container",children:[(0,n.jsxs)("p",{className:"jsx-de51cb978a455ac9",children:["Deposit liquidity into the ",(0,n.jsxs)("a",{href:a.poolUrl,target:"_blank",rel:"noopener noreferrer",className:"jsx-de51cb978a455ac9",children:["SushiSwap ",a.name," pool"]}),", and then stake your ",a.lpTokenInfo.name," tokens here to earn SUSHI on top of SushiSwap trading fees."]}),(0,n.jsxs)(h.A,{severity:"warning",children:["Note: This pool is still active, but has been superseded by a more efficient ",s," pool on Curve. CVX rewards are being distributed to that Curve pool. You should probably deposit into this newer pool instead. To deposit and stake into the Curve ",s," pool, you can find it in the list of all Curve pools higher up this page (section “Stake Curve LP Tokens”)."]}),(0,n.jsx)(p.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to stake`,actionType:"stakeDexLpToken1",extraData:{actionPool:a}}),(0,n.jsx)(o(),{id:"de51cb978a455ac9",children:"p.jsx-de51cb978a455ac9:first-child{margin-top:0}"})]})};eN.propTypes={poolName:M().string.isRequired};let ew=({poolName:e,hasStakedBalancesInOldContract:a})=>{let s=(0,eA.qm)(e);return(0,n.jsxs)("div",{className:o().dynamic([["873646cf705c57d5",[g.Tj.orangeLight]]])+" container",children:[a&&(0,n.jsxs)("div",{className:o().dynamic([["873646cf705c57d5",[g.Tj.orangeLight]]])+" withdraw-from-old",children:[(0,n.jsx)("p",{className:o().dynamic([["873646cf705c57d5",[g.Tj.orangeLight]]]),children:"Please unstake your SLP tokens from this old staking contract and stake them on the new one in order to continue receiving rewards, plus SUSHI rewards on top!"}),(0,n.jsx)(p.A,{label:`Amount of ${s.lpTokenInfo.symbol} tokens to unstake`,actionType:"unstakeDexLpToken0",extraData:{actionPool:s}})]}),(0,n.jsx)(p.A,{label:`Amount of ${s.lpTokenInfo.symbol} tokens to unstake`,actionType:"unstakeDexLpToken1",extraData:{actionPool:s}}),(0,n.jsx)(o(),{id:"873646cf705c57d5",dynamic:[g.Tj.orangeLight],children:`p.__jsx-style-dynamic-selector:first-child{margin-top:0}.withdraw-from-old.__jsx-style-dynamic-selector{margin-bottom:30px;padding:20px;border-radius:10px;background:${g.Tj.orangeLight}}`})]})};ew.propTypes={poolName:M().string.isRequired,hasStakedBalancesInOldContract:M().bool.isRequired};let eB=({poolName:e})=>{let a=(0,eA.qm)(e),s=new Map([["LP token address",a.address],["Deposit contract address",w.Ay.ConvexMasterChef.address],[`SushiSwap ${a.name} pool`,a.poolUrl]]);return(0,n.jsx)(N.A,{addressesMap:s,network:a.blockchainId})};eB.propTypes={poolName:M().string.isRequired};var eF=s(93746),eS=s(51905);let eR=["Stake","Unstake","Info"],eP=({name:e,lpTokenSymbol:a,tokens:s,stakedBalance:r,stakedBalanceUsdValue:l,hasStakedBalancesInOldContract:o,poolEarnedUsdValue:i,totalLockedUsdValue:x,cumulativeApy:p,basePoolApy:u,cvxApy:m,sushiApy:j})=>{let h=(0,t.useMemo)(()=>[(0,n.jsx)(eN,{poolName:e}),(0,n.jsx)(ew,{poolName:e,hasStakedBalancesInOldContract:o}),(0,n.jsx)(eB,{poolName:e})],[e,o]);return(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(eC.A,{firstIconProps:s[0],secondIconProps:s[1]}),(0,n.jsxs)(c.hE,{children:[e,o&&(0,n.jsx)(Q.A,{title:"You have SLP tokens staked in an old staking contract that doesn’t accrue rewards anymore, please expand and select the “Unstake” tab to see more",arrow:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(eF.A,{})})})]})]}),(0,n.jsx)(c.eB,{children:(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===i?"–":(0,n.jsx)(t.Fragment,{children:(0,v.sz)(i)})]})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(c.UC,{children:void 0===p?"–":(0,n.jsxs)("span",{children:[(0,v.o)(p),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(eS.A,{name:e,firstIconProps:s[0],secondIconProps:s[1],basePoolApy:u,sushiApy:j,cvxApy:m,cumulativeApy:p})]})})}),(0,n.jsx)(c.eB,{children:(0,n.jsxs)(c.UC,{children:[void 0===r?"–":(0,n.jsx)(t.Fragment,{children:(0,v.kW)(r,2)})," ",(0,n.jsx)("span",{className:"small",children:a}),void 0!==l&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,v.sz)(l,2)]})]})}),(0,n.jsx)(c.eB,{children:(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===x?"–":(0,n.jsx)(t.Fragment,{children:(0,v.sz)(x)})]})})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:eR,panels:h})})},e)};
1eP.propTypes={name:M().string.isRequired,lpTokenSymbol:M().string.isRequired,tokens:M().array.isRequired,hasStakedBalancesInOldContract:M().bool.isRequired,stakedBalance:M().instanceOf(i.A),stakedBalanceUsdValue:M().instanceOf(i.A),poolEarnedUsdValue:M().instanceOf(i.A),totalLockedUsdValue:M().instanceOf(i.A),cumulativeApy:M().instanceOf(i.A),basePoolApy:M().instanceOf(i.A),cvxApy:M().instanceOf(i.A),sushiApy:M().instanceOf(i.A)};let e_=t.memo(eP,(e,a)=>!!(e.name===a.name&&e.lpTokenSymbol===a.lpTokenSymbol&&e.tokens?.toString()===a.tokens?.toString()&&(e.stakedBalance===a.stakedBalance||e.stakedBalance?.eq(a.stakedBalance))&&(e.stakedBalanceUsdValue===a.stakedBalanceUsdValue||e.stakedBalanceUsdValue?.eq(a.stakedBalanceUsdValue))&&(e.poolEarnedUsdValue===a.poolEarnedUsdValue||e.poolEarnedUsdValue?.eq(a.poolEarnedUsdValue))&&(e.totalLockedUsdValue===a.totalLockedUsdValue||e.totalLockedUsdValue?.eq(a.totalLockedUsdValue))&&(e.cumulativeApy===a.cumulativeApy||e.cumulativeApy?.eq(a.cumulativeApy))));var eI=s(9927),eU=s(84150),eD=s(97400);let eV=()=>{let e=(0,t.useContext)(eI.A),a=(0,t.useContext)(eU.A),s=(0,eD.A)(eA.Ay).map(s=>{let r=f.kl.unstakeDexLpToken0.tvlHook({actionPool:s},a),n=f.kl.unstakeDexLpToken1.tvlHook({actionPool:s},a),{cumulativeApy:t,basePoolApy:l,cvxApy:o,sushiApy:i}=e?.[s.id],c=void 0!==r&&void 0!==n?r.plus(n):void 0;return{...s,totalLockedUsdValue:c,totalLockedUsdValueNumber:c?.toNumber(),cumulativeApy:t,basePoolApy:l,cvxApy:o,sushiApy:i}});return s.some(({stakedBalance:e,poolEarnedUsdValue:a})=>e?.gt(0)||a?.gt(0))?(0,n.jsxs)(t.Fragment,{children:[(0,n.jsx)("h2",{children:"Provide liquidity on SushiSwap"}),(0,n.jsxs)(c.A0,{children:[(0,n.jsx)(c.eB,{children:"Pool Name"}),(0,n.jsx)(c.eB,{children:"Claimable"}),(0,n.jsx)(c.eB,{children:"vAPR"}),(0,n.jsx)(c.eB,{children:"My Staked Balances"}),(0,n.jsx)(c.eB,{children:"TVL"})]}),s.map(({name:e,tokens:a,lpTokenInfo:{symbol:s},stakedBalance:r,stakedBalanceUsdValue:t,hasStakedBalancesInOldContract:l,poolEarnedUsdValue:o,totalLockedUsdValue:i,cumulativeApy:c,basePoolApy:d,cvxApy:x,sushiApy:p})=>(0,n.jsx)(e_,{name:e,lpTokenSymbol:s,tokens:a,stakedBalance:r,stakedBalanceUsdValue:t,hasStakedBalancesInOldContract:l,poolEarnedUsdValue:o,totalLockedUsdValue:i,cumulativeApy:c,basePoolApy:d,cvxApy:x,sushiApy:p},e))]}):null};var eX=s(29674);(0,s(41732).Kc)(()=>(0,Z.arePoolsLoaded)()&&(0,Z.areLendingVaultsLoaded)()&&(0,w.zE)()).then(()=>{r&&r(!0)});let eM=()=>{let[,e]=(0,t.useState)(!1);return r=e,(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{className:"white",children:"cvxCRV"}),(0,n.jsx)(V,{}),(0,n.jsx)(_,{}),(0,Z.arePoolsLoaded)()&&(0,Z.areLendingVaultsLoaded)()&&(0,w.zE)()?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(ec,{}),(0,n.jsx)(ej,{})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{children:"Stake Curve LP Tokens"}),(0,n.jsx)(eX.A,{children:(0,n.jsx)("p",{children:(0,n.jsx)("i",{children:"Loading pools…"})})})]}),(0,n.jsx)("h2",{id:"stake-cvx",children:"Stake your CVX to earn cvxCRV"}),(0,n.jsx)(eT,{}),(0,n.jsx)(eV,{})]})}},65640:(e,a,s)=>{"use strict";let r;s.r(a),s.d(a,{default:()=>e$});var n=s(66305),t=s(96295),l=s.n(t),o=s(67141),i=s(58511),c=s.n(i),d=s(37851),x=s(66671),p=s(12553),u=s(46357),m=s(527),j=s(16019),h=s(9472),b=s(21080),f=s(64675),v=s(93058),y=s(11256),g=s(10908),k=s(69025),T=s(95589),A=s(80543),C=s(84260);let N=({network:e})=>{let a="fraxtal"===e?g.kl.stakeCvxFxsFraxtal.balanceHook():g.kl.stakeCvxFxs.balanceHook(),s=a?.gt(0),[r,t]=(0,o.useState)(s),[i,c]=(0,o.useState)(0),x=(0,d.A)(i||0),p="fraxtal"===e?(0,C.A)(T.Ay.fxs_fraxtal,T.Ay.cvxfxs_fraxtal,x):(0,C.A)(T.Ay.fxs,T.Ay.cvxfxs,x),u="ethereum"===e?(0,o.useContext)(b.A)?.CvxFxsStaking:(0,d.A)(0);(0,o.useEffect)(()=>{void 0===r&&s&&t(!0)},[r,s]);let N=(0,o.useCallback)(()=>t(!r),[r]),w=void 0!==p?(0,d.A)(p).minus(1).times(100):void 0,B=w?.gt(3),F="fraxtal"===e?"https://curve.finance/dex/fraxtal/pools/factory-stable-ng-15/swap":"https://curve.finance/dex/ethereum/pools/factory-v2-320/swap";return(0,n.jsxs)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" container",children:[(0,n.jsxs)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" pre-form-container",children:[(0,n.jsxs)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" text-container",children:["ethereum"===e&&(0,n.jsx)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" migration-alert-container",children:(0,n.jsxs)(v.A,{severity:"warning",children:[(0,n.jsx)("strong",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:"cvxFXS staking has migrated from Ethereum to Fraxtal!"}),u?.gt(0)?(0,n.jsxs)(n.Fragment,{children:[" To continue earning rewards, migrate your cvxFXS: unstake them, then use the ",(0,n.jsx)("a",{href:"https://mainnet.frax.com/tools/br
1idge/deposit",target:"_blank",rel:"noopener noreferrer",className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:"Fraxtal Bridge"})," to move them from Ethereum to Fraxtal, and then use the first cvxFXS tab (with the Fraxtal icon) to stake them on Fraxtal!"]}):(0,n.jsx)(n.Fragment,{children:" To stake cvxFXS and earn rewards, use the first cvxFXS tab (with the Fraxtal icon)!"})]})}),(0,n.jsxs)("p",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:["Convert ","fraxtal"===e?"wFRAX":"FXS"," to cvxFXS. By staking cvxFXS, you’re earning a share of veFRAX rewards, plus a share of the Convex LPs’ boosted ","fraxtal"===e?"wFRAX":"FXS"," earnings, and CVX tokens on top of that."]}),(0,n.jsxs)("p",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" note",children:["Important: Converting ","fraxtal"===e?"wFRAX":"FXS"," to cvxFXS is irreversible. You may stake and unstake cvxFXS tokens, but not convert them back to ","fraxtal"===e?"wFRAX":"FXS",". Secondary markets however exist to allow the exchange of cvxFXS for ","fraxtal"===e?"wFRAX":"FXS"," at varying market rates."]}),"fraxtal"===e&&(0,n.jsx)("p",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" note",children:"Note: FRAX was previously known as FXS; on Fraxtal, FXS has been renamed to FRAX, but cvxFXS kept the same name. wFRAX is the wrapped version of FRAX, which can be deposited on Convex."}),"fraxtal"===e&&(0,n.jsxs)("p",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:["You can use the ",(0,n.jsx)("a",{href:"https://mainnet.frax.com/tools/bridge/deposit",target:"_blank",rel:"noopener noreferrer",className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:"Fraxtal Bridge"})," to move assets from Ethereum to Fraxtal."]})]}),(0,n.jsx)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" switch-container",children:(0,n.jsx)(h.A,{control:(0,n.jsx)(f.A,{size:"small",checked:r||!1,color:"primary",onChange:N}),label:"Advanced"})})]}),B&&x.gt(0)&&(0,n.jsx)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" curve-pricing-info",children:(0,n.jsxs)(v.A,{severity:"info",children:[(0,n.jsxs)(y.A,{children:["You can ",(0,n.jsxs)("strong",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:["get ",(0,k.kW)(w,1),"% more cvxFXS"]})," if you swap your ","fraxtal"===e?"wFRAX":"FXS"," instead of converting them!"]}),(0,n.jsxs)("p",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:["By converting ",(0,k.kW)(x,2)," ","fraxtal"===e?"wFRAX":"FXS"," in the form below, you will get ",(0,n.jsxs)("strong",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:[(0,k.kW)(x,2)," cvxFXS"]}),".",(0,n.jsx)("br",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])}),"By swapping ",(0,k.kW)(x,2)," ","fraxtal"===e?"wFRAX":"FXS"," for cvxFXS on Curve, you will get up to ",(0,n.jsxs)("strong",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:[(0,k.kW)(x.times(w.div(100).plus(1)),2)," cvxFXS (",(0,k.kW)(w,1),"% more)"]})," thanks to current market conditions. Then come back here to stake them!"]}),(0,n.jsx)("a",{href:F,target:"_blank",rel:"noopener noreferrer",className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:(0,n.jsxs)(j.A,{color:"primary",children:["Swap ","fraxtal"===e?"wFRAX":"FXS"," to cvxFXS on Curve for more cvxFXS"]})})]})}),r?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" action-form-container",children:[(0,n.jsxs)("p",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:["Convert and stake ","fraxtal"===e?"wFRAX":"FXS"," in one go:"]}),(0,n.jsx)(m.A,{label:`Amount of ${"fraxtal"===e?"wFRAX":"FXS"} to convert and stake`,actionType:"fraxtal"===e?"convertAndStakeFxsFraxtal":"convertAndStakeFxs",onChange:c,network:e})]}),(0,n.jsxs)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" action-form-container",children:[(0,n.jsxs)("p",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]]),children:["Or separately convert ","fraxtal"===e?"wFRAX":"FXS"," into cvxFXS with this first form, and stake cvxFXS with this second form:"]}),(0,n.jsx)(m.A,{label:`Amount of ${"fraxtal"===e?"wFRAX":"FXS"} to convert`,actionType:"fraxtal"===e?"convertFxsFraxtal":"convertFxs",onChange:c,network:e}),(0,n.jsx)(m.A,{label:"Amount of cvxFXS to stake",actionType:"fraxtal"===e?"stakeCvxFxsFraxtal":"stakeCvxFxs",network:e})]})]}):(0,n.jsx)("div",{className:l().dynamic([["2325dabaff26d9d3",[A.Tj.halfTransparentBlue]]])+" action-form-container",children:(0,n.jsx)(m.A,{label:`Amount of ${"fraxtal"===e?"wFRAX":"FXS"} to convert and stake`,actionType:"fraxtal"===e?"convertAndStakeFxsFraxtal":"convertAndStakeFxs",onChange:c,network:e})}),(0,n.jsx)(l(),{id:"2325dabaff26d9d3",dynamic:[A.Tj.halfTransparentBlue],children:`.pre-form-container.__jsx-style-dynamic-selector{display:flex}.text-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:first-child{margin-top:0}.text-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:last-child{margin-bottom:0}.switch-container.__jsx-style-dynamic-selector{margin-left:40px;
1display:flex;align-items:flex-end}.switch-container.__jsx-style-dynamic-selector .MuiFormControlLabel-label{margin-left:5px;font-size:13px;font-weight:700;line-height:24px}.action-form-container.__jsx-style-dynamic-selector{margin-top:14px}.action-form-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:first-child{margin-top:28px}.action-form-container.__jsx-style-dynamic-selector>.container{margin-top:14px}.migration-alert-container.__jsx-style-dynamic-selector .MuiAlert-root{margin-top:0}.curve-pricing-info.__jsx-style-dynamic-selector{position:relative}.curve-pricing-info.__jsx-style-dynamic-selector::after{position:absolute;content:"";top:-2px;left:-2px;right:-2px;z-index:0;height:calc(100% + 4px);filter:blur(8px);border-radius:14px;background:linear-gradient(to left,#ff5770,#e4428d,#c42da8,#9e16c3,#6501de,#9e16c3,#c42da8,#e4428d,#ff5770);background-size:200%200%;animation:animateGlow 1.65s linear infinite}.curve-pricing-info.__jsx-style-dynamic-selector .MuiAlert-root{position:relative;z-index:1;margin:20px 0;border-radius:10px;border:1px solid ${A.Tj.halfTransparentBlue};background-color:rgb(232 244 253/85%)}.curve-pricing-info.__jsx-style-dynamic-selector .MuiAlertTitle-root strong{text-decoration:underline}.curve-pricing-info.__jsx-style-dynamic-selector a:hover{text-decoration:none}@keyframes animateGlow{0%{background-position:0%50%}100%{background-position:200%50%}}`})]})},w=({network:e})=>(0,n.jsxs)("div",{className:"jsx-ec3f419289ebac53 container",children:[(0,n.jsx)("p",{className:"jsx-ec3f419289ebac53",children:"Unstake cvxFXS. Note that unstaked cvxFXS doesn’t earn anything: any and all rewards only accrue to staked cvxFXS."}),(0,n.jsx)(m.A,{label:"Amount of cvxFXS to unstake",actionType:"fraxtal"===e?"unstakeCvxFxsFraxtal":"unstakeCvxFxs",network:e}),(0,n.jsx)(l(),{id:"ec3f419289ebac53",children:".container.jsx-ec3f419289ebac53>p.jsx-ec3f419289ebac53:first-child{margin-top:0}"})]});var B=s(33965),F=s(31325);let S=({network:e})=>{let a=(0,o.useMemo)(()=>({ethereum:new Map([["FXS token address",T.Ay.fxs.address],["cvxFXS token address",T.Ay.cvxfxs.address],["Deposit contract address",F.default.FxsDepositor.address],["Stake contract address",F.default.CvxFxsStaking.address]]),fraxtal:new Map([["wFRAX token address",T.Ay.fxs_fraxtal.address],["cvxFXS token address",T.Ay.cvxfxs_fraxtal.address],["Deposit contract address",F.default.fraxtal.FxsDepositorFraxtal.address],["Stake contract address",F.default.fraxtal.StakedCvxFxsFraxtal.address]])}),[]);return(0,n.jsx)(B.A,{addressesMap:a[e],network:e})};var R=s(49685),P=s(37573),_=s(8546),I=s(22750),U=s(66629),D=s(52165);let V=["Convert/Stake","Unstake","Info"],X={ethereum:b.A,fraxtal:R.A},M={ethereum:P.A,fraxtal:_.A},L=({network:e="ethereum"})=>{let a=(0,o.useMemo)(()=>[(0,n.jsx)(N,{network:e}),(0,n.jsx)(w,{network:e}),(0,n.jsx)(S,{network:e})],[e]),s=(0,o.useContext)(I.A),r=(0,o.useContext)(X[e]),t=(0,o.useContext)(M[e]),l="fraxtal"===e?r?.StakedCvxFxsFraxtal:r?.CvxFxsStaking,i=s?.get(T.Ay.cvxfxs.address),c="fraxtal"===e?t?.StakedCvxFxsFraxtal:t?.CvxFxsStaking,m=g.kl["fraxtal"===e?"claimStakedCvxFxsRewardsFraxtal":"claimStakedCvxFxsRewards"].rewardsBalancesHook(),j=m?.reduce((e,[,,a])=>e.plus(a),(0,d.A)(0)),h=void 0!==l&&void 0!==i?l.times(i):void 0,b=void 0!==c&&void 0!==i?c.times(i):void 0,f=g.kl["fraxtal"===e?"convertAndStakeFxsFraxtal":"convertAndStakeFxs"].apyHook(s),v=void 0===f?void 0:(0,U.EJ)(f.map(([,e])=>e));return(0,n.jsx)(x.Ay,{Header:(0,n.jsxs)(x.d6,{children:[(0,n.jsxs)(x.eB,{orientation:"horizontal",children:[(0,n.jsx)(u.A,{big:!0,customId:"fxs",className:"icon"}),(0,n.jsx)(x.hE,{children:(0,n.jsx)(n.Fragment,{children:"fraxtal"===e?"wFRAX on Fraxtal":"FXS"})})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsxs)(x.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"small",children:"(USD value)"})]}),(0,n.jsxs)(x.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===j?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(j)})]})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"vAPR"}),(0,n.jsx)(x.UC,{children:void 0===v?"–":(0,n.jsxs)("span",{children:[(0,k.o)(v),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(D.A,{cumulativeApy:v,apys:f})]})})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"My cvxFXS Staked"}),(0,n.jsxs)(x.UC,{children:[void 0===l?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(l,2)})," ",(0,n.jsx)("span",{className:"small",children:"cvxFXS"}),void 0!==h&&(0,n.jsxs)(x.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,k.sz)(h,2)]})]})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"TVL"}),(0,n.jsxs)(x.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===b?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(b,2)})]})]})]}),Content:(0,n.jsx)(x.Bo,{children:(0,n.jsx)(p.A,{labels:V,panels:a})}),variant:"primary",expanded:!0})};L.propTypes={network:c().string};let $=()=>(0,n.jsxs)("div",{className:"jsx-ec3f419289ebac53 container",children:[(0,n.jsx)("p",{className:"jsx-ec3f419289ebac53",children:"Unstake cvxFPIS."}),(0,n.jsx)("p",{className:"jsx-ec3f419289ebac53 note",children:"Note that cvxFPIS is currently being migrated to FXS on Fraxtal: please click on the “FPIS migration” tab for more information!"}),(0,n.jsx)(m.A,{label:"Amount of cvxFPIS to unstake",actionType:"unstakeCvxFpis"}),(0,n.jsx)(l(),{id:"ec3f419289ebac53",children:".container.jsx-ec3f419289ebac53>p.jsx-ec3f419289ebac53:first-child{margin-top:0}"})]}),z=()=>{let e=(0,o.useMemo)(()=>new Map([["FPIS token address",T.Ay.fpis.address],["cvxFPIS token address",T.Ay.cvxfpis.address],["Deposit contract address",F.default.FpisDepositor.address],["Stake contract address",F.default.CvxFpisStaking.address]]),[]);return(0,n.jsx)(B.A,{addressesMap:e})};var q=s(41048);let H=()=>{let e=(0,o.useContext)(b.A),a=(0,o.useContext)(I.A),s=(0,o.useContext)(P.A),r=e?.CvxFpisStaking,t=a?.get(T.Ay.cvxfpis.address),l=s?.CvxFpisStaking,i=g.kl.claimStakedCvxFpisRewards.rewardsBalancesHook(),c=i?.reduce((e,[,,a])=>e.plus(a),(0,d.A)(0)),m=void 0!==r&&void 0!==t?r.times(t):void 0,j=void 0!==l&&void 0!==t?l.times(t):void 0,h=g.kl.convertAndStakeFpis.apyHook(a),f=void 0===h?void 0:(0,U.EJ)(h.map(([,e])=>e)),{labels:v,panels:y}=(0,o.useMemo)(()=>({labels:["Unstake","Info"],panels:[(0,n.jsx)($,{}),(0,n.jsx)(z,{})]}),[]);return(0,n.jsx)(x.Ay,{Header:(0,n.jsxs)(x.d6,{children:[(0,n.jsxs)(x.eB,{orientation:"horizontal",children:[(0,n.jsx)(u.A,{big:!0,
1customId:"fpis",className:"icon"}),(0,n.jsx)(x.hE,{children:"FPIS"})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsxs)(x.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"small",children:"(USD value)"})]}),(0,n.jsxs)(x.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===c?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(c)})]})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"vAPR"}),(0,n.jsx)(x.UC,{children:void 0===f?"–":(0,n.jsxs)("span",{children:[(0,k.o)(f),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(q.A,{cumulativeApy:f,apys:h})]})})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"My cvxFPIS Staked"}),(0,n.jsxs)(x.UC,{children:[void 0===r?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(r,2)})," ",(0,n.jsx)("span",{className:"small",children:"cvxFPIS"}),void 0!==m&&(0,n.jsxs)(x.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,k.sz)(m,2)]})]})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"TVL"}),(0,n.jsxs)(x.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===j?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(j,2)})]})]})]}),Content:(0,n.jsx)(x.Bo,{children:(0,n.jsx)(p.A,{labels:v,panels:y})}),variant:"primary",expanded:!0})},O=()=>(0,n.jsxs)("div",{className:"jsx-dd24888e9cb0f778 container",children:[(0,n.jsx)("div",{className:"jsx-dd24888e9cb0f778 pre-form-container",children:(0,n.jsxs)("div",{className:"jsx-dd24888e9cb0f778 text-container",children:[(0,n.jsxs)("p",{className:"jsx-dd24888e9cb0f778",children:["FPIS governance tokens are being merged with Frax’s global FXS governance token as part of ",(0,n.jsx)("a",{target:"_blank",rel:"noopener noreferrer",href:"https://gov.frax.finance/t/fip-341-frax-singularity-roadmap-part-1/2987",className:"jsx-dd24888e9cb0f778",children:"Frax’s Singularity Roadmap"}),"."]}),(0,n.jsx)("p",{className:"jsx-dd24888e9cb0f778",children:"If you have any FPIS and/or cvxFPIS on Fraxtal, migrate them using the forms below. They will be transformed into cvxFXS at a 3:1 rate (3 cvxFPIS = 1 cvxFXS; 3 FPIS = 1 cvxFXS). After migrating, stake your cvxFXS on Fraxtal to earn Frax yield!"}),(0,n.jsxs)("p",{className:"jsx-dd24888e9cb0f778 note",children:["Note: your FPIS and cvxFPIS tokens need to be on Fraxtal in order to be migrated. You can use the ",(0,n.jsx)("a",{href:"https://mainnet.frax.com/tools/bridge/deposit",target:"_blank",rel:"noopener noreferrer",className:"jsx-dd24888e9cb0f778",children:"Fraxtal Bridge"})," to move assets from Ethereum to Fraxtal."]})]})}),(0,n.jsxs)("div",{className:"jsx-dd24888e9cb0f778 action-form-container",children:[(0,n.jsx)("p",{className:"jsx-dd24888e9cb0f778",children:"Migrate FPIS to cvxFXS:"}),(0,n.jsx)(m.A,{label:"Amount of FPIS to migrate",actionType:"migrateFpisFraxtal",network:"fraxtal"})]}),(0,n.jsxs)("div",{className:"jsx-dd24888e9cb0f778 action-form-container",children:[(0,n.jsx)("p",{className:"jsx-dd24888e9cb0f778",children:"Migrate cvxFPIS to cvxFXS:"}),(0,n.jsx)(m.A,{label:"Amount of cvxFPIS to migrate",actionType:"migrateCvxfpisFraxtal",network:"fraxtal"})]}),(0,n.jsx)(l(),{id:"dd24888e9cb0f778",children:".pre-form-container.jsx-dd24888e9cb0f778{display:flex}.text-container.jsx-dd24888e9cb0f778>p.jsx-dd24888e9cb0f778:first-child{margin-top:0}.text-container.jsx-dd24888e9cb0f778>p.jsx-dd24888e9cb0f778:last-child{margin-bottom:0}.action-form-container.jsx-dd24888e9cb0f778{margin-top:14px}.action-form-container.jsx-dd24888e9cb0f778>p.jsx-dd24888e9cb0f778:first-child{margin-top:28px}.action-form-container.jsx-dd24888e9cb0f778>.container{margin-top:14px}"})]}),E=()=>{let e=(0,o.useMemo)(()=>new Map([["FPIS token address",T.Ay.fpis.address],["cvxFPIS token address",T.Ay.cvxfpis.address]]),[]),a=(0,o.useMemo)(()=>new Map([["FPIS token address",T.Ay.fpis_fraxtal.address],["cvxFPIS token address",T.Ay.cvxfpis_fraxtal.address],["FXS token address",T.Ay.fxs_fraxtal.address],["Migrator contract address",F.default.fraxtal.FpisMigratorFraxtal.address]]),[]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h4",{className:"jsx-cb0ef446379cb432",children:"Ethereum:"}),(0,n.jsx)(B.A,{addressesMap:e}),(0,n.jsx)("h4",{className:"jsx-cb0ef446379cb432",children:"Fraxtal:"}),(0,n.jsx)(B.A,{addressesMap:a,network:"fraxtal"}),(0,n.jsx)(l(),{id:"cb0ef446379cb432",children:"h4.jsx-cb0ef446379cb432:first-child{margin-top:0}"})]})},W=()=>{let{labels:e,panels:a}=(0,o.useMemo)(()=>({labels:["Migrate to cvxFxs","Info"],panels:[(0,n.jsx)(O,{}),(0,n.jsx)(E,{})]}),[]);return(0,n.jsx)(x.Ay,{Header:(0,n.jsx)(x.d6,{children:(0,n.jsxs)(x.eB,{orientation:"horizontal",children:[(0,n.jsx)(u.A,{big:!0,
1customId:"fpis",className:"icon"}),(0,n.jsx)(x.hE,{children:"FPIS migration on Fraxtal"})]})}),Content:(0,n.jsx)(x.Bo,{children:(0,n.jsx)(p.A,{labels:e,panels:a})}),variant:"primary",expanded:!0})},K=()=>(0,n.jsxs)("div",{className:"jsx-b4f4366ae5399720 pre-form-container",children:[(0,n.jsxs)("div",{className:"jsx-b4f4366ae5399720 text-container",children:[(0,n.jsxs)("p",{className:"jsx-b4f4366ae5399720",children:["wFXB is a Convex-made wrapper around Frax’s FXB20291231 bond, used to distribute veFXS rewards. It does some extra work in order to generate returns for wFXB holders, and auto-compounds. (",(0,n.jsx)("a",{href:"https://gov.frax.finance/t/fip-377-change-vefxs-reward-distribution-token/3137",target:"_blank",rel:"noopener noreferrer",className:"jsx-b4f4366ae5399720",children:"More info in FIP 377"}),")"]}),(0,n.jsx)("p",{className:"jsx-b4f4366ae5399720",children:"In other words, when you stake cvxFXS (or earn veFXS rewards in any other way), you earn wFXB. This wFXB is itself earning rewards in the background: as long as you hold it, its value increases (the same amount of wFXB can be redeemed for a greater amount of FXB over time). You can withdraw anytime, and you can also deposit into wFXB anytime!"})]}),(0,n.jsx)(l(),{id:"b4f4366ae5399720",children:".pre-form-container.jsx-b4f4366ae5399720{display:flex}.text-container.jsx-b4f4366ae5399720>p.jsx-b4f4366ae5399720:first-child{margin-top:0}.text-container.jsx-b4f4366ae5399720>p.jsx-b4f4366ae5399720:last-child{margin-bottom:0}"})]}),G=()=>(0,n.jsxs)("div",{className:"jsx-b9adfa1f9b5672f2 container",children:[(0,n.jsx)(K,{}),(0,n.jsx)("div",{className:"jsx-b9adfa1f9b5672f2 action-form-container",children:(0,n.jsx)(m.A,{label:"Amount of wFXB to withdraw",actionType:"withdrawFxb",network:"fraxtal"})}),(0,n.jsx)(l(),{id:"b9adfa1f9b5672f2",children:".action-form-container.jsx-b9adfa1f9b5672f2{margin-top:14px}.action-form-container.jsx-b9adfa1f9b5672f2>p.jsx-b9adfa1f9b5672f2:first-child{margin-top:28px}.action-form-container.jsx-b9adfa1f9b5672f2>.container{margin-top:14px}"})]}),Y=()=>{let e=(0,o.useMemo)(()=>new Map([["wFXB token address",T.Ay.wfxb_fraxtal.address],["FXB20291231 token address",T.Ay.fxb_fraxtal.address]]),[]);return(0,n.jsx)(B.A,{addressesMap:e,network:"fraxtal"})};var J=s(17654),Q=s.n(J),Z=s(80646),ee=s(89619),ea=s(15406),es=s(64904),er=s(87233),en=s(74320),et=s(22724),el=s(81996),eo=s(34668);let ei=[{inputs:[],name:"currentRatesPerSupply",outputs:[{internalType:"uint256",name:"currentrates",type:"uint256"}],stateMutability:"view",type:"function"}],ec=[{inputs:[],name:"MATURITY_TIMESTAMP",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"}],ed=Q()(async(e,a,s)=>{let r=await (0,et.A)(),[n,t,l]=await (0,er.Ay)([{address:es.Ay.fraxtal.WFxbFraxtal.address,abi:es.Ay.fraxtal.WFxbFraxtal.abi,methodName:"convertToAssets",params:[1e3],web3Data:{account:e,library:a,chainId:s}},{address:es.Ay.fraxtal.WFxbFraxtal.address,abi:es.Ay.fraxtal.WFxbFraxtal.abi,methodName:"operator",web3Data:{account:e,library:a,chainId:s}},{address:es.Ay.fraxtal.WFxbFraxtal.address,abi:es.Ay.fraxtal.WFxbFraxtal.abi,methodName:"asset",web3Data:{account:e,library:a,chainId:s}}]),[o,i]=await (0,er.Ay)([{address:t,abi:ei,methodName:"currentRatesPerSupply",web3Data:{account:e,library:a,chainId:s}},{address:l,abi:ec,methodName:"MATURITY_TIMESTAMP",web3Data:{account:e,library:a,chainId:s}}]),c=(0,en.tT)(n),x=r[(0,el.bV)(T.Ay.fxb_fraxtal.address,"fraxtal")],p=(0,d.A)(1).minus(x),u=(0,en.tT)(i).minus((0,eo.j2)()),m=p.div(u).times(31536e3).div(x).times(100),j=(0,en.wt)(o,18).times(31536e3).times(100);return{wfxbToFxbRate:c.div(1e3),fxbApr:m,wfxbApr:j,cumulativeApr:m.plus(j)}},{promise:!0,maxAge:8e3});var ex=s(5018),ep=s(22271);let eu=({wfxbStats:e})=>(0,n.jsxs)(ex.Ay,{children:[(0,n.jsxs)(ex.Td,{children:[(0,n.jsx)(u.A,{customId:"fxb",className:"icon"}),(0,n.jsx)("span",{className:"highlight",children:"Wrapped FXB"}),(0,n.jsx)("span",{children:"\xa0rewards"})]}),(0,n.jsxs)(ex.bx,{children:[(0,n.jsxs)("div",{children:["Current vAPR",(0,n.jsxs)("span",{children:[(0,k.o)(e.cumulativeApr),"%"]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"label",children:"Breakdown"}),(0,n.jsx)("table",{children:(0,n.jsxs)("tbody",{children:[(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{children:"FXB native vAPR"}),(0,n.jsxs)("td",{children:[(0,k.o)(e.fxbApr),"%"]})]}),(0,n.jsxs)("tr",{children:[(0,n.jsx)("td",{children:"wFXB additional vAPR"}),(0,n.jsxs)("td",{children:[(0,k.o)(e.wfxbApr),"%"]})]})]})})]}),(0,n.jsxs)(ep.A,{severity:"info",children:[(0,n.jsx)(ep.X,{children:"Where do rewards accrue?"}),(0,n.jsx)("p",{children:"wFXB is an auto-compounding token: the more it earns, the more FXB tokens you’ll get when you withdraw your wFXB tokens."})]}),(0,n.jsxs)(ep.A,{severity:"info",color:"discreet",children:[(0,n.jsx)(ep.X,{children:"What does vAPR stand for?"}),(0,n.jsx)("p",{children:"vAPR stands for “Variable Annual Percentage Rate”: it is the interest you’d earn on your deposits for a 
1whole year, and it’s variable because it depends on the price of the assets you deposit, the price of the assets you’re rewarded with, and the current rewards rates."})]})]})]}),em=()=>{let{labels:e,panels:a}=(0,o.useMemo)(()=>({labels:["Withdraw","Info"],panels:[(0,n.jsx)(G,{}),(0,n.jsx)(Y,{})]}),[]),s=(0,o.useContext)(I.A),r=(0,o.useContext)(R.A),t=(0,o.useContext)(_.A),l=(()=>{let[e,a]=(0,Z.A)(),{fraxtalWeb3:{account:s,library:r,chainId:n}}=(0,o.useContext)(ea.A),{blockNumber:t}=(0,o.useContext)(ee.A);return(0,o.useEffect)(()=>{r&&(0,es.zE)()&&ed(s,r,n).then(e=>{a(e)})},[t,s,typeof r,n,(0,es.zE)()]),e})(),i=r?.[T.Ay.wfxb_fraxtal.contractKey],c=s?.get(T.Ay.fxb_fraxtal.address,"fraxtal"),d=l?.wfxbToFxbRate,m=void 0!==c&&void 0!==d?d.times(c):void 0,j=t?.[T.Ay.wfxb_fraxtal.contractKey],h=void 0!==i&&void 0!==m?i.times(m):void 0,b=void 0!==j&&void 0!==c?j.times(c):void 0;return(0,n.jsx)(x.Ay,{Header:(0,n.jsxs)(x.d6,{children:[(0,n.jsxs)(x.eB,{orientation:"horizontal",children:[(0,n.jsx)(u.A,{big:!0,customId:"fxb",className:"icon"}),(0,n.jsx)(x.hE,{children:"FXB Wrapper"})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"Claimable"}),(0,n.jsx)(x.UC,{discreet:!0,children:(0,n.jsx)("i",{children:"Rewards auto-compound"})})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"vAPR"}),(0,n.jsx)(x.UC,{children:void 0===l?"–":(0,n.jsxs)("span",{children:[(0,k.o)(l.cumulativeApr),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(eu,{wfxbStats:l})]})})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"My wFXB"}),(0,n.jsxs)(x.UC,{children:[void 0===i?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(i,2)})," ",(0,n.jsx)("span",{className:"small",children:"wFXB"}),void 0!==h&&(0,n.jsxs)(x.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,k.sz)(h,2)]})]})]}),(0,n.jsxs)(x.eB,{children:[(0,n.jsx)(x.dv,{children:"TVL"}),(0,n.jsxs)(x.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===b?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(b,2)})]})]})]}),Content:(0,n.jsx)(x.Bo,{children:(0,n.jsx)(p.A,{labels:e,panels:a})}),variant:"primary",expanded:!0})};var ej=s(91993),eh=s(80910),eb=s(28169),ef=s(29674),ev=s(15328),ey=s(56474),eg=s(79552),ek=s(40604),eT=s(14161),eA=s(25697),eC=s(5901),eN=s(12287),ew=s(59472),eB=s(78989),eF=s(4360),eS=s(68736);let eR=Q()((e,a,s,r,n,t,l,o)=>e.map(e=>{let i,c=a?.[e.id],x=null!=c?(0,U.EJ)(c.userBoostedRewardApys):void 0;if("convex"===e.type){let a=e.stakingTokenUsdPrice,s=ew.ACTIONS.depositAndStakeLpToken.apyHook(e.underlyingCurvePool,r,n,a,t),l=r?.get(T.Ay.cvx.address),{crvApy:o}=ew.ACTIONS.depositAndStakeLpToken.projectedApyHook({curveApys:t,tvl:n,cvxPrice:l,lpTokenPrice:a,actionPool:e.underlyingCurvePool}),p=void 0!==s?{...s,cumulativeApy:s.cumulativeApy,crvApy:s.crvApy,cvxApy:s.cvxApy,isPendingHarvest:!o?.eq(0)&&s.isPendingHarvest}:void 0,u=e.areConvexPoolsCrvAndCvxBoostable?(0,d.A)(p.baseApy||0):p.cumulativeApy||0;i={...e,totalRewardAprs:{min:(0,d.A)(e.totalRewardAprs.min).plus(u),max:(0,d.A)(e.totalRewardAprs.max).plus(u)},contractLevelRewardCoins:c?.contractLevelRewardCoins,rewardCoins:[...e.rewardCoins,{symbol:"Base Curve vAPY"},...e.areConvexPoolsCrvAndCvxBoostable?[]:[T.Ay.crv,T.Ay.cvx,...p.additionalRewards.map(({symbol:e,coinAddress:a})=>({symbol:e,address:a}))]],userVaultApr:void 0!==x?x.plus(u):void 0,curveAprData:e.areConvexPoolsCrvAndCvxBoostable?{additionalRewards:[],baseApy:p.baseApy,isPendingHarvest:p.isPendingHarvest,cumulativeApy:u}:p}}else if("vesper"===e.subtype){let a=100*(l?.find(({tokenSymbol:a})=>a===e.underlyingCoin.symbol)?.apr||0);i={...e,baseAprOnTop:(0,d.A)(a),totalRewardAprs:{min:(0,d.A)(e.totalRewardAprs.min).plus(a),max:(0,d.A)(e.totalRewardAprs.max).plus(a)},rewardCoins:[...e.rewardCoins,{symbol:"Base Vesper vAPR"}],userVaultApr:void 0!==x?x.plus(a):void 0}}else i={...e,userVaultApr:x};let p=(0,U.EJ)(["convex"===e.type?o?.[e.underlyingTokenContractKey]:0,o?.[e.stakingTokenContractKey]]);return{...i,vault:c,aggregateVaultsData:s?.vaults?.[e.id],claimableRewardsUsdTotalNumber:c?.claimableRewardsUsdTotal?.toNumber(),maxRewardsAprNumber:Number(i.totalRewardAprs.max),vaultUsdTotalNumber:c?.usdTotal?c?.usdTotal?.toNumber():0,stakableBalance:p,stakableBalanceNumber:p?.toNumber(),aggregateVaultsDataUsdTotalNumber:s?.vaults?.[e.id]?.usdTotal?Number(s.vaults[e.id].usdTotal):0}}
1),{normalizer:([e,a,s,r,n,t,l,i])=>{let c=(0,o.useContext)(eB.A),d=(0,o.useContext)(eF.A);return`
2      ${e?.length}|
3      ${(0,U.FC)(Object.values(a)).map(({address:e})=>e)}|
4      ${s?.usdTotal}|
5      ${r?.areCurveTokenPricesLoaded}|
6      ${Object.keys(n).length}|
7      ${void 0!==t?Object.keys(t).length:0}|
8      ${typeof l}|
9      ${Object.values(i).join()}|
10      ${void 0!==c?.rewardRate?Object.keys(c.rewardRate).length:0}|
11      ${Object.keys(d).length}
12    `},maxAge:6e4}),eP=({stakableBalance:e})=>e?.gt(0),e_=e=>{let{active:a,vault:s}=e,r=s?.usdTotal?.gt(0),n=s?.claimableRewardsUsdTotal?.gt(0),t=!!("convex"===e.type&&g.kl.stakeInVault.balanceHook({actionPool:e})?.gt(0)),l=!!("convex"===e.type&&g.kl.wrapForConvexFarmVault.balanceHook({actionPool:e})?.gt(0));return!(!a&&!r&&!n&&!t&&!l)},eI=({sortData:e,SortHeader:a,searchAndFilterData:s,SearchAndFilterBox:r,EmptyResultPlaceholder:t,updateFilterBy:i,updateSearch:c,filterBy:d})=>{let p=(0,o.useContext)(ek.A),u=(0,o.useContext)(b.A),m=(0,o.useContext)(eg.A),h=(0,o.useContext)(eT.A),f=(0,o.useContext)(P.A),v=(0,o.useContext)(eA.A),y=eR(m,p,h,(0,o.useContext)(I.A),f,v,(0,eS.A)(),u),g=s(e(y)).filter(e_),k=(0,o.useCallback)(()=>i("all"),[]),T=(0,eN.useSearchParams)(),C=T.get("poolId"),N=T.get("network");(0,o.useEffect)(()=>{void 0!==C&&void 0!==N&&(window.history.replaceState(null,"","/"),(0,eC.JC)(C)&&(i("all"),c(`id:${C}`)))},[]);let w=(0,o.useCallback)(()=>i("to deposit"),[]),B=(0,o.useMemo)(()=>y.some(eP),[y]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r,{additionalButtons:B?(0,n.jsx)(ey.A,{arrow:!0,title:"Pools with balances available to deposit and earn rewards",children:(0,n.jsx)(j.A,{className:"filter-button",color:"primary",size:"small",onClick:w,variant:"to deposit"===d?"contained":"outlined",children:"to deposit"})}):null,className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]])}),(0,n.jsxs)(x.A0,{children:[(0,n.jsx)(x.eB,{children:(0,n.jsx)(a,{sortBy:"name",className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]]),children:"Pool Name"})}),(0,n.jsx)(x.eB,{children:(0,n.jsx)(a,{sortBy:"claimableRewardsUsdTotalNumber",inverseDir:!0,className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]]),children:"Claimable"})}),(0,n.jsx)(x.eB,{className:"vapr-column",children:(0,n.jsx)(a,{sortBy:"maxRewardsAprNumber",inverseDir:!0,className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]]),children:"vAPR"})}),(0,n.jsx)(x.eB,{children:"to deposit"===d?(0,n.jsx)(a,{sortBy:"stakableBalanceUsdValueNumber",inverseDir:!0,className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]]),children:"To Deposit"}):(0,n.jsx)(a,{sortBy:"vaultUsdTotalNumber",inverseDir:!0,className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]]),children:"My Deposits"})}),(0,n.jsx)(x.eB,{children:(0,n.jsx)(a,{sortBy:"aggregateVaultsDataUsdTotalNumber",inverseDir:!0,className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]]),children:"TVL"})})]}),g.map(e=>{let{id:a,name:s,vault:r,aggregateVaultsData:t,userVaultApr:l,stakableBalance:o}=e;return(0,n.jsx)(eb.A,{id:a,name:s,vault:r,aggregateVaultsData:t,userVaultApr:l,poolData:e,stakableBalance:o},a)}),g.length>0&&y.length>5&&"my pools"===d&&(0,n.jsxs)(j.A,{onClick:k,size:"large",variant:"outlined",className:"show-all-pools-button",children:["Show All Frax Pools ",(0,n.jsx)(ev.A,{})]}),0===g.length&&y.length>0&&(0,n.jsx)(t,{className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]])}),0===g.length&&0===y.length&&(0,n.jsx)(ef.A,{children:(0,n.jsx)("p",{className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue]]]),children:(0,n.jsx)("i",{className:l().dynamic([["1ba505cdfe469d09",[A.Tj.blue,A.Tj.blue,A.Tj.veriestTrans
12parentBlue,A.Tj.veryTransparentBlue]]]),children:"Loading pools…"})})}),(0,n.jsx)(l(),{id:"1ba505cdfe469d09",dynamic:[A.Tj.blue,A.Tj.blue,A.Tj.veriestTransparentBlue,A.Tj.veryTransparentBlue],children:`.show-all-pools-button{width:100%;height:48px;box-sizing:border-box;color:${A.Tj.blue};border-color:${A.Tj.blue};background-color:${A.Tj.veriestTransparentBlue}}.show-all-pools-button:hover{background-color:${A.Tj.veryTransparentBlue}}.vapr-column{padding-right:25px}`})]})};eI.propTypes={sortData:c().func.isRequired,SortHeader:c().func.isRequired,searchAndFilterData:c().func.isRequired,SearchAndFilterBox:c().func.isRequired,EmptyResultPlaceholder:c().func.isRequired,updateFilterBy:c().func.isRequired,updateSearch:c().func.isRequired,filterBy:c().string.isRequired};let eU=(0,eh.A)((0,ej.A)(eI,{defaultSortBy:"vaultUsdTotalNumber",defaultSortDir:"desc",sortBy2:"maxRewardsAprNumber",sortDir2:"desc"}),{defaultFilterBy:"my pools",filters:[{name:"to deposit",predicate:eP,labelInText:"to-deposit",noButton:!0},{name:"my pools",predicate:({vaultUsdTotalNumber:e,claimableRewardsUsdTotalNumber:a})=>e>0||a>0,fallbackIfNoResult:e=>e.slice(0,5),labelInText:"my"},{name:"all",predicate:()=>!0,labelInText:"all"},{name:"convex",predicate:({type:e})=>"convex"===e,labelInText:"Convex Frax"},{name:"fraxswap",predicate:({type:e})=>"fraxswap"===e,labelInText:"Fraxswap Frax"},{name:"others",predicate:({type:e})=>"convex"!==e&&"fraxswap"!==e,labelInText:"other Frax"}]});var eD=s(93559),eV=s(2307),eX=s(29099),eM=s(41732);let eL=({network:e,big:a=!1,className:s=""})=>{let r=`/logos/networks/${e}.svg`;return(0,n.jsx)("span",{className:l().dynamic([["3223e5623b54af19",[r]]])+" "+`network-icon ${a?"big":""} ${s} ${e}`,children:(0,n.jsx)(l(),{id:"3223e5623b54af19",dynamic:[r],children:`.network-icon.__jsx-style-dynamic-selector{display:block;width:26px;height:26px;box-shadow:0px 0px 2px 0px rgba(0,0,0,.25);border-radius:50%;background-image:url("${r}");background-size:100%auto;background-origin:content-box;background-repeat:no-repeat;background-color:#fff;background-position:center}.network-icon.big.__jsx-style-dynamic-selector{width:35px;height:35px}.network-icon.no-rounding.__jsx-style-dynamic-selector{border-radius:0}.network-icon.no-shadow.__jsx-style-dynamic-selector{box-shadow:none}.network-icon.ethereum.__jsx-style-dynamic-selector{background-size:90%auto}`})})};eL.propTypes={network:c().string.isRequired,className:c().string,big:c().bool},(0,eM.Kc)(()=>(0,eX.arePoolsLoaded)()&&(0,es.zE)()).then(()=>{r&&r(!0)});let e$=()=>{let[,e]=(0,o.useState)(!1);r=e;let[a,s]=o.useState(0),t=(0,o.useContext)(R.A),i=t?.[T.Ay.wfxb_fraxtal.contractKey],c=i?.gt(0),d=(0,o.useMemo)(()=>(0,U.FC)([(0,n.jsxs)(n.Fragment,{children:["cvxFXS ",(0,n.jsx)(eL,{network:"fraxtal"})]}),(0,n.jsxs)(n.Fragment,{children:["FPIS migration ",(0,n.jsx)(eL,{network:"fraxtal"})]}),c?(0,n.jsxs)(n.Fragment,{children:["wFXB ",(0,n.jsx)(eL,{network:"fraxtal"})]}):null,(0,n.jsxs)(n.Fragment,{children:["cvxFXS ",(0,n.jsx)(eL,{network:"ethereum"})]}),(0,n.jsxs)(n.Fragment,{children:["cvxFPIS ",(0,n.jsx)(eL,{network:"ethereum"})]})]),[c]),x=(0,o.useMemo)(()=>(0,U.FC)([(0,n.jsx)(L,{network:"fraxtal"}),(0,n.jsx)(W,{}),c?(0,n.jsx)(em,{}):null,(0,n.jsx)(L,{}),(0,n.jsx)(H,{})]),[c]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"jsx-8dd4e8c20421a711 tabs-container",children:(0,n.jsx)(eV.A,{labels:d,panels:x,externalHandleChange:(e,a)=>{s(a)},externalValue:a})}),(0,n.jsx)("h2",{className:"jsx-8dd4e8c20421a711",children:"Stake Frax LP Tokens"}),(0,eX.arePoolsLoaded)()&&(0,es.zE)()?(0,n.jsx)(eU,{}):(0,n.jsx)(ef.A,{children:(0,n.jsx)("p",{className:"jsx-8dd4e8c20421a711",children:(0,n.jsx)("i",{className:"jsx-8dd4e8c20421a711",children:"Loading pools…"})})}),(0,n.jsx)(eD.A,{}),(0,n.jsx)(l(),{id:"8dd4e8c20421a711",children:".tabs-container.jsx-8dd4e8c20421a711 .tabs-labels-container .MuiTab-root{opacity:1}.tabs-container.jsx-8dd4e8c20421a711 .tabs-labels-container .MuiTab-root{flex-direction:row;justify-content:space-between;padding:0 10px;font-size:17px}"})]})}},66579:(e,a,s)=>{"use strict";let r;s.r(a),s.d(a,{default:()=>eF}
12);var n=s(66305),t=s(96295),l=s.n(t),o=s(67141),i=s(37851),c=s(66671),d=s(12553),x=s(46357),p=s(527);let u=()=>(0,n.jsxs)("div",{className:"jsx-ec3f419289ebac53 container",children:[(0,n.jsx)("p",{className:"jsx-ec3f419289ebac53",children:"Unstake cvxPRISMA. Note that unstaked cvxPRISMA doesn’t earn anything: any and all rewards only accrue to staked cvxPRISMA."}),(0,n.jsx)(p.A,{label:"Amount of cvxPRISMA to unstake",actionType:"unstakeCvxPrisma"}),(0,n.jsx)(l(),{id:"ec3f419289ebac53",children:".container.jsx-ec3f419289ebac53>p.jsx-ec3f419289ebac53:first-child{margin-top:0}"})]});var m=s(33965),j=s(95589),h=s(64904);let b=()=>{let e=(0,o.useMemo)(()=>new Map([["PRISMA token address",j.Ay.prisma.address],["cvxPRISMA token address",j.Ay.cvxprisma.address],["Deposit contract address",h.Ay.PrismaDepositor.address],["Stake contract address",h.Ay.CvxPrismaStaking.address]]),[]);return(0,n.jsx)(m.A,{addressesMap:e})};var f=s(21080),v=s(37573),y=s(22750),g=s(10908),k=s(69025),T=s(66629),A=s(55338);let C=()=>{let e=(0,o.useContext)(f.A),a=(0,o.useContext)(y.A),s=(0,o.useContext)(v.A),r=e?.CvxPrismaStaking,t=a?.get(j.Ay.cvxprisma.address),l=s?.CvxPrismaStaking,p=g.kl.claimStakedCvxPrismaRewards.rewardsBalancesHook(),m=p?.reduce((e,[,,a])=>e.plus(a),(0,i.A)(0)),h=void 0!==r&&void 0!==t?r.times(t):void 0,C=void 0!==l&&void 0!==t&&t>0?l.times(t):void 0,N=g.kl.convertAndStakePrisma.apyHook(a),w=void 0===N?void 0:(0,T.EJ)(N.map(([,e])=>e)),{labels:B,panels:F}=(0,o.useMemo)(()=>({labels:["Unstake","Info"],panels:[(0,n.jsx)(u,{}),(0,n.jsx)(b,{})]}),[]);return(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(x.A,{big:!0,customId:"prisma",className:"icon"}),(0,n.jsx)(c.hE,{children:"PRISMA"})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"small",children:"(USD value)"})]}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===m?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(m)})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"vAPR"}),(0,n.jsx)(c.UC,{children:void 0===w?"–":(0,n.jsxs)("span",{children:[(0,k.o)(w),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(A.A,{cumulativeApy:w,apys:N})]})})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"My cvxPRISMA Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===r?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(r,2)})," ",(0,n.jsx)("span",{className:"small",children:"cvxPRISMA"}),void 0!==h&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,k.sz)(h,2)]})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"Total Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===l?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(l,2)})," ",(0,n.jsx)("span",{className:"small",children:"cvxPRISMA"}),void 0!==C&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,k.sz)(C,2)]})]})]})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:B,panels:F})}),variant:"primary",expanded:!0})};var N=s(58511),w=s.n(N);w().oneOf(["mkusd","ultra"]).isRequired;let B=({stablecoin:e})=>(0,n.jsxs)("div",{className:"jsx-bf9cb5ea5d2e66b2 container",children:[(0,n.jsx)(p.A,{label:`Amount of ${j.Ay[e].symbol} to unstake`,actionType:"unstakeStabilityPool",extraData:{stablecoin:e}}),(0,n.jsx)(l(),{id:"bf9cb5ea5d2e66b2",children:".container.jsx-bf9cb5ea5d2e66b2 .form-container{max-width:614px}"})]});B.propTypes={stablecoin:w().oneOf(["mkusd","ultra"]).isRequired};let F=({stablecoin:e})=>{let a=(0,o.useMemo)(()=>new Map([[`${j.Ay[e].symbol} token address`,j.Ay[e].address],["Stability Pool contract address",h.Ay["mkusd"===e?"StabilityPoolMkusd":"StabilityPoolUltra"].address]]),[e]);return(0,n.jsx)(m.A,{addressesMap:a})};F.propTypes={stablecoin:w().oneOf(["mkusd","ultra"]).isRequired};var S=s(5018),R=s(22271),P=s(43905),_=s(99978),I=s.n(_),U=s(79931);let D=({cumulativeApy:e,apys:a})=>(0,n.jsxs)(S.Ay,{children:[(0,n.jsxs)(S.Td,{children:[(0,n.jsx)(P.A,{big:!0,customWrapperId:"prisma",coin:U.A.mkusd,className:"icon"}),(0,n.jsx)("span",{className:"highlight",children:"Prisma Stability Pool"}),(0,n.jsx)("span",{children:"\xa0rewards"})]}),(0,n.jsxs)(S.bx,{children:[(0,n.jsxs)("div",{children:["Current vAPR",(0,n.jsxs)("span",{children:[(0,k.o)((0,i.A)(e)),"%"]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("span",{className:"label",children:"Breakdown"}),(0,n.jsx)("table",{children:(0,n.jsx)("tbody",{children:a.filter(([,e])=>e>0).sort(([,e],[,a])=>e>a?-1:+(e<a)).map(([e,a])=>(0,n.jsxs)("tr",{children:[(0,n.jsxs)("td",{children:[e.symbol," vAPR",e===U.A.prisma&&"  (boost applied on claim)"]}),(0,n.jsxs)("td",{children:[(0,k.o)(a),"%"]})]},e.symbol))})})]}),(0,n.jsxs)(R.A,{severity:"info",children:[(0,n.jsx)(R.X,{children:"Where do rewards accrue?"}),(0,n.jsxs)("p",{children:["All rewards for Stability Pool deposits can be claimed from the ",(0,n.jsx)(I(),{href:"/claim",children:"Claim page"})]})]}),(0,n.jsxs)(R.A,{severity:"info",color:"discreet",children:[(0,n.jsx)(R.X,{children:"What does vAPR stand for?"}),(0,n.jsx)("p",{children:"vAPR stands for “Variable Annual Percentage Rate”: it is the interest you’d earn on your deposits for a 
12whole year, and it’s variable because it depends on today’s trading activity in all pools, the price of the assets you deposit, the price of the assets you’re rewarded with, and the current rewards rates."})]})]})]}),V=["Withdraw","Info"],X=({stablecoin:e})=>{let a="mkusd"===e?"StabilityPoolMkusd":"StabilityPoolUltra",s=(0,o.useContext)(f.A),r=(0,o.useContext)(y.A),t=(0,o.useContext)(v.A),l=s?.[a],x=r?.get(j.Ay[e].address),p=t?.[a],u=g.kl.stakeStabilityPool.rewardsBalancesHook(e),m=u?.reduce((e,[,,a])=>e.plus(a),(0,i.A)(0)),h=void 0!==p&&void 0!==x?p.times(x):void 0,b=g.kl.stakeStabilityPool.apyHook(e,h),A=void 0===b?void 0:(0,T.EJ)(b.map(([,e])=>e)),C=(0,o.useMemo)(()=>[(0,n.jsx)(B,{stablecoin:e}),(0,n.jsx)(F,{stablecoin:e})],[e]);return(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(P.A,{big:!0,customWrapperId:"prisma",coin:j.Ay[e],className:"icon"}),(0,n.jsxs)(c.hE,{children:[j.Ay[e].symbol,(0,n.jsx)("br",{}),"Stability Pool"]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"small",children:"(USD value)"})]}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===m?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(m)})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"Boosted vAPR"}),(0,n.jsx)(c.UC,{children:void 0===A?"–":(0,n.jsxs)("span",{children:["0",(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(D,{cumulativeApy:A,apys:b})]})})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{children:["My ",j.Ay[e].symbol," Staked"]}),(0,n.jsxs)(c.UC,{children:[void 0===l?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(l,2)})," ",(0,n.jsx)("span",{className:"small",children:j.Ay[e].symbol})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"Total Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===p?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(p,2)})," ",(0,n.jsx)("span",{className:"small",children:j.Ay[e].symbol})]})]})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:V,panels:C})}),variant:"primary",expanded:!0})};X.propTypes={stablecoin:w().oneOf(["mkusd","ultra"]).isRequired};var M=s(91993),L=s(80910),$=s(33120),z=s(44385),q=s(16019),H=s(80543),O=s(60920),E=s(55951),W=s(25697),K=s(15328),G=s(56474),Y=s(45969),J=s(5901),Q=s(73828);let Z=({stakableBalance:e})=>e?.gt(0),ee=({sortData:e,SortHeader:a,searchAndFilterData:s,SearchAndFilterBox:r,EmptyResultPlaceholder:t,updateFilterBy:i,filterBy:d,hideSearchAndFilter:x=!1,forcedAdditionalFilter:p})=>{let[u,m]=(0,o.useState)("ethereum"),j=(0,o.useContext)(v.A),h=(0,o.useContext)(O.A),b=(0,o.useContext)(E.A),f=(0,o.useContext)(W.A),y=void 0!==p?Y.default.filter(p):Y.default,{poolsWithDepositsAndRewards:g,appendedDataCacheIdentifier:k}=(0,Q.A)(y,b),T=(0,z.x)(g,k,j,h,f,b),A=s(e(T)),C=(0,o.useCallback)(()=>i("all"),[]),N=(0,o.useCallback)(()=>i("to deposit"),[]),w=(0,o.useMemo)(()=>T.some(Z),[T]);return(0,n.jsxs)("div",{className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]])+" box",children:[!x&&(0,n.jsx)(r,{additionalButtons:w?(0,n.jsx)(G.A,{arrow:!0,title:"Pools with balances available to deposit and earn rewards",children:(0,n.jsx)(q.A,{className:"filter-button",color:"primary",size:"small",onClick:N,variant:"to deposit"===d?"contained":"outlined",children:"to deposit"})}):null,className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]])}),(0,n.jsxs)(c.A0,{children:[(0,n.jsx)(c.eB,{larger:!0,children:(0,n.jsx)(a,{sortBy:"name",className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]]),children:"Pool"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"poolEarnedUsdValueNumber",inverseDir:!0,className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]]),children:"Claimable"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"totalApyNumber",inverseDir:!0,className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTrans
12parentBlue,H.Tj.veryTransparentBlue]]]),children:"Boosted vAPR"})}),(0,n.jsx)(c.eB,{children:"to deposit"===d?(0,n.jsx)(a,{sortBy:"stakableBalanceUsdValueNumber",inverseDir:!0,className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]]),children:"To Deposit"}):(0,n.jsx)(a,{sortBy:"stakedBalanceUsdValueNumber",inverseDir:!0,className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]]),children:"My Deposits"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"totalLockedUsdValueNumber",inverseDir:!0,className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]]),children:"TVL"})})]}),A.map(e=>{let{address:a,curvePool:{id:s,name:r,convexPoolData:t,lpTokenInfo:{symbol:l}},stakedBalance:o,stakedBalanceUsdValue:i,stakableBalance:c,poolEarnedUsdValue:d,totalLockedUsdValue:x,totalApy:p,baseApy:m,prismaApy:j,crvApy:h,crvBoost:b,cvxApy:f}=e;return(0,n.jsx)($.A,{networkChoice:u,id:s,convexPoolId:t.id,name:r,lpTokenSymbol:l,stakedBalance:o,stakedBalanceUsdValue:i,stakableBalance:c,poolEarnedUsdValue:d,totalLockedUsdValue:x,totalApy:p,baseApy:m,prismaApy:j,crvApy:h,crvBoost:b,cvxApy:f},t.id)}),A.length>0&&T.length>5&&"my pools"===d&&(0,n.jsxs)(q.A,{onClick:C,size:"large",variant:"outlined",className:"show-all-pools-button",children:["Show All Prisma Pools ",(0,n.jsx)(K.A,{})]}),0===A.length&&(0,n.jsx)(t,{className:l().dynamic([["c1d961e7d6e77463",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]])}),(0,n.jsx)(l(),{id:"c1d961e7d6e77463",dynamic:[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue],children:`.show-all-pools-button{width:100%;height:48px;box-sizing:border-box;color:${H.Tj.blue};border-color:${H.Tj.blue};background-color:${H.Tj.veriestTransparentBlue}}.show-all-pools-button:hover{background-color:${H.Tj.veryTransparentBlue}}.box.__jsx-style-dynamic-selector h2.__jsx-style-dynamic-selector{float:left}.box.__jsx-style-dynamic-selector .network-choice .MuiButtonGroup-root{float:left;margin:55px 0 0 20px}.box.__jsx-style-dynamic-selector .network-choice .MuiAlert-root{margin-top:5px}`})]})};ee.propTypes={sortData:w().func.isRequired,SortHeader:w().func.isRequired,searchAndFilterData:w().func.isRequired,SearchAndFilterBox:w().func.isRequired,EmptyResultPlaceholder:w().func.isRequired,updateFilterBy:w().func.isRequired,updateSearch:w().func.isRequired,filterBy:w().string.isRequired,hideSearchAndFilter:w().bool,forcedAdditionalFilter:w().func};let ea=(0,L.A)((0,M.A)(ee,{defaultSortBy:"stakedBalanceUsdValueNumber",defaultSortDir:"desc",sortBy2:"totalApyNumber",sortDir2:"desc"}),{defaultFilterBy:"my pools",filters:[{name:"to deposit",predicate:Z,labelInText:"to-deposit",noButton:!0},{name:"my pools",predicate:({stakedBalance:e,poolEarnedUsdValue:a})=>e?.gt(0)||a?.gt(0),fallbackIfNoResult:e=>e.slice(0,5),labelInText:"my"},{name:"all",predicate:()=>!0,labelInText:"all"},{name:"prisma",predicate:e=>e.curvePool.coins.some(({address:e})=>(0,J.lc)(e)===(0,J.lc)(U.A.prisma.address)||(0,J.lc)(e)===(0,J.lc)(U.A.cvxprisma.address)),labelInText:"PRISMA",tooltipText:"Pools containing PRISMA"},{name:"mkusd",predicate:e=>e.curvePool.coins.some(({address:e})=>(0,J.lc)(e)===(0,J.lc)(U.A.mkusd.address)),labelInText:"mkUSD",tooltipText:"Pools containing mkUSD"}]});var es=s(57443);let er=()=>(0,n.jsxs)("div",{className:l().dynamic([["ce3987ecdd55c4c0",[H.Tj.backgroundLighter]]])+" box",children:["With Prisma now being shutdown, if you were managing vaults or anything else on the Prisma website, please head back there to close/withdraw these positions.",(0,n.jsxs)("div",{className:l().dynamic([["ce3987ecdd55c4c0",[H.Tj.backgroundLighter]]])+" buttons-container",children:[(0,n.jsxs)(q.A,{color:"primary",variant:"outlined",href:"",target:"_blank",rel:"noopener noreferrer",children:["Manage Prisma Vaults",(0,n.jsx)("span",{disabled:!0,className:l().dynamic([["ce3987ecdd55c4c0",[H.Tj.backgroundLighter]]])+" external-link-icon",children:(0,n.jsx)(es.A,{fontSize:"small"})})]}),(0,n.jsx)(q.A,{color:"primary",variant:"outlined",href:"/claim",children:"Claim Vaults Rewards"})]}),(0,n.jsx)(l(),{id:"ce3987ecdd55c4c0",dynamic:[H.Tj.backgroundLighter],children:`.box.__jsx-style-dynamic-selector{padding:20px;background-color:${H.Tj.backgroundLighter};border-radius:10px}.buttons-container.__jsx-style-dynamic-selector{display:flex;margin:16px -10px 0;justify-content:center}.buttons-container.__jsx-style-dynamic-selector .MuiButton-root{margin:0 10px;
12min-width:200px}.buttons-container.__jsx-style-dynamic-selector .MuiButton-root .external-link-icon .MuiSvgIcon-root{position:relative;top:2px;left:4px;width:14px;height:14px}`})]});var en=s(17654),et=s.n(en),el=s(21576),eo=s(89028),ei=s(71377),ec=s(9472),ed=s(64675);let ex=({poolId:e})=>{let a=(0,el.IC)(e),s=g.kl.stakeWrappedDexLpToken.balanceHook({actionPool:a})?.gt(0),[r,t]=(0,o.useState)(s);(0,o.useEffect)(()=>{void 0===r&&s&&t(!0)},[r,s]);let i=(0,o.useCallback)(()=>t(!r),[r]);return(0,n.jsxs)("div",{className:"jsx-eb5b4157f1dad828 container",children:[(0,n.jsxs)("div",{className:"jsx-eb5b4157f1dad828 pre-form-container",children:[(0,n.jsx)("div",{className:"jsx-eb5b4157f1dad828",children:(0,n.jsx)("span",{className:"jsx-eb5b4157f1dad828"})}),(0,n.jsx)("div",{className:"jsx-eb5b4157f1dad828 switch-container",children:(0,n.jsx)(ec.A,{control:(0,n.jsx)(ed.A,{size:"small",checked:r,color:"primary",onChange:i}),label:"Advanced"})})]}),r?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"jsx-eb5b4157f1dad828 action-form-container",children:[(0,n.jsxs)("p",{className:"jsx-eb5b4157f1dad828",children:["Unstake and withdraw ",a.lpTokenInfo.symbol," in one go:"]}),(0,n.jsx)(p.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to unstake and withdraw`,actionType:"unstakeAndWithdrawDexLpToken",extraData:{actionPool:a}})]}),(0,n.jsxs)("div",{className:"jsx-eb5b4157f1dad828 action-form-container",children:[(0,n.jsxs)("p",{className:"jsx-eb5b4157f1dad828",children:["Or separately unstake ",a.lpTokenInfo.symbol," with this first form, and unwrap the wrapped deposit token with this second form:"]}),(0,n.jsx)(p.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to unstake`,actionType:"unstakeDexLpToken",extraData:{actionPool:a}}),(0,n.jsx)(p.A,{label:`Amount of wrapped ${a.lpTokenInfo.symbol} tokens to unwrap`,actionType:"withdrawWrappedDexLpToken",extraData:{actionPool:a}})]})]}):(0,n.jsx)("div",{className:"jsx-eb5b4157f1dad828 action-form-container",children:(0,n.jsx)(p.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to unstake and withdraw`,actionType:"unstakeAndWithdrawDexLpToken",extraData:{actionPool:a}})}),(0,n.jsx)(l(),{id:"eb5b4157f1dad828",children:".pre-form-container.jsx-eb5b4157f1dad828{display:flex;justify-content:end}.text-container.jsx-eb5b4157f1dad828>p.jsx-eb5b4157f1dad828:first-child{margin-top:0}.text-container.jsx-eb5b4157f1dad828>p.jsx-eb5b4157f1dad828:last-child{margin-bottom:0}.switch-container.jsx-eb5b4157f1dad828{margin-left:40px;display:flex;align-items:flex-end}.switch-container.jsx-eb5b4157f1dad828 .MuiFormControlLabel-label{margin-left:5px;font-size:13px;font-weight:700;line-height:24px}.action-form-container.jsx-eb5b4157f1dad828{margin-top:14px}.action-form-container.jsx-eb5b4157f1dad828>p.jsx-eb5b4157f1dad828:first-child{margin-top:28px}.action-form-container.jsx-eb5b4157f1dad828>.container{margin-top:14px}"})]})};ex.propTypes={poolId:w().string.isRequired};let ep=({poolId:e})=>{let a=(0,el.IC)(e),s=new Map([["LP token address",a.lpTokenAddress||a.address],["Deposit contract address",h.Ay.CurveBooster.address],["Rewards contract address",h.Ay[a.rewardContractKey].address]]);return(0,n.jsx)(m.A,{addressesMap:s,network:a.blockchainId})};ep.propTypes={poolId:w().string.isRequired};var eu=s(44182);let em=["Withdraw","Info"],ej=({id:e,name:a,lpTokenSymbol:s,stakedBalance:r,stakedBalanceUsdValue:t,poolEarnedUsdValue:l,totalLockedUsdValue:x,currentAprData:p,cumulativeApy:u,isPendingHarvest:m=!1,crvBoost:h,baseApy:b,crvApy:f,cvxApy:v,additionalRewards:y})=>{let T=(0,el.IC)(e),A=T.isKilled&&!r?.gt(0),C=[...m?[j.Ay.crv.address]:[],...y.filter(({isPendingHarvest:e})=>e).map(({coinAddress:e})=>e)];if("factory-crypto-18"===e){let e=g.kl.stakeWrappedDexLpToken.balanceHook({actionPool:T})?.gt(0),a=r?.gt(0);if(!e&&!a)return null}let N=T.isKilled,w=(0,o.useMemo)(()=>[(0,n.jsx)(ex,{poolId:e}),(0,n.jsx)(ep,{poolId:e})],[e]);return(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{className:"faded",children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(ei.A,{coins:T.coins,className:"icon"}),(0,n.jsx)(c.hE,{children:a})]}),(0,n.jsx)(c.eB,{children:(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===l?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(l)})]})}),(0,n.jsx)(c.eB,{children:(0,n.jsxs)(c.UC,{children:[void 0===p?.cumulativeApy||void 0===u||A?"–":(0,n.jsxs)("span",{children:[(0,k.o)(p.cumulativeApy),(0,n.jsxs)("span",{className:"small",children:["% (proj. ",(0,k.o)(u),"%)"]}),(0,n.jsx)(eo.A,{pool:T,poolName:a,baseApy:b,crvApy:f,crvBoost:h,additionalRewards:y,cvxApy:v,cumulativeApy:u,currentAprData:p,rewardsPendingHarvest:C}),C.length>0&&(0,n.jsx)(eu.A,{})]}),null!=h&&!A&&(0,n.jsxs)("span",{className:"small",children:[(0,n.jsx)("br",{}),"veCRV boost: ",(0,k.kW)((0,i.A)(h)),"x"]})]})}),(0,n.jsx)(c.eB,{children:(0,n.jsxs)(c.UC,{children:[void 0===r?"–":(0,n.jsx)(n.Fragment,{children:(0,k.
12kW)(r,2)})," ",(0,n.jsx)("span",{className:"small",children:s}),void 0!==t&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,k.sz)(t,2)]})]})}),(0,n.jsx)(c.eB,{children:(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===x?"–":(0,n.jsx)(n.Fragment,{children:(0,k.sz)(x,2)})]})})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:N?em.slice(1):em,panels:N?w.slice(1):w})})},e)};ej.propTypes={id:w().string.isRequired,name:w().string.isRequired,lpTokenSymbol:w().string.isRequired,stakedBalance:w().instanceOf(i.A),stakedBalanceUsdValue:w().instanceOf(i.A),poolEarnedUsdValue:w().instanceOf(i.A),totalLockedUsdValue:w().instanceOf(i.A),currentAprData:w().shape({cumulativeApy:w().instanceOf(i.A),isPendingHarvest:w().bool,baseApy:w().number,crvApy:w().instanceOf(i.A),cvxApy:w().instanceOf(i.A),additionalRewards:w().array}),cumulativeApy:w().instanceOf(i.A),isPendingHarvest:w().bool};let eh=o.memo(ej);var eb=s(19131),ef=s(80955),ev=s(81403),ey=s(4360),eg=s(78989);let ek=et()((e,a,s,r,n,t,l)=>e.map(e=>{let a=s?.[e.rewardContractKey],o=n?.get(e.address),c=void 0!==a&&void 0!==o?a.times(o):void 0,d=g.kl.depositAndStakeDexLpToken.apyHook(e,l,s,o,t),{cumulativeApy:x,crvBoost:p,baseApy:u,crvApy:m,cvxApy:j,additionalRewards:h}=g.kl.depositAndStakeDexLpToken.projectedApyHook({curveApys:t,tvl:s,cvxPrice:r,lpTokenPrice:o,actionPool:e}),b=m&&m.eq(0)&&!ev.KQ.includes(e.id),f=void 0!==d?{...d,cumulativeApy:b?(0,i.A)(d.baseApy):d.cumulativeApy,crvApy:b?(0,i.A)(0):d.crvApy,cvxApy:b?(0,i.A)(0):d.cvxApy,isPendingHarvest:!m?.eq(0)&&d.isPendingHarvest}:void 0;return{...e,totalLockedUsdValue:c,totalLockedUsdValueNumber:c?.toNumber(),currentAprData:f,apyNumber:e.isKilled?null:f?.cumulativeApy?.toNumber(),isPendingHarvest:f?.isPendingHarvest,cumulativeApy:x,crvBoost:p,baseApy:u,crvApy:m,cvxApy:j,additionalRewards:h}}),{normalizer:([e,a,s,r,n,t,l])=>{let i=(0,o.useContext)(eg.A),c=(0,o.useContext)(ey.A);return`
13      ${e.length}-${e?.[0]?.blockchainId}-${e?.[0]?.isLendingVault}
14      ${a}
15      ${Object.keys(s).length}
16      ${typeof n}
17      ${void 0!==t?Object.keys(t).length:0}
18      ${l?.areCurveTokenPricesLoaded}
19      ${void 0!==i?.rewardRate?Object.keys(i.rewardRate).length:0}
20      ${Object.keys(c).length}
21    `},maxAge:6e4}),eT=()=>{let e=(0,o.useContext)(v.A),a=(0,o.useContext)(O.A),s=(0,o.useContext)(eb.A),r=(0,o.useContext)(W.A),t=(0,o.useContext)(y.A),i=t?.get(j.Ay.cvx.address),{poolsWithDepositsAndRewards:d,appendedDataCacheIdentifier:x}=(0,ef.A)(el.Ay,s),p=d[0].stakedBalance?.gt(0),u=g.kl.stakeWrappedDexLpToken.balanceHook({actionPool:d[0]})?.gt(0);if(!p&&!u)return null;let m=ek(d,x,e,i,a,r,t);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{className:l().dynamic([["39b2bc4fbdcdb35",[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue]]]),children:"(Old) Provide liquidity on Curve"}),(0,n.jsxs)(c.A0,{children:[(0,n.jsx)(c.eB,{children:"Pool Name"}),(0,n.jsx)(c.eB,{children:"Claimable"}),(0,n.jsx)(c.eB,{children:"vAPR"}),(0,n.jsx)(c.eB,{children:"My Deposits"}),(0,n.jsx)(c.eB,{children:"TVL"})]}),m.map(e=>{let{id:a,name:s,lpTokenInfo:{symbol:r},stakedBalance:t,stakedBalanceUsdValue:l,poolEarnedUsdValue:o,totalLockedUsdValue:i,currentAprData:c,cumulativeApy:d,crvBoost:x,baseApy:p,crvApy:u,cvxApy:m,additionalRewards:j,isPendingHarvest:h}=e;return(0,n.jsx)(eh,{id:a,name:s,lpTokenSymbol:r,stakedBalance:t,stakedBalanceUsdValue:l,poolEarnedUsdValue:o,totalLockedUsdValue:i,isPendingHarvest:h,currentAprData:c,cumulativeApy:d,crvBoost:x,baseApy:p,crvApy:u,cvxApy:m,additionalRewards:j},a)}),(0,n.jsx)(l(),{id:"39b2bc4fbdcdb35",dynamic:[H.Tj.blue,H.Tj.blue,H.Tj.veriestTransparentBlue,H.Tj.veryTransparentBlue],children:`.show-all-pools-button{width:100%;height:48px;box-sizing:border-box;color:${H.Tj.blue};border-color:${H.Tj.blue};background-color:${H.Tj.veriestTransparentBlue}}.show-all-pools-button:hover{background-color:${H.Tj.veryTransparentBlue}}`})]})};var eA=s(29674),eC=s(2307);(0,s(41732).Kc)(()=>(0,Y.arePoolsLoaded)()&&(0,h.zE)()).then(()=>{r&&r(!0)});let eN=({curvePool:{convexPoolData:e}})=>258===e.id,ew=[(0,n.jsx)("span",{children:"mkUSD"}),(0,n.jsx)("span",{children:"ULTRA"})],eB=[(0,n.jsx)(X,{stablecoin:"mkusd"}),(0,n.jsx)(X,{stablecoin:"ultra"})],eF=()=>{let[,e]=(0,o.useState)(!1);return r=e,(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]])+" white",children:"cvxPRISMA"}),(0,n.jsx)(C,{}),(0,n.jsx)("div",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]])+" tabs-container",children:(0,n.jsx)(eC.A,{labels:ew,panels:eB})}),(0,n.jsx)("h2",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]]),children:"Stake Curve LP Tokens on Prisma"}),(0,Y.arePoolsLoaded)()&&(0,h.zE)()?(0,n.jsx)(ea,{}):(0,n.jsx)(eA.A,{children:(0,n.jsx)("p",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]]),children:(0,n.jsx)("i",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]]),children:"Loading pools…"})})}),(0,n.jsx)("h2",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]]),children:"Provide cvxPRISMA liquidity"}),(0,Y.arePoolsLoaded)()&&(0,h.zE)()?(0,n.jsx)(ea,{hideSearchAndFilter:!0,forcedAdditionalFilter:eN}):(0,n.jsx)(eA.A,{children:(0,n.jsx)("p",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]]),children:(0,n.jsx)("i",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]]),children:"Loading pool…"})})}),(0,n.jsx)(eT,{}),(0,n.jsx)("h2",{className:l().dynamic([["820fb553281b803f",[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque]]]),children:"Manage Prisma vaults and mint mkUSD & ULTRA"}),(0,n.jsx)(er,{}),(0,n.jsx)(l(),{id:"820fb553281b803f",dynamic:[H.Tj.backgroundTransparentGrey,H.Tj.dark,H.Tj.backgroundLighterDarkOpaque],children:`.tabs-container.__jsx-style-dynamic-selector{margin-top:60px}.tabs-container.__jsx-style-dynamic-selector .tabs-labels-container .Mu
21iTab-root{width:auto;opacity:1;background-color:${H.Tj.backgroundTransparentGrey};color:${H.Tj.dark}}.tabs-container.__jsx-style-dynamic-selector .tabs-labels-container .MuiTab-root.Mui-selected{opacity:1;background-color:${H.Tj.backgroundLighterDarkOpaque};color:#fff}.tabs-container.__jsx-style-dynamic-selector .tabs-labels-container .MuiTab-root span{font-size:17px}`})]})}},93559:(e,a,s)=>{"use strict";s.d(a,{A:()=>E});var r=s(66305),n=s(96295),t=s.n(n),l=s(67141),o=s(58511),i=s.n(o),c=s(17654),d=s.n(c),x=s(37851),p=s(66671),u=s(10908),m=s(95589),j=s(21576),h=s(12553),b=s(89028),f=s(71377),v=s(527),y=s(9472),g=s(64675);let k=({poolId:e})=>{let a=(0,j.IC)(e),s=u.kl.stakeWrappedDexLpToken.balanceHook({actionPool:a})?.gt(0),[n,o]=(0,l.useState)(s);(0,l.useEffect)(()=>{void 0===n&&s&&o(!0)},[n,s]);let i=(0,l.useCallback)(()=>o(!n),[n]);return(0,r.jsxs)("div",{className:"jsx-911bfcec87fca3cc container",children:[(0,r.jsxs)("div",{className:"jsx-911bfcec87fca3cc pre-form-container",children:[(0,r.jsx)("div",{className:"jsx-911bfcec87fca3cc text-container",children:(0,r.jsxs)("p",{className:"jsx-911bfcec87fca3cc",children:["Deposit ",a.coins[1].symbol," and/or ",a.coins[0].symbol," into the ",(0,r.jsxs)("a",{href:a.poolUrl,target:"_blank",rel:"noopener noreferrer",className:"jsx-911bfcec87fca3cc",children:["Curve ",a.name," pool"]})," (without staking in the Curve gauge), and then stake your ",a.lpTokenInfo.symbol," tokens here to earn CVX on top of Curve’s native rewards."]})}),(0,r.jsx)("div",{className:"jsx-911bfcec87fca3cc switch-container",children:(0,r.jsx)(y.A,{control:(0,r.jsx)(g.A,{size:"small",checked:n,color:"primary",onChange:i}),label:"Advanced"})})]}),n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"jsx-911bfcec87fca3cc action-form-container",children:[(0,r.jsxs)("p",{className:"jsx-911bfcec87fca3cc",children:["Convert and stake ",a.lpTokenInfo.symbol," in one go:"]}),(0,r.jsx)(v.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to deposit and stake`,actionType:"depositAndStakeDexLpToken",extraData:{actionPool:a}})]}),(0,r.jsxs)("div",{className:"jsx-911bfcec87fca3cc action-form-container",children:[(0,r.jsxs)("p",{className:"jsx-911bfcec87fca3cc",children:["Or separately deposit ",a.lpTokenInfo.symbol," with this first form, and stake the wrapped deposit token with this second form:"]}),(0,r.jsx)(v.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to deposit`,actionType:"depositDexLpToken",extraData:{actionPool:a}}),(0,r.jsx)(v.A,{label:`Amount of wrapped ${a.lpTokenInfo.symbol} tokens to stake`,actionType:"stakeWrappedDexLpToken",extraData:{actionPool:a}})]})]}):(0,r.jsx)("div",{className:"jsx-911bfcec87fca3cc action-form-container",children:(0,r.jsx)(v.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to deposit and stake`,actionType:"depositAndStakeDexLpToken",extraData:{actionPool:a}})}),(0,r.jsx)(t(),{id:"911bfcec87fca3cc",children:'.pre-form-container.jsx-911bfcec87fca3cc{display:flex}.text-container.jsx-911bfcec87fca3cc>p.jsx-911bfcec87fca3cc:first-child{margin-top:0}.text-container.jsx-911bfcec87fca3cc>p.jsx-911bfcec87fca3cc:last-child{margin-bottom:0}.switch-container.jsx-911bfcec87fca3cc{margin-left:40px;display:flex;align-items:flex-end}.switch-container.jsx-911bfcec87fca3cc .MuiFormControlLabel-label{margin-left:5px;font-size:13px;font-weight:700;line-height:24px}.action-form-container.jsx-911bfcec87fca3cc{margin-top:14px}.action-form-container.jsx-911bfcec87fca3cc>p.jsx-911bfcec87fca3cc:first-child{margin-top:28px}.action-form-container.jsx-911bfcec87fca3cc>.container{margin-top:14px}ul.jsx-911bfcec87fca3cc{list-style:none;padding-left:0}ul.jsx-911bfcec87fca3cc li.jsx-911bfcec87fca3cc::before{content:"• "}'})]})};k.propTypes={poolId:i().string.isRequired};let T=({poolId:e})=>{let a=(0,j.IC)(e),s=u.kl.stakeWrappedDexLpToken.balanceHook({actionPool:a})?.gt(0),[n,o]=(0,l.useState)(s);(0,l.useEffect)(()=>{void 0===n&&s&&o(!0)},[n,s]);let i=(0,l.useCallback)(()=>o(!n),[n]);return(0,r.jsxs)("div",{className:"jsx-eb5b4157f1dad828 container",children:[(0,r.jsxs)("div",{className:"jsx-eb5b4157f1dad828 pre-form-container",children:[(0,r.jsx)("div",{className:"jsx-eb5b4157f1dad828",children:(0,r.jsx)("span",{className:"jsx-eb5b4157f1dad828"})}),(0,r.jsx)("div",{className:"jsx-eb5b4157f1dad828 switch-container",children:(0,r.jsx)(y.A,{control:(0,r.jsx)(g.A,{size:"small",checked:n,color:"primary",onChange:i}),label:"Advanced"})})]}),n?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"jsx-eb5b4157f1dad828 action-form-container",children:[(0,r.jsxs)("p",{className:"jsx-eb5b4157f1dad828",children:["Unstake and withdraw ",a.lpTokenInfo.symbol," in one go:"]}),(0,r.jsx)(v.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to unstake and withdraw`,actionType:"unstakeAndWithdrawDexLpToken",extraData:{actionPool:a}})]}),(0,r.jsxs)("div",{className:"jsx-eb5b4157f1dad828 action-form-container",children:[(0,r.jsxs)("p",{className:"jsx-eb5b4157f1dad828",children:["Or separately unstake ",a.lpTokenInfo.symbol," with this first form, and unwrap the wrapped deposit token with this second form:"]}),(0,r.jsx)(v.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to unstake`,actionType:"unstakeDexLpToken",extraData:{actionPool:a}}),(0,r.jsx)(v.A,{label:`Amount of wrapped ${a.lpTokenInfo.symbol} tokens to unwrap`,actionType:"withdrawWrappedDexLpToken",extraData:{actionPool:a}})]})]}):(0,r.jsx)("div",{className:"jsx-eb5b4157f1dad828 action-form-container",children:(0,r.jsx)(v.A,{label:`Amount of ${a.lpTokenInfo.symbol} tokens to unstake and withdraw`,actionType:"unstakeAndWithdrawDexLpToken",extraData:{actionPool:a}})}),(0,r.jsx)(t(),{id:"eb5b4157f1dad828",children:".pre-form-container.jsx-eb5b4157f1dad828{display:flex;justify-content:end}.text-container.jsx-eb5b4157f1dad828>p.jsx-eb5b4157f1dad828:first-child{margin-top:0}.text-container.jsx-eb5b4157f1dad828>p.jsx-eb5b4157f1dad828:last-child{margin-bottom:0}.switch-container.jsx-eb5b4157f1dad828{margin-left:40px;
21display:flex;align-items:flex-end}.switch-container.jsx-eb5b4157f1dad828 .MuiFormControlLabel-label{margin-left:5px;font-size:13px;font-weight:700;line-height:24px}.action-form-container.jsx-eb5b4157f1dad828{margin-top:14px}.action-form-container.jsx-eb5b4157f1dad828>p.jsx-eb5b4157f1dad828:first-child{margin-top:28px}.action-form-container.jsx-eb5b4157f1dad828>.container{margin-top:14px}"})]})};T.propTypes={poolId:i().string.isRequired};var A=s(33965),C=s(64904);let N=({poolId:e})=>{let a=(0,j.IC)(e),s=new Map([["LP token address",a.lpTokenAddress||a.address],["Deposit contract address",C.Ay.CurveBooster.address],["Rewards contract address",C.Ay[a.rewardContractKey].address]]);return(0,r.jsx)(A.A,{addressesMap:s,network:a.blockchainId})};N.propTypes={poolId:i().string.isRequired};var w=s(44182),B=s(69025),F=s(93746),S=s(56474);let R=["Deposit","Withdraw","Info"],P=({id:e,name:a,lpTokenSymbol:s,stakedBalance:n,stakedBalanceUsdValue:t,poolEarnedUsdValue:o,totalLockedUsdValue:i,currentAprData:c,cumulativeApy:d,isPendingHarvest:v=!1,crvBoost:y,baseApy:g,crvApy:A,cvxApy:C,additionalRewards:P})=>{let _=(0,j.IC)(e),I=_.isKilled&&!n?.gt(0),U=[...v?[m.Ay.crv.address]:[],...P.filter(({isPendingHarvest:e})=>e).map(({coinAddress:e})=>e)],D="factory-crypto-18"===e;if(D){let e=u.kl.stakeWrappedDexLpToken.balanceHook({actionPool:_})?.gt(0),a=n?.gt(0);if(!e&&!a)return null}let V=_.isKilled||D,X=(0,l.useMemo)(()=>[(0,r.jsx)(k,{poolId:e}),(0,r.jsx)(T,{poolId:e}),(0,r.jsx)(N,{poolId:e})],[e]);return(0,r.jsx)(p.Ay,{Header:(0,r.jsxs)(p.d6,{className:_.isKilled?"faded":"",children:[(0,r.jsxs)(p.eB,{orientation:"horizontal",children:[(0,r.jsx)(f.A,{coins:_.coins,className:"icon"}),(0,r.jsxs)(p.hE,{children:[a,D&&(0,r.jsx)(S.A,{title:"An improved FXS+cvxFXS pool has been deployed, feel free to migrate to it to continue accruing rewards! This old pool will stop receiving rewards soon.",arrow:!0,children:(0,r.jsx)("span",{children:(0,r.jsx)(F.A,{})})})]})]}),(0,r.jsx)(p.eB,{children:(0,r.jsxs)(p.UC,{children:[(0,r.jsx)("span",{className:"small",children:"$"}),void 0===o?"–":(0,r.jsx)(r.Fragment,{children:(0,B.sz)(o)})]})}),(0,r.jsx)(p.eB,{children:(0,r.jsxs)(p.UC,{children:[void 0===c?.cumulativeApy||void 0===d||I?"–":(0,r.jsxs)("span",{children:[(0,B.o)(c.cumulativeApy),(0,r.jsxs)("span",{className:"small",children:["% (proj. ",(0,B.o)(d),"%)"]}),(0,r.jsx)(b.A,{pool:_,poolName:a,baseApy:g,crvApy:A,crvBoost:y,additionalRewards:P,cvxApy:C,cumulativeApy:d,currentAprData:c,rewardsPendingHarvest:U}),U.length>0&&(0,r.jsx)(w.A,{})]}),null!=y&&!I&&(0,r.jsxs)("span",{className:"small",children:[(0,r.jsx)("br",{}),"veCRV boost: ",(0,B.kW)((0,x.A)(y)),"x"]})]})}),(0,r.jsx)(p.eB,{children:(0,r.jsxs)(p.UC,{children:[void 0===n?"–":(0,r.jsx)(r.Fragment,{children:(0,B.kW)(n,2)})," ",(0,r.jsx)("span",{className:"small",children:s}),void 0!==t&&(0,r.jsxs)(p.UC,{discreet:!0,children:[" ≈ ",(0,r.jsx)("span",{className:"small",children:"$"}),(0,B.sz)(t,2)]})]})}),(0,r.jsx)(p.eB,{children:(0,r.jsxs)(p.UC,{children:[(0,r.jsx)("span",{className:"small",children:"$"}),void 0===i?"–":(0,r.jsx)(r.Fragment,{children:(0,B.sz)(i,2)})]})})]}),Content:(0,r.jsx)(p.Bo,{children:(0,r.jsx)(h.A,{labels:V?R.slice(1):R,panels:V?X.slice(1):X})})},e)};P.propTypes={id:i().string.isRequired,name:i().string.isRequired,lpTokenSymbol:i().string.isRequired,stakedBalance:i().instanceOf(x.A),stakedBalanceUsdValue:i().instanceOf(x.A),poolEarnedUsdValue:i().instanceOf(x.A),totalLockedUsdValue:i().instanceOf(x.A),currentAprData:i().shape({cumulativeApy:i().instanceOf(x.A),isPendingHarvest:i().bool,baseApy:i().number,crvApy:i().instanceOf(x.A),cvxApy:i().instanceOf(x.A),additionalRewards:i().array}),cumulativeApy:i().instanceOf(x.A),isPendingHarvest:i().bool};let _=l.memo(P);var I=s(80543),U=s(37573),D=s(60920),V=s(19131),X=s(22750),M=s(25697),L=s(81403),$=s(4360),z=s(78989),q=s(80955);let H=d()((e,a,s,r,n,t,l)=>e.map(e=>{let a=s?.[e.rewardContractKey],o=n?.get(e.address),i=void 0!==a&&void 0!==o?a.times(o):void 0,c=u.kl.depositAndStakeDexLpToken.apyHook(e,l,s,o,t),{cumulativeApy:d,crvBoost:p,baseApy:m,crvApy:j,cvxApy:h,additionalRewards:b}=u.kl.depositAndStakeDexLpToken.projectedApyHook({curveApys:t,tvl:s,cvxPrice:r,lpTokenPrice:o,actionPool:e}),f=j&&j.eq(0)&&!L.KQ.includes(e.id),v=void 0!==c?{...c,cumulativeApy:f?(0,x.A)(c.baseApy):c.cumulativeApy,crvApy:f?(0,x.A)(0):c.crvApy,cvxApy:f?(0,x.A)(0):c.cvxApy,isPendingHarvest:!j?.eq(0)&&c.isPendingHarvest}:void 0;return{...e,totalLockedUsdValue:i,totalLockedUsdValueNumber:i?.toNumber(),currentAprData:v,apyNumber:e.isKilled?null:v?.cumulativeApy?.toNumber(),isPendingHarvest:v?.isPendingHarvest,cumulativeApy:d,crvBoost:p,baseApy:m,crvApy:j,cvxApy:h,additionalRewards:b}}
21),{normalizer:([e,a,s,r,n,t,o])=>{let i=(0,l.useContext)(z.A),c=(0,l.useContext)($.A);return`
22      ${e.length}-${e?.[0]?.blockchainId}-${e?.[0]?.isLendingVault}
23      ${a}
24      ${Object.keys(s).length}
25      ${typeof n}
26      ${void 0!==t?Object.keys(t).length:0}
27      ${o?.areCurveTokenPricesLoaded}
28      ${void 0!==i?.rewardRate?Object.keys(i.rewardRate).length:0}
29      ${Object.keys(c).length}
30    `},maxAge:6e4}),O=({hideIfNoBalances:e=!1})=>{let a=(0,l.useContext)(U.A),s=(0,l.useContext)(D.A),n=(0,l.useContext)(V.A),o=(0,l.useContext)(M.A),i=(0,l.useContext)(X.A),c=i?.get(m.Ay.cvx.address),{poolsWithDepositsAndRewards:d,appendedDataCacheIdentifier:x}=(0,q.A)(j.Ay,n),u=H(d,x,a,c,s,o,i),h=u.some(({stakedBalance:e})=>e?.gt(0));return e&&!h?null:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("h2",{className:t().dynamic([["39b2bc4fbdcdb35",[I.Tj.blue,I.Tj.blue,I.Tj.veriestTransparentBlue,I.Tj.veryTransparentBlue]]]),children:"Provide liquidity on Curve"}),(0,r.jsxs)(p.A0,{children:[(0,r.jsx)(p.eB,{children:"Pool Name"}),(0,r.jsx)(p.eB,{children:"Claimable"}),(0,r.jsx)(p.eB,{children:"vAPR"}),(0,r.jsx)(p.eB,{children:"My Deposits"}),(0,r.jsx)(p.eB,{children:"TVL"})]}),u.map(e=>{let{id:a,name:s,lpTokenInfo:{symbol:n},stakedBalance:t,stakedBalanceUsdValue:l,poolEarnedUsdValue:o,totalLockedUsdValue:i,currentAprData:c,cumulativeApy:d,crvBoost:x,baseApy:p,crvApy:u,cvxApy:m,additionalRewards:j,isPendingHarvest:h}=e;return(0,r.jsx)(_,{id:a,name:s,lpTokenSymbol:n,stakedBalance:t,stakedBalanceUsdValue:l,poolEarnedUsdValue:o,totalLockedUsdValue:i,isPendingHarvest:h,currentAprData:c,cumulativeApy:d,crvBoost:x,baseApy:p,crvApy:u,cvxApy:m,additionalRewards:j},a)}),(0,r.jsx)(t(),{id:"39b2bc4fbdcdb35",dynamic:[I.Tj.blue,I.Tj.blue,I.Tj.veriestTransparentBlue,I.Tj.veryTransparentBlue],children:`.show-all-pools-button{width:100%;height:48px;box-sizing:border-box;color:${I.Tj.blue};border-color:${I.Tj.blue};background-color:${I.Tj.veriestTransparentBlue}}.show-all-pools-button:hover{background-color:${I.Tj.veryTransparentBlue}}`})]})};O.propTypes={hideIfNoBalances:i().bool};let E=O},99070:(e,a,s)=>{"use strict";let r;s.r(a),s.d(a,{default:()=>eo});var n=s(66305),t=s(96295),l=s.n(t),o=s(67141),i=s(37851),c=s(66671),d=s(12553),x=s(46357),p=s(527),u=s(16019),m=s(9472),j=s(64675),h=s(93058),b=s(11256),f=s(10908),v=s(69025),y=s(84260),g=s(95589),k=s(80543);let T=()=>{let e=f.kl.stakeCvxFxn.balanceHook()?.gt(0),[a,s]=(0,o.useState)(e),[r,t]=(0,o.useState)(0),c=(0,i.A)(r||0),d=(0,y.A)(g.Ay.fxn,g.Ay.cvxfxn,c);(0,o.useEffect)(()=>{void 0===a&&e&&s(!0)},[a,e]);let x=(0,o.useCallback)(()=>
30s(!a),[a]),T=void 0!==d?(0,i.A)(d).minus(1).times(100):void 0,A=T?.gt(3);return(0,n.jsxs)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" container",children:[(0,n.jsxs)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" pre-form-container",children:[(0,n.jsxs)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" text-container",children:[(0,n.jsx)("p",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:"Convert FXN to cvxFXN. By staking cvxFXN, you’re earning a share of the usual rewards from veFXN, plus a share of the Convex LPs’ boosted FXN earnings, and CVX tokens on top of that."}),(0,n.jsx)("p",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" note",children:"Important: Converting FXN to cvxFXN is irreversible. You may stake and unstake cvxFXN tokens, but not convert them back to FXN. Secondary markets however exist to allow the exchange of cvxFXN for FXN at varying market rates."})]}),(0,n.jsx)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" switch-container",children:(0,n.jsx)(m.A,{control:(0,n.jsx)(j.A,{size:"small",checked:a||!1,color:"primary",onChange:x}),label:"Advanced"})})]}),A&&c.gt(0)&&(0,n.jsx)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" curve-pricing-info",children:(0,n.jsxs)(h.A,{severity:"info",children:[(0,n.jsxs)(b.A,{children:["You can ",(0,n.jsxs)("strong",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:["get ",(0,v.kW)(T,1),"% more cvxFXN"]})," if you swap your FXN instead of converting them!"]}),(0,n.jsxs)("p",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:["By converting ",(0,v.kW)(c,2)," FXN in the form below, you will get ",(0,n.jsxs)("strong",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:[(0,v.kW)(c,2)," cvxFXN"]}),".",(0,n.jsx)("br",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])}),"By swapping ",(0,v.kW)(c,2)," FXN for cvxFXN on Curve, you will get up to ",(0,n.jsxs)("strong",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:[(0,v.kW)(c.times(T.div(100).plus(1)),2)," cvxFXN (",(0,v.kW)(T,1),"% more)"]})," thanks to current market conditions. Then come back here to stake them!"]}),(0,n.jsx)("a",{href:"https://curve.finance/dex/ethereum/pools/factory-v2-358/swap",target:"_blank",rel:"noopener noreferrer",className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:(0,n.jsx)(u.A,{color:"primary",children:"Swap FXN to cvxFXN on Curve for more cvxFXN"})})]})}),a?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" action-form-container",children:[(0,n.jsx)("p",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:"Convert and stake FXN in one go:"}),(0,n.jsx)(p.A,{label:"Amount of FXN to convert and stake",actionType:"convertAndStakeFxn",onChange:t})]}),(0,n.jsxs)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" action-form-container",children:[(0,n.jsx)("p",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]]),children:"Or separately convert FXN into cvxFXN with this first form, and stake cvxFXN with this second form:"}),(0,n.jsx)(p.A,{label:"Amount of FXN to convert",actionType:"convertFxn",onChange:t}),(0,n.jsx)(p.A,{label:"Amount of cvxFXN to stake",actionType:"stakeCvxFxn"})]})]}):(0,n.jsx)("div",{className:l().dynamic([["9dffcb56c815b928",[k.Tj.halfTransparentBlue]]])+" action-form-container",children:(0,n.jsx)(p.A,{label:"Amount of FXN to convert and stake",actionType:"convertAndStakeFxn",onChange:t})}),(0,n.jsx)(l(),{id:"9dffcb56c815b928",dynamic:[k.Tj.halfTransparentBlue],children:`.pre-form-container.__jsx-style-dynamic-selector{display:flex}.text-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:first-child{margin-top:0}.text-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:last-child{margin-bottom:0}.switch-container.__jsx-style-dynamic-selector{margin-left:40px;
30display:flex;align-items:flex-end}.switch-container.__jsx-style-dynamic-selector .MuiFormControlLabel-label{margin-left:5px;font-size:13px;font-weight:700;line-height:24px}.action-form-container.__jsx-style-dynamic-selector{margin-top:14px}.action-form-container.__jsx-style-dynamic-selector>p.__jsx-style-dynamic-selector:first-child{margin-top:28px}.action-form-container.__jsx-style-dynamic-selector>.container{margin-top:14px}.curve-pricing-info.__jsx-style-dynamic-selector{position:relative}.curve-pricing-info.__jsx-style-dynamic-selector::after{position:absolute;content:"";top:-2px;left:-2px;right:-2px;z-index:0;height:calc(100% + 4px);filter:blur(8px);border-radius:14px;background:linear-gradient(to left,#ff5770,#e4428d,#c42da8,#9e16c3,#6501de,#9e16c3,#c42da8,#e4428d,#ff5770);background-size:200%200%;animation:animateGlow 1.65s linear infinite}.curve-pricing-info.__jsx-style-dynamic-selector .MuiAlert-root{position:relative;z-index:1;margin:20px 0;border-radius:10px;border:1px solid ${k.Tj.halfTransparentBlue};background-color:rgb(232 244 253/85%)}.curve-pricing-info.__jsx-style-dynamic-selector .MuiAlertTitle-root strong{text-decoration:underline}.curve-pricing-info.__jsx-style-dynamic-selector a:hover{text-decoration:none}.soon-info.__jsx-style-dynamic-selector p:last-child{margin-bottom:0}@keyframes animateGlow{0%{background-position:0%50%}100%{background-position:200%50%}}`})]})},A=()=>(0,n.jsxs)("div",{className:"jsx-ec3f419289ebac53 container",children:[(0,n.jsx)("p",{className:"jsx-ec3f419289ebac53",children:"Unstake cvxFXN. Note that unstaked cvxFXN doesn’t earn anything: any and all rewards only accrue to staked cvxFXN."}),(0,n.jsx)(p.A,{label:"Amount of cvxFXN to unstake",actionType:"unstakeCvxFxn"}),(0,n.jsx)(l(),{id:"ec3f419289ebac53",children:".container.jsx-ec3f419289ebac53>p.jsx-ec3f419289ebac53:first-child{margin-top:0}"})]});var C=s(33965),N=s(64904);let w=()=>{let e=(0,o.useMemo)(()=>new Map([["FXN token address",g.Ay.fxn.address],["cvxFXN token address",g.Ay.cvxfxn.address],["Deposit contract address",N.Ay.FxnDepositor.address],["Stake contract address",N.Ay.CvxFxnStaking.address]]),[]);return(0,n.jsx)(C.A,{addressesMap:e})};var B=s(21080),F=s(37573),S=s(22750),R=s(66629),P=s(36158);let _=()=>{let e=(0,o.useContext)(B.A),a=(0,o.useContext)(S.A),s=(0,o.useContext)(F.A),r=e?.CvxFxnStaking,t=a?.get(g.Ay.cvxfxn.address),l=s?.CvxFxnStaking,p=f.kl.claimStakedCvxFxnRewards.rewardsBalancesHook(),u=p?.reduce((e,[,,a])=>void 0===e||void 0===a?void 0:e.plus(a),(0,i.A)(0)),m=void 0!==r&&void 0!==t?r.times(t):void 0,j=void 0!==l&&void 0!==t?l.times(t):void 0,h=f.kl.convertAndStakeFxn.apyHook(a),b=void 0===h?void 0:(0,R.EJ)(h.map(([,e])=>e)),{labels:y,panels:k}=(0,o.useMemo)(()=>({labels:["Convert/Stake","Unstake","Info"],panels:[(0,n.jsx)(T,{}),(0,n.jsx)(A,{}),(0,n.jsx)(w,{})]}),[]);return(0,n.jsx)(c.Ay,{Header:(0,n.jsxs)(c.d6,{children:[(0,n.jsxs)(c.eB,{orientation:"horizontal",children:[(0,n.jsx)(x.A,{big:!0,coin:g.Ay.fxn,className:"icon"}),(0,n.jsx)(c.hE,{children:"FXN"})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsxs)(c.dv,{children:["Claimable ",(0,n.jsx)("span",{className:"small",children:"(USD value)"})]}),(0,n.jsxs)(c.UC,{children:[(0,n.jsx)("span",{className:"small",children:"$"}),void 0===u?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(u)})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"vAPR"}),(0,n.jsx)(c.UC,{children:void 0===b?"–":(0,n.jsxs)("span",{children:[(0,v.o)(b),(0,n.jsx)("span",{className:"small",children:"%"}),(0,n.jsx)(P.A,{cumulativeApy:b,apys:h})]})})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"My cvxFXN Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===r?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(r,2)})," ",(0,n.jsx)("span",{className:"small",children:"cvxFXN"}),void 0!==m&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,v.sz)(m,2)]})]})]}),(0,n.jsxs)(c.eB,{children:[(0,n.jsx)(c.dv,{children:"Total Staked"}),(0,n.jsxs)(c.UC,{children:[void 0===l?"–":(0,n.jsx)(n.Fragment,{children:(0,v.sz)(l,2)})," ",(0,n.jsx)("span",{className:"small",children:"cvxFXN"}),void 0!==j&&(0,n.jsxs)(c.UC,{discreet:!0,children:[" ≈ ",(0,n.jsx)("span",{className:"small",children:"$"}),(0,v.sz)(j,2)]})]})]})]}),Content:(0,n.jsx)(c.Bo,{children:(0,n.jsx)(d.A,{labels:y,panels:k})}),variant:"primary",expanded:!0})};var I=s(93559),U=s(58511),D=s.n(U),V=s(17654),X=s.n(V),M=s(91993),L=s(80910),$=s(39406),z=s(29674),q=s(15328),H=s(56474),O=s(79552),E=s(40604),W=s(14161),K=s(25697),G=s(59472),Y=s(5901),J=s(12287),Q=s(78989),Z=s(4360),ee=s(81403);let ea=X()((e,a,s,r,n,t,l)=>e.map(e=>{let o,i=a[e.id];if("Erc20Basic"!==e.vaultType||ee.yV.includes(e.id))o=e;else{let a=e.stakingTokenUsdPrice,s=G.ACTIONS.depositAndStakeLpToken.apyHook(e.underlyingCurvePool,r,n,a,t);o={...e,rewardCoins:[{symbol:"Base Curve vAPY"},...e.rewardCoins],curveAprData:{baseApy:s.baseApy}}}let c=(0,R.EJ)(["RusdRebalancePool"===e.vaultSubtype?l?.[g.Ay.rusd.contractKey]:"BtcusdRebalancePool"===e.vaultSubtype?l?.[g.Ay.btcusd.contractKey]:"CvxusdRebalancePool"===e.vaultSubtype?l?.[g.Ay.cvxusd.contractKey]:l?.[e.stakingTokenContractKey]]);return{...o,vault:i,aggregateVaultsData:s?.vaults[e.id],claimableRewardsUsdTotalNumber:i?.claimableRewardsUsdTotal?.toNumber(),vaultUsdTotalNumber:i?.usdTotal?i?.usdTotal?.toNumber():0,stakableBalance:c,stakableBalanceNumber:c?.toNumber(),aggregateVaultsDataUsdTotalNumber:s?.vaults[e.id]?.usdTotal?Number(s.vaults[e.id].usdTotal):0}}
30),{normalizer:([e,a,s,r,n,t,l])=>{let i=(0,o.useContext)(Q.A),c=(0,o.useContext)(Z.A);return`
31      ${e?.length}|
32      ${(0,R.FC)(Object.values(a)).map(({address:e})=>e)}|
33      ${s?.usdTotal}|
34      ${r?.areCurveTokenPricesLoaded}|
35      ${Object.keys(n).length}|
36      ${void 0!==t?Object.keys(t).length:0}|
37      ${Object.values(l).join()}|
38      ${void 0!==i?.rewardRate?Object.keys(i.rewardRate).length:0}|
39      ${Object.keys(c).length}
40    `},maxAge:6e4}),es=({stakableBalance:e})=>e?.gt(0),er=e=>{let{active:a,vault:s}=e,r=s?.usdTotal?.gt(0),n=s?.claimableRewardsUsdTotal?.gt(0);return!(!a&&!r&&!n)},en=({sortData:e,SortHeader:a,searchAndFilterData:s,SearchAndFilterBox:r,EmptyResultPlaceholder:t,updateFilterBy:i,updateSearch:d,filterBy:x})=>{let p=(0,o.useContext)(E.A),m=(0,o.useContext)(B.A),j=(0,o.useContext)(O.A),h=(0,o.useContext)(W.A),b=(0,o.useContext)(F.A),f=(0,o.useContext)(K.A),v=ea(j,p,h,(0,o.useContext)(S.A),b,f,m),y=s(e(v)).filter(er),g=(0,o.useCallback)(()=>i("all"),[]),T=(0,J.useSearchParams)(),A=T.get("poolId"),C=T.get("network");(0,o.useEffect)(()=>{void 0!==A&&void 0!==C&&(window.history.replaceState(null,"","/"),(0,Y.JC)(A)&&(i("all"),d(`id:${A}`)))},[]);let N=(0,o.useCallback)(()=>i("to deposit"),[]),w=(0,o.useMemo)(()=>v.some(es),[v]);return(0,n.jsxs)("div",{className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]])+" container",children:[(0,n.jsx)(r,{additionalButtons:w?(0,n.jsx)(H.A,{arrow:!0,title:"Pools with balances available to deposit and earn rewards",children:(0,n.jsx)(u.A,{className:"filter-button",color:"primary",size:"small",onClick:N,variant:"to deposit"===x?"contained":"outlined",children:"to deposit"})}):null,className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]])}),(0,n.jsxs)(c.A0,{children:[(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"name",className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:"Pool Name"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"claimableRewardsUsdTotalNumber",inverseDir:!0,className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:"Claimable"})}),(0,n.jsx)(c.eB,{className:"vapr-column",children:(0,n.jsx)(a,{sortBy:"totalRewardAprs",inverseDir:!0,className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:"vAPR"})}),(0,n.jsx)(c.eB,{children:"to deposit"===x?(0,n.jsx)(a,{sortBy:"stakableBalanceUsdValueNumber",inverseDir:!0,className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:"To Deposit"}):(0,n.jsx)(a,{sortBy:"vaultUsdTotalNumber",inverseDir:!0,className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:"My Deposits"})}),(0,n.jsx)(c.eB,{children:(0,n.jsx)(a,{sortBy:"aggregateVaultsDataUsdTotalNumber",inverseDir:!0,className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:"TVL"})})]}),y.map(e=>{let{id:a,name:s,vault:r,aggregateVaultsData:t,stakableBalance:l}=e;return(0,n.jsx)($.A,{id:a,name:s,vault:r,aggregateVaultsData:t,poolData:e,stakableBalance:l},a)}),y.length>0&&v.length>5&&"my pools"===x&&(0,n.jsxs)(u.A,{onClick:g,size:"large",variant:"outlined",className:"show-all-pools-button",children:["Show All f(x) Pools ",(0,n.jsx)(q.A,{})]}),0===y.length&&v.length>0&&(0,n.jsx)(t,{className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]])}),0===y.length&&0===v.length&&(0,n.jsx)(z.A,{children:(0,n.jsx)("p",{className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:(0,n.jsx)("i",{className:l().dynamic([["5fc7ba4fab80d45f",[k.Tj.blue,k.Tj.blue,k.Tj.veriestTransparentBlue,k.Tj.veryTransparentBlue]]]),children:"Loading pools…"})})}),(0,n.jsx)(l(),{id:"5fc7ba4fab80d45f",dynamic:[k.Tj.blue,k.Tj.blue,k.Tj.veriestTrans
40parentBlue,k.Tj.veryTransparentBlue],children:`.show-all-pools-button{width:100%;height:48px;box-sizing:border-box;color:${k.Tj.blue};border-color:${k.Tj.blue};background-color:${k.Tj.veriestTransparentBlue}}.show-all-pools-button:hover{background-color:${k.Tj.veryTransparentBlue}}.vapr-column{padding-right:25px}.container.__jsx-style-dynamic-selector .crypto-icon{min-width:26px}`})]})};en.propTypes={sortData:D().func.isRequired,SortHeader:D().func.isRequired,searchAndFilterData:D().func.isRequired,SearchAndFilterBox:D().func.isRequired,EmptyResultPlaceholder:D().func.isRequired,updateFilterBy:D().func.isRequired,updateSearch:D().func.isRequired,filterBy:D().string.isRequired};let et=(0,L.A)((0,M.A)(en,{defaultSortBy:"vaultUsdTotalNumber",defaultSortDir:"desc",sortBy2:"totalRewardAprs",sortDir2:"desc"}),{defaultFilterBy:"my pools",filters:[{name:"to deposit",predicate:es,labelInText:"to-deposit",noButton:!0},{name:"my pools",predicate:({vaultUsdTotalNumber:e})=>e>0,fallbackIfNoResult:e=>e.slice(0,5),labelInText:"my"},{name:"fxUSD",predicate:({id:e,vaultSubtype:a})=>"FxusdRebalancePool"===a||ee.yV.includes(e),labelInText:"fxUSD stability",tooltipText:"fxUSD Stability Pools"},{name:"rUSD",predicate:({vaultSubtype:e})=>"RusdRebalancePool"===e,labelInText:"rUSD stability",tooltipText:"rUSD Stability Pools"},{name:"btcUSD",predicate:({vaultSubtype:e})=>"BtcusdRebalancePool"===e,labelInText:"btcUSD stability",tooltipText:"btcUSD Stability Pools"},{name:"cvxUSD",predicate:({vaultSubtype:e})=>"CvxusdRebalancePool"===e,labelInText:"cvxUSD stability",tooltipText:"cvxUSD Stability Pools"},{name:"fETH",predicate:({vaultSubtype:e})=>"FtokenRebalancePool"===e,labelInText:"fETH stability",tooltipText:"fETH Stability Pools"},{name:"Curve LPs",predicate:({vaultType:e})=>"RebalancePool"!==e,labelInText:"Curve"},{name:"all",predicate:()=>!0,labelInText:"all"}]});var el=s(29561);(0,s(41732).Kc)(()=>(0,el.arePoolsLoaded)()&&(0,N.zE)()).then(()=>{r&&r(!0)});let eo=()=>{let[,e]=(0,o.useState)(!1);return r=e,(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("h2",{className:"jsx-b8c21b15643e0bd3 white",children:"cvxFXN"}),(0,n.jsx)(_,{}),(0,n.jsx)("h2",{className:"jsx-b8c21b15643e0bd3",children:"Stake on f(x)"}),(0,el.arePoolsLoaded)()&&(0,N.zE)()?(0,n.jsx)(et,{}):(0,n.jsx)(z.A,{children:(0,n.jsx)("p",{className:"jsx-b8c21b15643e0bd3",children:(0,n.jsx)("i",{className:"jsx-b8c21b15643e0bd3",children:"Loading pools…"})})}),(0,n.jsx)(I.A,{hideIfNoBalances:!0}),(0,n.jsx)(l(),{id:"b8c21b15643e0bd3",children:".tabs-container.jsx-b8c21b15643e0bd3 .tabs-labels-container .MuiTab-root{opacity:1}.tabs-container.jsx-b8c21b15643e0bd3 .tabs-labels-container .MuiTab-root{font-size:17px}"})]})}}},e=>{e.O(0,[4313,5416,8699,103,4784,6112,3058,1310,5662,2396,3740,5478,7838,3289,8350,2952,2968,2387,5843,910,757,3806,4195,8113,1357,3731,7334,7358],()=>e(e.s=55307)),_N_E=e.O()}]);

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.