diff --git a/chunk/app.359c245f.js b/chunk/app.ff44880f.js similarity index 94% rename from chunk/app.359c245f.js rename to chunk/app.ff44880f.js index b6afb63..14f0766 100644 --- a/chunk/app.359c245f.js +++ b/chunk/app.ff44880f.js @@ -1,4 +1,4 @@ -(globalThis.webpackChunk_snx_v3_liquidity=globalThis.webpackChunk_snx_v3_liquidity||[]).push([[2143],{45071:(e,t,a)=>{"use strict";a.d(t,{$:()=>s});var n=a(8263),r=a(2784),o=a(96596),i=a(79929),l=a(52322);function s({value:e,prefix:t="",suffix:a="","data-testid":s}){const{formattedValue:c,preciseValue:d}=(0,r.useMemo)((()=>{if(!e)return{formattedValue:"-",preciseValue:"-"};const t=(0,o.Aq)(e),a=(0,i.wei)(t.replaceAll(",",""));return{formattedValue:t,preciseValue:e.eq(a)?t:e.toString()}}),[e]);return(0,l.jsx)(n.u,{label:(0,l.jsxs)(l.Fragment,{children:[t,d,a]}),isDisabled:c===d,children:(0,l.jsxs)("span",{"data-testid":s,children:[t,c,a]})})}},99581:(e,t,a)=>{"use strict";a.d(t,{M:()=>d});var n=a(2784),r=a(84626),o=a(87651),i=a(59176),l=a(64919),s=a(52322);const c="true"===window?.localStorage?.CONTRACT_ERROR_OPEN;function d({contractError:e}){const[t,a]=n.useState(c);return(0,s.jsxs)(s.Fragment,{children:[t?null:(0,s.jsx)(r.z,{variant:"link",onClick:()=>a(!0),color:"inherit",fontWeight:"normal",fontStyle:"italic",children:"details..."}),(0,s.jsxs)(o.U,{in:t,animateOpacity:!0,children:[(0,s.jsx)(i.x,{fontStyle:"italic",fontSize:"0.8em",children:e.name}),(0,s.jsx)(i.x,{whiteSpace:"pre",fontSize:"0.8em",fontStyle:"italic",pl:"0.5em",children:Object.entries(e.args).map((([e,t])=>`${e}: ${t instanceof Date?(0,l.Z)(t,"yyyy-MM-dd HH:mm:ss"):t}`)).join("\n")})]})]})}},1085:(e,t,a)=>{"use strict";a.r(t),a.d(t,{DepositModal:()=>ie,DepositModalUi:()=>oe,default:()=>le});var n=a(66901),r=a(26468),o=a(19433),i=a(54326),l=a(2338),s=a(97217),c=a(59176),d=a(84626),u=a(88115),h=a(2784),x=a(19299),p=a(45071),m=a(73557),f=a(16060),g=a(85649),y=a(47973),b=a(25042),j=a(79929),w=a(40109),C=a(79634),v=a(76885),S=a(17716),A=a(10528),k=a(99),D=a(35834),I=a(95772),T=a(86848),F=a(37330),L=a(42614),M=a(95522);var z=a(89536),N=a(9875),E=a(97386);const P="SET_REQUIRE_APPROVAL",B="SET_WRAP_AMOUNT",O="SET_INFINITE_APPROVAL",_="RETRY",H="RUN",R="RESET",q="idle",U="wrap",$="approve",W="deposit",V="failed",G="success",Z={[$]:$,[U]:U,[W]:W},Q="wrapEth",K="approveWETH",Y="executeDeposit",X={wrapAmount:(0,j.wei)(0),error:null,requireApproval:!1,infiniteApproval:!1},J=(0,N.C)({id:"DepositMachine",initial:q,predictableActionArguments:!0,context:X,on:{[H]:{target:W,actions:(0,E.f0)({wrapAmount:e=>X.wrapAmount,error:e=>X.error,requireApproval:e=>X.requireApproval,infiniteApproval:e=>X.infiniteApproval})},[P]:{actions:(0,E.f0)({requireApproval:(e,t)=>t.requireApproval})},[B]:{actions:(0,E.f0)({wrapAmount:(e,t)=>t.wrapAmount})},[O]:{actions:(0,E.f0)({infiniteApproval:(e,t)=>t.infiniteApproval})}},states:{[q]:{on:{[H]:[{target:U,cond:e=>e.wrapAmount.gt(0)},{target:$,cond:e=>e.requireApproval},{target:W}]}},[U]:{invoke:{src:Q,onError:{target:V,actions:(0,E.f0)({error:(e,t)=>({error:t.data,step:Z.wrap})})},onDone:[{target:$,cond:e=>e.requireApproval},{target:W}]}},[$]:{invoke:{src:K,onDone:{target:W},onError:{target:V,actions:(0,E.f0)({error:(e,t)=>({error:t.data,step:Z.approve})})}}},[W]:{invoke:{src:Y,onDone:{target:G},onError:{target:V,actions:(0,E.f0)({error:(e,t)=>({error:t.data,step:Z.deposit})})}}},[V]:{on:{[_]:[{target:$,cond:e=>e.error?.step===Z.approve,actions:(0,E.f0)({error:e=>null})},{target:U,cond:e=>e.error?.step===Z.wrap,actions:(0,E.f0)({error:e=>null})},{target:W,cond:e=>e.error?.step===Z.deposit,actions:(0,E.f0)({error:e=>null})}]}},[G]:{}}});var ee=a(97737),te=a(97721),ae=a(99581),ne=a(18914),re=a(52322);const oe=({collateralChange:e,isOpen:t,onClose:a,collateralType:u,setInfiniteApproval:h,onSubmit:x,state:m,availableCollateral:f,poolName:g})=>{const y=m.context.wrapAmount,w=m.context.infiniteApproval,C=m.context.requireApproval,v=m.context.error,S=m.matches($)||m.matches(W)||m.matches(U),A="WETH"===u?.symbol,k={wrap:A?1:0,approve:A?2:1,deposit:A?3:2};return(0,re.jsxs)(n.u_,{size:"lg",isOpen:t,onClose:a,closeOnOverlayClick:!1,children:[(0,re.jsx)(r.Z,{}),(0,re.jsxs)(o.h,{bg:"black",color:"white","data-testid":"deposit modal",children:[(0,re.jsx)(i.x,{children:"Complete this action"}),(0,re.jsx)(l.o,{}),(0,re.jsxs)(s.f,{children:[(0,re.jsx)(c.x,{mb:"2",children:"Please execute the following transactions:"}),A?(0,re.jsx)(b.P0,{step:k.wrap,title:"Wrap",subtitle:y.eq(0)?(0,re.jsxs)(c.x,{as:"div",children:[(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," from balance will be used."]}):(0,re.jsxs)(c.x,{as:"div",children:["You must wrap additional ",(0,re.jsx)(p.$,{value:y,suffix:" ETH"})," before depositing."]}),status:{failed:v?.step===U,disabled:"WETH"!==u?.symbol,success:y.eq(0)||m.matches(G),loading:m.matches(U)&&!v}}):null,(0,re.jsx)(b.P0,{step:k.approve,title:`Approve ${u?.symbol} transfer`,status:{failed:v?.step===$,success:!C||m.matches(G),loading:m.matches($)&&!v},checkboxLabel:`Approve unlimited ${u?.symbol} transfers to Synthetix.`,checkboxProps:{isChecked:w,onChange:e=>h(e.target.checked)}}),(0,re.jsx)(b.P0,{step:k.deposit,title:`Delegate ${u?.symbol}`,subtitle:(0,re.jsx)(re.Fragment,{children:m.matches(G)?(0,re.jsxs)(c.x,{children:[(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," ","delegated to ",g,"."]}):(0,re.jsx)(re.Fragment,{children:f&&f.gt((0,j.wei)(0))?(0,re.jsx)(re.Fragment,{children:f.gte(e)?(0,re.jsxs)(c.x,{children:["This will delegate"," ",(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," ","to ",g,"."]}):(0,re.jsxs)(re.Fragment,{children:[(0,re.jsxs)(c.x,{children:["This will delegate"," ",(0,re.jsx)(p.$,{value:f,suffix:` ${u?.symbol}`})," ","to ",g,"."]}),(0,re.jsxs)(c.x,{children:["An additional"," ",(0,re.jsx)(p.$,{value:e.sub(f),suffix:` ${u?.symbol}`})," ","will be deposited and delegated from your wallet."]})]})}):(0,re.jsxs)(c.x,{children:["This will deposit and delegate"," ",(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," to"," ",g,"."]})})}),status:{failed:v?.step===W,disabled:m.matches(G)&&C,success:m.matches(G),loading:m.matches(W)&&!v}}),(0,re.jsx)(d.z,{isDisabled:S,onClick:x,width:"100%",my:"4","data-testid":"deposit confirm button",children:(()=>{switch(!0){case Boolean(v):return"Retry";case S:return"Processing...";case m.matches(G):return"Done";default:return"Start"}})()})]})]})]})},ie=({onClose:e,isOpen:t,collateralChange:a,currentCollateral:n,availableCollateral:r})=>{const o=(0,m.s0)(),i=(0,z.UO)(),l=(0,C.useQueryClient)(),s=(0,v.LN)(),{data:c}=(0,w.a)(),{data:d}=(0,x.t)(i.collateralSymbol),{approve:p,requireApproval:b}=(0,g.y)({contractAddress:d?.tokenAddress,amount:a.toBN(),spender:c?.address}),N=(0,u.p)({isClosable:!0,duration:9e3}),E=(0,h.useMemo)((()=>`${Math.floor(1e10*Math.random())}`),[]),{exec:q,wethBalance:U}=(0,y.a)(),$="WETH"===d?.symbol&&a.gt(U||0)?a.sub(U||0):(0,j.wei)(0),{data:V}=(0,ne.AI)(i.poolId),{exec:Z}=(({accountId:e,newAccountId:t,poolId:a,collateralTypeAddress:n,collateralChange:r,currentCollateral:o,availableCollateral:i})=>{const[l,s]=(0,h.useReducer)(S.I,S.E),{data:c}=(0,w.a)(),{data:d}=(0,L.L)(),u=(0,v.LN)(),x=(0,v.mx)(),{gasSpeed:p}=(0,I.jU)(),m=(0,v.yL)(),f=(0,C.useMutation)({mutationFn:async()=>{if(x&&c&&a&&n&&i&&d&&!r.eq(0))try{s({type:"prompting"});const l=await x.getAddress(),h=e??t,f=e?void 0:c.populateTransaction["createAccount(uint128)"](A.O$.from(h)),g=i.gte(r)?void 0:c.populateTransaction.deposit(A.O$.from(h),n,r.sub(i).toBN()),y=c.populateTransaction.delegateCollateral(A.O$.from(h),A.O$.from(a),n,o.add(r).toBN(),(0,j.wei)(1).toBN()),b=Promise.all([f,g,y].filter(F._)),w=(0,M.$)(d,u.isTestnet).then((e=>(0,M.x)(l,d,e))),[C,v,S]=await Promise.all([b,(0,D.o)({provider:m}),w]),I=S.concat(C),L=await(0,T.dI)(m,I,"useDeposit"),z=(0,k.F)({gasLimit:L.gasLimit,gasPrices:v,gasSpeed:p}),N=await x.sendTransaction({...L,...z});s({type:"pending",payload:{txnHash:N.hash}}),await N.wait(),s({type:"success"})}catch(e){throw s({type:"error",payload:{error:e}}),e}}});return{mutation:f,txnState:l,settle:()=>s({type:"settled"}),isLoading:f.isLoading,exec:f.mutateAsync}})({accountId:i.accountId,newAccountId:E,poolId:i.poolId,collateralTypeAddress:d?.tokenAddress,collateralChange:a,currentCollateral:n,availableCollateral:r||(0,j.wei)(0)}),X=(0,te.o)(c),[ie,le]=(0,ee.e)(J,{services:{[Q]:async()=>{try{await q(ie.context.wrapAmount)}catch(e){const t=X(e);throw t&&console.error(new Error(t.name),t),N.closeAll(),N({title:"Wrapping ETH failed",description:t?(0,re.jsx)(ae.M,{contractError:t}):"Please try again.",status:"error"}),Error("Wrapping failed",{cause:e})}},[K]:async()=>{try{N({title:"Approve collateral for transfer",description:i.accountId?"The next transaction will delegate this collateral.":"The next transaction will create your account and and delegate this collateral",status:"info"}),await p(Boolean(ie.context.infiniteApproval))}catch(e){const t=X(e);throw t&&console.error(new Error(t.name),t),N.closeAll(),N({title:"Approval failed",description:t?(0,re.jsx)(ae.M,{contractError:t}):"Please try again.",status:"error"}),Error("Approve failed",{cause:e})}},[Y]:async()=>{try{N.closeAll(),N({title:Boolean(i.accountId)?"Delegating your collateral":"Creating your account and depositing collateral",description:""}),await Z(),await Promise.all([l.invalidateQueries({queryKey:[s.name,"EthBalance"]}),l.invalidateQueries({queryKey:[s.name,"LiquidityPosition"]}),"SNX"===d?.symbol?l.invalidateQueries({queryKey:[s.name,"TransferableSynthetix"]}):Promise.resolve(),l.invalidateQueries({queryKey:[s.name,"Allowance"]}),i.accountId?Promise.resolve():l.invalidateQueries({queryKey:[s.name,"Accounts"]})]),N.closeAll(),N({title:"Success",description:"Your delegated collateral amount has been updated.",status:"success",duration:5e3})}catch(e){const t=X(e);throw t&&console.error(new Error(t.name),t),N({title:"Could not complete delegating collateral",description:t?(0,re.jsx)(ae.M,{contractError:t}):"Please try again.",status:"error"}),Error("Delegate collateral failed",{cause:e})}}}}),se=$.toString(),ce=ie.matches(G)||ie.matches(W);(0,h.useEffect)((()=>{ce||le(B,{wrapAmount:(0,j.wei)(se)})}),[se,le,ce]),(0,h.useEffect)((()=>{le(P,{requireApproval:b})}),[b,le]);const de=(0,m.TH)(),ue=(0,h.useCallback)((()=>{ie.matches(G)&&i.poolId&&d?.symbol&&(le(R),e(),o({pathname:(0,f.Gn)("/positions/:collateralType/:poolId",{collateralType:d.symbol,poolId:i.poolId}),search:de.search})),le(R),e()}),[de.search,le,e,ie,i.poolId,d?.symbol,o]),he=(0,h.useCallback)((async()=>{ie.matches(G)?ue():ie.context.error?le(_):le(H)}),[ue,le,ie]);return(0,re.jsx)(oe,{collateralChange:a,isOpen:t,onClose:e,collateralType:d,state:ie,setInfiniteApproval:e=>{le(O,{infiniteApproval:e})},onSubmit:he,poolName:V?.name||"",availableCollateral:r||(0,j.wei)(0)})},le=ie},25042:(e,t,a)=>{"use strict";a.d(t,{nQ:()=>s,Tw:()=>c,P0:()=>f});var n=a(38035),r=a(81540),o=a(28535),i=a(21112),l=a(52322);const s=(0,i.I)({viewBox:"0 0 14 14",path:(0,l.jsx)("g",{fill:"currentColor",children:(0,l.jsx)("polygon",{points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})})}),c=(0,i.I)({d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"});function d({status:e,children:t}){switch(!0){case e.failed:return(0,l.jsx)(c,{color:"white"});case e.success:return(0,l.jsx)(s,{color:"white"});case e.loading:return(0,l.jsx)(r.$,{color:"white",width:6,height:6});case e.disabled:default:return(0,l.jsx)(o.xu,{__css:{display:"inline",fontWeight:"medium",textAlign:"center",fontSize:"md"},children:t})}}function u(e){switch(!0){case e.failed:return"red.700";case e.disabled:case e.loading:return"gray.700";case e.success:return"green.700";default:return"gray.700"}}function h({status:e,children:t}){return(0,l.jsx)(n.k,{width:10,height:10,minWidth:10,minHeight:10,justifyContent:"center",alignItems:"center",bg:u(e),rounded:"full",transitionProperty:"background",transitionDuration:"normal",children:(0,l.jsx)(d,{status:e,children:t})})}var x=a(98915),p=a(59176);function m({children:e,...t}){return(0,l.jsx)(n.k,{mt:"0.5",children:(0,l.jsx)(x.X,{size:"sm",...t,children:(0,l.jsx)(o.xu,{fontSize:"xs",opacity:"0.66",children:e})})})}function f({step:e,title:t,subtitle:a,checkboxLabel:r,checkboxProps:o,status:i,children:s}){return(0,l.jsxs)(n.k,{position:"relative",alignItems:"center",gap:4,rounded:"lg",mt:"4",p:"4",border:"2px solid",transitionProperty:"border-color",transitionDuration:"normal",borderColor:u(i),children:[(0,l.jsx)(h,{status:i,children:e}),(0,l.jsxs)(n.k,{direction:"column",children:[(0,l.jsx)(p.x,{children:t}),a?(0,l.jsx)(p.x,{as:"div",fontSize:"xs",opacity:"0.66",children:a}):null,r?(0,l.jsx)(m,{...o,children:r}):null,s]})]})}},50899:(e,t,a)=>{"use strict";a.d(t,{$:()=>i});var n=a(47443),r=a(59176),o=a(52322);function i(){return(0,o.jsx)(n.b,{colorScheme:"orange",mb:"4",children:(0,o.jsx)(r.x,{fontWeight:"bold",children:"This action will increase the timeout for withdrawing collateral"})})}},14921:(e,t,a)=>{"use strict";a.d(t,{su:()=>j,TK:()=>y,FZ:()=>b,_M:()=>x,Kh:()=>p,l6:()=>u,RF:()=>c,xi:()=>i,Bg:()=>m,TR:()=>o,K7:()=>g,PF:()=>s,o:()=>f});var n=a(62929),r=a(52322);const o=({color:e="#00D1FF",width:t="219",height:a="18"})=>(0,r.jsxs)(n.J,{width:t,height:a,viewBox:"0 0 219 18",fill:"none",color:e,children:[(0,r.jsxs)("g",{clipPath:"url(#clip0_3615_54299)",children:[(0,r.jsx)("path",{d:"M21.1343 8.56217C20.2004 7.58594 19.078 7.09805 17.7667 7.09805H4.76824C4.52682 7.09805 4.3197 7.00835 4.14648 6.82851C3.97325 6.64912 3.88684 6.43031 3.88684 6.1721V5.04457C3.88684 4.79813 3.97325 4.58476 4.14648 4.40492C4.3197 4.22553 4.52682 4.13538 4.76824 4.13538H21.5278C21.5697 4.13538 21.6036 4.12134 21.6299 4.09325C21.6561 4.06562 21.6693 4.03436 21.6693 4.00084V0.634543C21.6693 0.589695 21.6561 0.556173 21.6299 0.533523C21.6036 0.511325 21.5693 0.5 21.5278 0.5H4.76824C3.44636 0.5 2.32101 0.988342 1.39261 1.96457C0.464202 2.9408 0 4.11862 0 5.49893V5.71773C0 7.10937 0.464202 8.29308 1.39261 9.26931C2.32101 10.2455 3.44636 10.7334 4.76824 10.7334H17.7667C17.9976 10.7334 18.1996 10.8204 18.3724 10.9944C18.5456 11.1683 18.632 11.3844 18.632 11.6426V12.7701C18.632 13.0284 18.5456 13.2444 18.3724 13.4184C18.1992 13.5924 17.9971 13.6793 17.7667 13.6793H0.991512C0.96017 13.6793 0.930945 13.6934 0.905109 13.7215C0.87885 13.7495 0.86572 13.7862 0.86572 13.8311V17.1974C0.86572 17.2309 0.87885 17.2622 0.905109 17.2898C0.931369 17.3179 0.96017 17.3319 0.991512 17.3319H17.7667C19.078 17.3319 20.2004 16.8413 21.1343 15.8592C22.0678 14.8775 22.535 13.6965 22.535 12.3162V12.097C22.5346 10.7167 22.0678 9.5384 21.1343 8.56217Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M49.354 0.5H45.7187C45.6874 0.5 45.6582 0.511325 45.6323 0.533523C45.6061 0.556173 45.5929 0.589695 45.5929 0.634543V4.90957C45.5929 5.27968 45.4142 5.56054 45.058 5.75126L37.8036 8.9658L30.5492 5.75126C30.1925 5.56054 30.0142 5.28013 30.0142 4.90957V0.634543C30.0142 0.589695 30.0036 0.556173 29.9829 0.533523C29.9613 0.511325 29.9299 0.5 29.888 0.5H26.2527C26.2214 0.5 26.1922 0.511325 26.1663 0.533523C26.1401 0.556173 26.127 0.589695 26.127 0.634543V5.53246C26.127 6.26225 26.3159 6.92953 26.6937 7.5352C27.0715 8.14132 27.5852 8.5898 28.2358 8.88154L35.8523 12.2981V17.1797C35.8523 17.2246 35.8655 17.2613 35.8917 17.2893C35.918 17.3174 35.9519 17.3315 35.9938 17.3315H39.629C39.6604 17.3315 39.6892 17.3174 39.7154 17.2893C39.7417 17.2613 39.7548 17.225 39.7548 17.1797V12.2986L47.3714 8.89875C48.0215 8.59569 48.5361 8.14404 48.9135 7.54381C49.2913 6.94357 49.4798 6.27901 49.4798 5.54922V0.634543C49.4798 0.589695 49.4667 0.556173 49.4404 0.533523C49.4141 0.511325 49.3853 0.5 49.354 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M76.356 0.5H72.7208C72.6788 0.5 72.6471 0.514043 72.6263 0.54213C72.6051 0.570216 72.595 0.601021 72.595 0.634543V13.6956H71.0685C70.7852 13.6956 70.5437 13.5611 70.3447 13.2916L63.2948 2.26718C62.5392 1.13421 61.4952 0.544848 60.1632 0.5H54.0892C54.0472 0.5 54.0129 0.514043 53.9867 0.54213C53.9604 0.570216 53.9473 0.601021 53.9473 0.634543V17.1965C53.9473 17.23 53.9604 17.2613 53.9867 17.2889C54.0129 17.317 54.0468 17.331 54.0892 17.331H57.7244C57.7558 17.331 57.7846 17.317 57.8108 17.2889C57.8371 17.2613 57.8502 17.23 57.8502 17.1965V4.13538H59.3766C59.66 4.13538 59.901 4.27581 60.1005 4.55623L67.1503 15.5806C67.9059 16.714 68.9495 17.2975 70.282 17.331H76.3564C76.3984 17.331 76.4297 17.317 76.4509 17.2889C76.4716 17.2613 76.4822 17.23 76.4822 17.1965V0.634543C76.4822 0.601021 76.4716 0.570216 76.4509 0.54213C76.4293 0.514043 76.3979 0.5 76.356 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M102.63 0.5H80.3631C80.3212 0.5 80.2894 0.514043 80.2686 0.54213C80.2475 0.570216 80.2373 0.601021 80.2373 0.634543V4.00084C80.2373 4.03436 80.2475 4.06562 80.2686 4.09325C80.2894 4.12134 80.3212 4.13538 80.3631 4.13538H89.5531V17.1965C89.5531 17.23 89.5633 17.2613 89.5845 17.2889C89.6052 17.317 89.637 17.331 89.6789 17.331H93.3142C93.3561 17.331 93.3875 17.317 93.4086 17.2889C93.4294 17.2613 93.44 17.23 93.44 17.1965V4.13538H102.63C102.672 4.13538 102.706 4.12134 102.732 4.09325C102.758 4.06517 102.771 4.03436 102.771 4.00084V0.634543C102.771 0.601021 102.758 0.570216 102.732 0.54213C102.707 0.514043 102.672 0.5 102.63 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M129.631 0.5H125.996C125.965 0.5 125.936 0.514043 125.91 0.54213C125.883 0.570216 125.87 0.601021 125.87 0.634543V7.0976H111.141V0.634543C111.141 0.601021 111.128 0.570216 111.101 0.54213C111.075 0.514496 111.041 0.5 110.999 0.5H107.364C107.333 0.5 107.304 0.514043 107.278 0.54213C107.251 0.570216 107.238 0.601021 107.238 0.634543V17.1965C107.238 17.23 107.251 17.2613 107.278 17.2889C107.304 17.317 107.333 17.331 107.364 17.331H110.999C111.041 17.331 111.075 17.317 111.101 17.2889C111.128 17.2608 111.141 17.23 111.141 17.1965V10.7334H125.87V17.1965C125.87 17.23 125.883 17.2613 125.91 17.2889C125.936 17.317 125.965 17.331 125.996 17.331H129.631C129.673 17.331 129.707 17.317 129.733 17.2889C129.76 17.2608 129.773 17.23 129.773 17.1965V0.634543C129.773 0.601021 129.759 0.570216 129.733 0.54213C129.707 0.514043 129.673 0.5 129.631 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M156.537 0.5H138.896C137.584 0.5 136.462 0.987889 135.529 1.96412C134.595 2.94035 134.128 4.11862 134.128 5.49893V12.3153C134.128 13.707 134.595 14.8907 135.529 15.8669C136.462 16.8431 137.584 17.3315 138.896 17.3315H156.537C156.568 17.3315 156.597 17.3174 156.623 17.2893C156.649 17.2613 156.663 17.2305 156.663 17.1969V13.8306C156.663 13.7858 156.649 13.7523 156.623 13.7296C156.597 13.7074 156.568 13.6961 156.537 13.6961H138.896C138.655 13.6961 138.45 13.6064 138.282 13.427C138.114 13.2476 138.03 13.0343 138.03 12.7874V10.7334H156.525C156.567 10.7334 156.599 10.7194 156.62 10.6913C156.64 10.6632 156.651 10.6324 156.651 10.5989V7.23259C156.651 7.18774 156.64 7.15422 156.62 7.13157C156.599 7.10937 156.567 7.09805 156.525 7.09805H138.03V5.04457C138.03 4.79768 138.114 4.58476 138.282 4.40492C138.45 4.22553 138.655 4.13538 138.896 4.13538H156.537C156.568 4.13538 156.597 4.12134 156.623 4.09325C156.649 4.06562 156.663 4.03436 156.663 4.00084V0.634543C156.663 0.601021 156.649 0.570216 156.623 0.54213C156.597 0.514496 156.568 0.5 156.537 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M183.41 0.5H161.142C161.1 0.5 161.069 0.514043 161.048 0.54213C161.027 0.570216 161.017 0.601021 161.017 0.634543V4.00084C161.017 4.03436 161.027 4.06562 161.048 4.09325C161.069 4.12134 161.1 4.13538 161.142 4.13538H170.332V17.1965C170.332 17.23 170.343 17.2613 170.364 17.2889C170.385 17.317 170.416 17.331 170.458 17.331H174.093C174.135 17.331 174.167 17.317 174.188 17.2889C174.209 17.2613 174.219 17.23 174.219 17.1965V4.13538H183.409C183.451 4.13538 183.485 4.12134 183.511 4.09325C183.538 4.06517 183.551 4.03436 183.551 4.00084V0.634543C183.551 0.601021 183.538 0.570216 183.511 0.54213C183.486 0.514043 183.451 0.5 183.41 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M191.874 0.533523C191.853 0.511325 191.821 0.5 191.78 0.5H188.144C188.102 0.5 188.071 0.511325 188.05 0.533523C188.029 0.556173 188.019 0.589695 188.019 0.634543V17.1965C188.019 17.23 188.029 17.2613 188.05 17.2889C188.071 17.317 188.102 17.331 188.144 17.331H191.78C191.821 17.331 191.853 17.317 191.874 17.2889C191.895 17.2608 191.905 17.23 191.905 17.1965V0.634543C191.905 0.590148 191.895 0.556173 191.874 0.533523Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M201.91 4.58965C201.753 4.39894 201.559 4.30335 201.328 4.30335H196.607C196.565 4.30335 196.531 4.28931 196.505 4.26122C196.479 4.23359 196.466 4.20233 196.466 4.16881V0.802512C196.466 0.768989 196.479 0.738185 196.505 0.710098C196.531 0.682465 196.565 0.667969 196.607 0.667969H201.596C202.855 0.667969 203.94 1.21248 204.853 2.30061L206.065 3.86575L203.705 6.91222L201.91 4.58965ZM210.628 2.28385C211.541 1.20659 212.632 0.667969 213.901 0.667969H218.874C218.916 0.667969 218.947 0.679294 218.969 0.701491C218.989 0.724142 219 0.757664 219 0.802512V4.16881C219 4.20233 218.989 4.23359 218.969 4.26122C218.947 4.28931 218.916 4.30335 218.874 4.30335H214.153C213.922 4.30335 213.728 4.39894 213.571 4.58965L210.093 9.06673L213.587 13.5773C213.744 13.7572 213.933 13.8469 214.153 13.8469H218.874C218.916 13.8469 218.947 13.8609 218.969 13.889C218.989 13.9171 219 13.9538 219 13.9982V17.3645C219 17.398 218.989 17.4292 218.969 17.4569C218.947 17.485 218.916 17.499 218.874 17.499H213.902C212.632 17.499 211.546 16.9549 210.644 15.8664L207.749 12.13L204.853 15.8664C203.94 16.9549 202.849 17.499 201.58 17.499H196.607C196.565 17.499 196.534 17.485 196.513 17.4569C196.492 17.4288 196.481 17.3925 196.481 17.3472V13.9809C196.481 13.9474 196.492 13.9166 196.513 13.8885C196.534 13.8604 196.565 13.8464 196.607 13.8464H201.328C201.548 13.8464 201.742 13.7513 201.91 13.5601L205.325 9.15053L210.628 2.28385Z",fill:"currentColor"})]}),(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"clip0_3615_54299",children:(0,r.jsx)("rect",{width:"219",height:"17",fill:"white",transform:"translate(0 0.5)"})})})]}),i=({width:e="24px",height:t="24px",fill:a="#627EEA"})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 30 30",fill:"none",children:[(0,r.jsx)("path",{d:"M15 30c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15C6.716 0 0 6.716 0 15c0 8.284 6.716 15 15 15Z",fill:a}),(0,r.jsx)("path",{d:"M15.467 3.75v8.316l7.028 3.14L15.467 3.75Z",fill:"#fff",fillOpacity:".602"}),(0,r.jsx)("path",{d:"m15.467 3.75-7.03 11.456 7.03-3.14V3.75Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M15.467 20.595v5.65l7.033-9.73-7.033 4.08Z",fill:"#fff",fillOpacity:".602"}),(0,r.jsx)("path",{d:"M15.467 26.245v-5.651l-7.03-4.08 7.03 9.731Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m15.467 19.287 7.028-4.08-7.028-3.14v7.22Z",fill:"#fff",fillOpacity:".2"}),(0,r.jsx)("path",{d:"m8.438 15.206 7.029 4.081v-7.22l-7.03 3.14Z",fill:"#fff",fillOpacity:".602"})]}),l=({width:e="25px",height:t="24px",color:a="#2ED9FF",fill:o="#0E052F",...i})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 30 31",fill:"none",...i,children:[(0,r.jsx)("path",{d:"M30 15.268c0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15 0-8.285 6.716-15 15-15 8.284 0 15 6.715 15 15Z",fill:o}),(0,r.jsx)("path",{d:"M10.107 11.673a.624.624 0 0 0-.487-.224H5.674a.115.115 0 0 1-.086-.033.1.1 0 0 1-.032-.073V8.706a.1.1 0 0 1 .032-.072.115.115 0 0 1 .086-.033h4.17c1.053 0 1.96.426 2.723 1.279l1.013 1.226-1.973 2.387-1.5-1.82Zm7.289-1.806c.763-.844 1.675-1.266 2.736-1.266h4.157c.035 0 .061.008.08.026.017.018.026.044.026.079v2.637c0 .027-.01.051-.027.073s-.044.033-.079.033h-3.946a.624.624 0 0 0-.487.224l-2.908 3.508 2.92 3.534c.133.14.29.211.475.211h3.946c.035 0 .061.011.08.033.017.022.026.05.026.086v2.637c0 .026-.01.05-.027.073-.017.021-.044.033-.079.033h-4.157c-1.061 0-1.969-.427-2.723-1.28l-2.42-2.927-2.422 2.927c-.763.853-1.675 1.28-2.736 1.28H5.674c-.035 0-.062-.012-.08-.034a.132.132 0 0 1-.025-.085V19.03c0-.026.008-.05.026-.072.017-.022.044-.033.079-.033H9.62a.65.65 0 0 0 .487-.225l2.855-3.454 4.434-5.38Z",fill:a})]}),s=({width:e="24px",height:t="24px",color:a="white",fill:o="#FF0420",...i})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 34 34",...i,children:[(0,r.jsx)("path",{d:"M17 34C26.3888 34 34 26.3888 34 17C34 7.61116 26.3888 0 17 0C7.61116 0 0 7.61116 0 17C0 26.3888 7.61116 34 17 34Z",fill:o}),(0,r.jsx)("path",{d:"M12.3295 21.76C11.3042 21.76 10.4641 21.5131 9.80918 21.0195C9.16298 20.5171 8.83984 19.8031 8.83984 18.8775C8.83984 18.6836 8.8614 18.4456 8.90444 18.1635C9.01651 17.5289 9.1759 16.7664 9.38269 15.8761C9.96858 13.452 11.4808 12.24 13.9193 12.24C14.5828 12.24 15.1773 12.3546 15.7029 12.5838C16.2285 12.8041 16.6421 13.1391 16.9437 13.5886C17.2453 14.0294 17.3961 14.5583 17.3961 15.1753C17.3961 15.3604 17.3745 15.594 17.3314 15.8761C17.2022 16.6606 17.0471 17.4231 16.8662 18.1635C16.5646 19.3711 16.0433 20.2747 15.3022 20.8741C14.5612 21.4647 13.5703 21.76 12.3295 21.76ZM12.5105 19.856C12.993 19.856 13.4023 19.7105 13.7384 19.4196C14.083 19.1288 14.3286 18.6836 14.4751 18.0842C14.6732 17.2556 14.824 16.5328 14.9274 15.9158C14.9619 15.7306 14.9791 15.5411 14.9791 15.3472C14.9791 14.5451 14.5699 14.144 13.7513 14.144C13.2688 14.144 12.8552 14.2894 12.5105 14.5803C12.1744 14.8712 11.9332 15.3164 11.7867 15.9158C11.6316 16.5064 11.4765 17.2291 11.3214 18.0842C11.287 18.2605 11.2697 18.4456 11.2697 18.6395C11.2697 19.4505 11.6833 19.856 12.5105 19.856Z",fill:a}),(0,r.jsx)("path",{d:"M17.9895 21.6278C17.8947 21.6278 17.8215 21.597 17.7698 21.5352C17.7267 21.4647 17.7138 21.3854 17.731 21.2972L19.5146 12.7028C19.5318 12.6059 19.5792 12.5265 19.6568 12.4648C19.7344 12.4031 19.8162 12.3722 19.9024 12.3722H23.3404C24.2968 12.3722 25.0636 12.575 25.641 12.9805C26.2269 13.386 26.5199 13.9721 26.5199 14.739C26.5199 14.9594 26.494 15.1886 26.4423 15.4266C26.2269 16.4403 25.7918 17.1895 25.1369 17.6744C24.4907 18.1592 23.6031 18.4016 22.4744 18.4016H20.7295L20.135 21.2972C20.1178 21.3942 20.0704 21.4735 19.9928 21.5352C19.9153 21.597 19.8334 21.6278 19.7473 21.6278H17.9895ZM22.5648 16.5769C22.9267 16.5769 23.2412 16.4755 23.5084 16.2728C23.7841 16.0701 23.965 15.7792 24.0513 15.4001C24.0771 15.2503 24.09 15.1181 24.09 15.0035C24.09 14.7479 24.0168 14.5539 23.8703 14.4217C23.7238 14.2806 23.4739 14.2101 23.1206 14.2101H21.5697L21.0785 16.5769H22.5648Z",fill:a})]}),c=({width:e="15px",height:t="15px",...a})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 19 18",fill:"none",...a,children:[(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.79517 2.75357C6.44891 2.75357 3.73624 5.46625 3.73624 8.8125C3.73624 12.1588 6.44891 14.8714 9.79517 14.8714C13.1414 14.8714 15.8541 12.1588 15.8541 8.8125C15.8541 5.46625 13.1414 2.75357 9.79517 2.75357ZM2.48267 8.8125C2.48267 4.77392 5.75658 1.5 9.79517 1.5C13.8337 1.5 17.1077 4.77392 17.1077 8.8125C17.1077 12.8511 13.8337 16.125 9.79517 16.125C5.75658 16.125 2.48267 12.8511 2.48267 8.8125Z",fill:"white"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.03962 7.48711C9.04452 7.25329 9.11127 7.15806 9.15621 7.11271C9.21551 7.05288 9.33009 6.98862 9.54225 6.95486C9.98435 6.88451 10.5823 6.98693 11.0758 7.11688L11.6819 7.27652L12.0011 6.06428L11.395 5.90465C10.8745 5.76757 10.0611 5.60296 9.34526 5.71686C8.97845 5.77523 8.57742 5.91591 8.26586 6.23026C7.94168 6.55735 7.78576 6.99985 7.78576 7.51481V7.53855L7.78756 7.56221C7.83275 8.15802 8.18724 8.55401 8.55492 8.8144C8.89199 9.05311 9.30983 9.22697 9.64735 9.36742C9.66009 9.37272 9.67272 9.37797 9.68522 9.38318C10.0665 9.54198 10.3494 9.6643 10.5455 9.80792C10.7181 9.93436 10.7353 10.0108 10.7353 10.0783C10.7353 10.3402 10.6583 10.4442 10.5979 10.4988C10.5171 10.5719 10.3654 10.6431 10.1066 10.6754C9.57934 10.741 8.8945 10.6119 8.39035 10.4769L7.7849 10.3148L7.4606 11.5257L8.06605 11.6878C8.59887 11.8305 9.48099 12.0165 10.2615 11.9193C10.6565 11.8701 11.0939 11.7404 11.4387 11.4286C11.8039 11.0983 11.9889 10.6336 11.9889 10.0783C11.9889 9.47293 11.6504 9.06337 11.2862 8.79661C10.9547 8.55379 10.534 8.37864 10.1954 8.23769C10.1859 8.23376 10.1765 8.22986 10.1672 8.22598C9.78653 8.06741 9.49239 7.94221 9.27941 7.79139C9.09878 7.66347 9.051 7.56996 9.03962 7.48711Z",fill:"white"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.79517 11.0063C10.1413 11.0063 10.422 11.2869 10.422 11.633V13.2H9.16838V11.633C9.16838 11.2869 9.449 11.0063 9.79517 11.0063Z",fill:"white"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.422 4.425V5.99196C10.422 6.33813 10.1413 6.61875 9.79517 6.61875C9.449 6.61875 9.16838 6.33813 9.16838 5.99196V4.425H10.422Z",fill:"white"})]}),d=({width:e="42px",height:t="42px"})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 42 42",fill:"none",children:[(0,r.jsxs)("g",{clipPath:"url(#a)",children:[(0,r.jsx)("path",{fill:"#F7931A",d:"M21 42c11.598 0 21-9.402 21-21S32.598 0 21 0 0 9.402 0 21s9.402 21 21 21z"}),(0,r.jsx)("path",{fill:"#fff",d:"M30.436 18.401c.412-2.75-1.684-4.23-4.548-5.217l.93-3.727-2.269-.565-.905 3.63c-.596-.15-1.208-.29-1.818-.429l.912-3.652-2.268-.566-.93 3.726c-.493-.113-.978-.223-1.448-.341l.002-.012-3.129-.78-.603 2.422s1.684.386 1.648.41c.919.23 1.084.837 1.057 1.32l-1.058 4.246c.063.016.144.04.236.075l-.24-.06-1.483 5.949c-.113.278-.398.697-1.041.538.024.033-1.649-.41-1.649-.41l-1.126 2.595 2.953.737c.549.137 1.087.282 1.616.417l-.938 3.77 2.266.564.93-3.728c.62.167 1.22.322 1.808.469l-.926 3.712 2.268.564.938-3.762c3.87.733 6.778.438 8.002-3.062.987-2.816-.048-4.442-2.084-5.502 1.483-.34 2.599-1.316 2.897-3.33zM25.25 25.67c-.7 2.818-5.444 1.294-6.982.912l1.247-4.994c1.538.385 6.47 1.145 5.735 4.082zm.703-7.31c-.64 2.564-4.588 1.26-5.867.942l1.128-4.528c1.28.318 5.405.913 4.739 3.587z"})]}),(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"a",children:(0,r.jsx)("path",{fill:"#fff",d:"M0 0h42v42H0z"})})})]}),u=({symbol:e,fill:t="#00D1FF",color:a="#FFFFFF",...n})=>{switch(e){case"WETH":case"ETH":return(0,r.jsx)(i,{...n});case"SNX":case"fSNX":return(0,r.jsx)(l,{fill:t,color:a,...n});case"OP":return(0,r.jsx)(s,{...n});case"sUSD":case"snxUSD":return(0,r.jsx)(c,{...n});case"WBTC":return(0,r.jsx)(d,{...n});default:return(0,r.jsx)(h,{...n})}},h=({width:e="32px",height:t="32px",...a})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 32 32",fill:"none",...a,children:[(0,r.jsx)("circle",{cx:"16",cy:"16",r:"15",fill:"white",stroke:"white"}),(0,r.jsx)("path",{d:"M14.1156 19.2899V19.0472C14.1205 18.2147 14.1955 17.551 14.3408 17.0563C14.4908 16.5615 14.7087 16.1619 14.9944 15.8574C15.28 15.5529 15.6238 15.277 16.0257 15.0296C16.3258 14.8393 16.5946 14.6419 16.8318 14.4373C17.069 14.2328 17.2579 14.0068 17.3983 13.7594C17.5387 13.5073 17.6089 13.2266 17.6089 12.9174C17.6089 12.5891 17.529 12.3013 17.3692 12.0539C17.2095 11.8065 16.994 11.6162 16.7229 11.483C16.4566 11.3498 16.1612 11.2832 15.8368 11.2832C15.5221 11.2832 15.2244 11.3522 14.9435 11.4901C14.6627 11.6233 14.4327 11.8232 14.2536 12.0896C14.0745 12.3512 13.9776 12.6771 13.9631 13.0672H11C11.0242 12.1157 11.2566 11.3308 11.6972 10.7123C12.1378 10.0891 12.7212 9.62525 13.4475 9.32078C14.1737 9.01155 14.975 8.85693 15.8514 8.85693C16.8149 8.85693 17.667 9.01393 18.4078 9.32791C19.1485 9.63714 19.7295 10.0867 20.1508 10.6766C20.572 11.2665 20.7826 11.9778 20.7826 12.8103C20.7826 13.3669 20.6882 13.8617 20.4994 14.2946C20.3154 14.7228 20.0564 15.1034 19.7223 15.4364C19.3882 15.7646 18.9936 16.062 18.5385 16.3284C18.156 16.552 17.8413 16.7851 17.5944 17.0277C17.3523 17.2703 17.1707 17.551 17.0497 17.8698C16.9335 18.1885 16.873 18.581 16.8681 19.0472V19.2899H14.1156ZM15.5536 23.8569C15.0694 23.8569 14.6555 23.6904 14.3117 23.3574C13.9728 23.0196 13.8058 22.6153 13.8106 22.1443C13.8058 21.6781 13.9728 21.2784 14.3117 20.9454C14.6555 20.6124 15.0694 20.4459 15.5536 20.4459C16.0136 20.4459 16.4178 20.6124 16.7664 20.9454C17.115 21.2784 17.2918 21.6781 17.2966 22.1443C17.2918 22.4583 17.207 22.7461 17.0424 23.0077C16.8826 23.2646 16.672 23.4716 16.4106 23.6286C16.1491 23.7808 15.8635 23.8569 15.5536 23.8569Z",fill:"#06061B"})]}),x=({width:e="20px",height:t="20px",...a})=>(0,r.jsx)(n.J,{width:e,height:t,color:"cyan.400",viewBox:"0 0 20 20",fill:"none",...a,children:(0,r.jsx)("path",{d:"M9.99962 10.9766L14.1246 6.85156L15.303 8.0299L9.99962 13.3332L4.69629 8.0299L5.87462 6.85156L9.99962 10.9766Z",fill:"currentColor"})}),p=({width:e="20px",height:t="20px",...a})=>(0,r.jsx)(n.J,{width:e,height:t,color:"cyan.400",viewBox:"0 0 25 24",fill:"none",...a,children:(0,r.jsx)("path",{d:"M12.3564 10.828L7.40643 15.778L5.99243 14.364L12.3564 8L18.7204 14.364L17.3064 15.778L12.3564 10.828Z",fill:"currentColor"})}),m=({width:e="94px",height:t="94px"})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 94 94",fill:"none",children:[(0,r.jsx)("g",{filter:"url(#filter0_d_1044_28165)",children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M47 76.3333C63.2004 76.3333 76.3333 63.2004 76.3333 47C76.3333 30.7996 63.2004 17.6667 47 17.6667C30.7996 17.6667 17.6667 30.7996 17.6667 47C17.6667 63.2004 30.7996 76.3333 47 76.3333ZM47 79C64.6731 79 79 64.6731 79 47C79 29.3269 64.6731 15 47 15C29.3269 15 15 29.3269 15 47C15 64.6731 29.3269 79 47 79Z",fill:"#FF4A60"})}),(0,r.jsx)("g",{filter:"url(#filter1_d_1044_28165)",children:(0,r.jsx)("path",{d:"M56.3334 39.5466L54.4534 37.6666L47.0001 45.12L39.5467 37.6666L37.6667 39.5466L45.1201 47L37.6667 54.4533L39.5467 56.3333L47.0001 48.88L54.4534 56.3333L56.3334 54.4533L48.8801 47L56.3334 39.5466Z",fill:"#FF4A60"})}),(0,r.jsxs)("defs",{children:[(0,r.jsxs)("filter",{id:"filter0_d_1044_28165",x:"0",y:"0",width:"94",height:"94",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[(0,r.jsx)("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),(0,r.jsx)("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),(0,r.jsx)("feOffset",{}),(0,r.jsx)("feGaussianBlur",{stdDeviation:"7.5"}),(0,r.jsx)("feColorMatrix",{type:"matrix",values:"0 0 0 0 1 0 0 0 0 0.116667 0 0 0 0 0.222667 0 0 0 0.6 0"}),(0,r.jsx)("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1044_28165"}),(0,r.jsx)("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1044_28165",result:"shape"})]}),(0,r.jsxs)("filter",{id:"filter1_d_1044_28165",x:"22.6667",y:"22.6666",width:"48.6667",height:"48.6666",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[(0,r.jsx)("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),(0,r.jsx)("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),(0,r.jsx)("feOffset",{}),(0,r.jsx)("feGaussianBlur",{stdDeviation:"7.5"}),(0,r.jsx)("feColorMatrix",{type:"matrix",values:"0 0 0 0 1 0 0 0 0 0.116667 0 0 0 0 0.222667 0 0 0 0.6 0"}),(0,r.jsx)("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1044_28165"}),(0,r.jsx)("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1044_28165",result:"shape"})]})]})]}),f=({width:e="20px",height:t="20ox",color:a="whiteAlpha.700",...o})=>(0,r.jsxs)(n.J,{width:e,color:a,height:t,viewBox:"0 0 20 20",fill:"none",...o,children:[(0,r.jsx)("path",{d:"M6.58154 6.2701C6.23637 6.2701 5.95654 6.54993 5.95654 6.8951C5.95654 7.24028 6.23637 7.5201 6.58154 7.5201H10.3101C10.6553 7.5201 10.9351 7.24028 10.9351 6.8951C10.9351 6.54993 10.6553 6.2701 10.3101 6.2701H6.58154Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M13.972 9.10498C13.6268 9.10498 13.347 9.38481 13.347 9.72998C13.347 10.0752 13.6268 10.355 13.972 10.355H14.1873C14.5324 10.355 14.8123 10.0752 14.8123 9.72998C14.8123 9.38481 14.5324 9.10498 14.1873 9.10498H13.972Z",fill:"currentColor"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.2918 11.6311L17.2916 11.6447V12.3416C17.2916 14.6883 15.3892 16.5907 13.0426 16.5907H7.07331C4.72664 16.5907 2.82422 14.6883 2.82422 12.3416V7.38508C2.82422 5.0384 4.72664 3.13599 7.07331 3.13599H13.0426C15.3892 3.13599 17.2916 5.0384 17.2916 7.38508V7.90016L17.2918 7.91382L17.2916 7.92747V11.6174L17.2918 11.6311ZM7.07331 4.38599C5.41699 4.38599 4.07422 5.72876 4.07422 7.38508V12.3416C4.07422 13.9979 5.41699 15.3407 7.07331 15.3407H13.0426C14.6989 15.3407 16.0416 13.9979 16.0416 12.3416V12.2561H13.871C12.4998 12.2552 11.3876 11.1445 11.3867 9.77282C11.3867 8.40047 12.4998 7.28966 13.8706 7.28882H16.0401C15.9893 5.67705 14.6667 4.38599 13.0426 4.38599H7.07331ZM13.8714 11.0061H16.0416V8.53882H13.8712C13.1891 8.53932 12.6369 9.09162 12.6367 9.77223C12.6372 10.4535 13.1895 11.0056 13.8714 11.0061Z",fill:"currentColor"})]}),g=({color:e="cyan.400"})=>(0,r.jsx)(n.J,{width:"29",height:"21",viewBox:"0 0 29 21",fill:"none",color:e,children:(0,r.jsx)("path",{d:"M6.81239 5.45766C6.61525 5.22805 6.37254 5.11297 6.08372 5.11297H0.177C0.124536 5.11297 0.0816109 5.09606 0.0492845 5.06224C0.0164282 5.02898 0 4.99134 0 4.95098V0.89807C0 0.85771 0.0164282 0.820622 0.0492845 0.786807C0.0816109 0.752992 0.124536 0.736084 0.177 0.736084H6.41864C7.99362 0.736084 9.35239 1.39166 10.4944 2.70173L12.0106 4.58611L9.05721 8.25396L6.81239 5.45766ZM17.7207 2.68155C18.8627 1.38457 20.2278 0.736084 21.8161 0.736084H28.0381C28.0906 0.736084 28.1298 0.749719 28.1563 0.776444C28.1822 0.803714 28.1955 0.844074 28.1955 0.89807V4.95098C28.1955 4.99134 28.1822 5.02898 28.1563 5.06224C28.1298 5.09606 28.0906 5.11297 28.0381 5.11297H22.1314C21.8426 5.11297 21.5998 5.22805 21.4027 5.45766L17.0514 10.8479L21.4223 16.2785C21.6195 16.495 21.8553 16.603 22.1314 16.603H28.0381C28.0906 16.603 28.1298 16.6199 28.1563 16.6538C28.1822 16.6876 28.1955 16.7318 28.1955 16.7852V20.8381C28.1955 20.8785 28.1822 20.9161 28.1563 20.9494C28.1298 20.9832 28.0906 21.0001 28.0381 21.0001H21.8161C20.2278 21.0001 18.8691 20.3451 17.7403 19.0345L14.1176 14.5359L10.4944 19.0345C9.35239 20.3451 7.98727 21.0001 6.39903 21.0001H0.177C0.124536 21.0001 0.0847905 20.9832 0.0588234 20.9494C0.0323264 20.9156 0.0196078 20.8719 0.0196078 20.8174V16.7645C0.0196078 16.7241 0.0323264 16.687 0.0588234 16.6532C0.0847905 16.6194 0.124536 16.6025 0.177 16.6025H6.08372C6.35929 16.6025 6.602 16.488 6.81239 16.2578L11.0848 10.9488L17.7207 2.68155Z",fill:"currentColor"})}),y=({width:e="15px",height:t="15px",...a})=>(0,r.jsx)(n.J,{width:e,height:t,viewBox:"0 0 18 18",fill:"none",...a,children:(0,r.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.48247 2.4375C4.94851 2.4375 4.51566 2.87036 4.51566 3.40431V5.43752H3.21022C2.67626 5.43752 2.24341 5.87038 2.24341 6.40434V8.59571C2.24341 9.12967 2.67626 9.56252 3.21022 9.56252H4.75822V11.4382C4.24137 11.4576 3.82831 11.8827 3.82831 12.4043V14.5957C3.82831 15.1296 4.26117 15.5625 4.79512 15.5625H13.8598C14.3938 15.5625 14.8266 15.1296 14.8266 14.5957V12.5618C15.3435 12.5424 15.7565 12.1173 15.7565 11.5957V9.40431C15.7565 8.87036 15.3237 8.4375 14.7897 8.4375H13.2417V6.5625H14.5472C15.0811 6.5625 15.514 6.12964 15.514 5.59569V3.40431C15.514 2.87036 15.0811 2.4375 14.5472 2.4375H5.48247ZM5.64066 5.4375V3.5625H14.389V5.4375H5.64066ZM3.36841 6.56252V8.43752H5.71853L5.72504 8.4375H12.1167V6.56252H3.36841ZM5.88322 11.4375V9.56252H12.2749L12.2814 9.5625H14.6315V11.4375H5.88322ZM4.95331 14.4375V12.5625H13.7016V14.4375H4.95331Z",fill:"white"})})}),b=({width:e="119px",height:t="33px",...a})=>(0,r.jsxs)(n.J,{width:e,height:t,fill:"none",viewBox:"0 0 119 33",...a,children:[(0,r.jsx)("path",{d:"M116.41.7H3.436C2.117.7 1.049 1.757 1.049 3.06v26.88c0 1.303 1.068 2.36 2.387 2.36H116.41c1.319 0 2.388-1.056 2.388-2.36V3.06c0-1.303-1.069-2.36-2.388-2.36Z",fill:"#000"}),(0,r.jsx)("path",{d:"M116.41.9c1.206 0 2.185.968 2.185 2.16v26.88c0 1.192-.979 2.16-2.185 2.16H3.436c-1.206 0-2.185-.968-2.185-2.16V3.06C1.25 1.868 2.23.9 3.436.9H116.41Zm0-.4H3.436C2.007.5.846 1.648.846 3.06v26.88c0 1.412 1.161 2.56 2.59 2.56H116.41c1.429 0 2.59-1.148 2.59-2.56V3.06c0-1.412-1.161-2.56-2.59-2.56Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m15.55 7.268-8.092 4.616v9.232l8.092 4.616 8.093-4.616v-9.232L15.55 7.268Zm4.662 11.892-4.662 2.66-4.661-2.66v-5.32l4.661-2.66 4.662 2.66v5.32Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M32.877 20.96c-.036-.212-.214-.544-.708-.544-.368 0-.611.232-.611.488 0 .212.138.38.425.436l.546.104c.708.136 1.089.592 1.089 1.136 0 .592-.502 1.192-1.409 1.192-1.035 0-1.493-.66-1.553-1.208l.704-.184c.032.38.303.724.854.724.408 0 .63-.2.63-.472 0-.224-.17-.396-.473-.456l-.546-.108c-.623-.124-1.024-.524-1.024-1.104 0-.684.623-1.208 1.36-1.208.947 0 1.311.564 1.396 1l-.684.208.004-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M34.641 23.692v-3.856h2.444v.708h-1.683v.88h1.525v.668h-1.525v.892h1.683v.708h-2.444Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M37.987 21.768c0-1.228.943-2.012 1.987-2.012s1.635.652 1.789 1.28l-.716.224c-.093-.368-.397-.776-1.073-.776-.582 0-1.197.412-1.197 1.288 0 .82.582 1.272 1.21 1.272.667 0 .99-.428 1.096-.788l.708.212c-.15.592-.708 1.312-1.805 1.312-1.096 0-1.998-.776-1.998-2.008v-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M42.739 22.328v-2.492h.76v2.436c0 .504.288.772.737.772s.744-.268.744-.772v-2.436h.761v2.492c0 .948-.667 1.452-1.501 1.452-.834 0-1.497-.504-1.497-1.452h-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M48.136 22.208h-.396v1.484h-.765v-3.856h1.526c.76 0 1.242.516 1.242 1.184 0 .54-.32.948-.83 1.092l.838 1.576h-.846l-.765-1.484-.004.004Zm.219-.648c.384 0 .61-.216.61-.532 0-.316-.226-.54-.61-.54h-.615v1.072h.615Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M50.798 23.692v-3.856h2.444v.708H51.56v.88h1.526v.668h-1.526v.892h1.683v.708h-2.444Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M54.388 23.692v-3.856h1.396c1.113 0 1.926.712 1.926 1.932s-.821 1.924-1.93 1.924h-1.392Zm1.364-.696c.64 0 1.173-.392 1.173-1.228s-.53-1.236-1.165-1.236h-.611v2.464h.607-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M64.864 19.836h.777l-1.08 3.856h-.782l-.89-2.748-.89 2.748h-.793l-1.085-3.856h.806l.716 2.656.866-2.656h.785l.87 2.664.704-2.664h-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M66.538 23.692v-3.856h.77v3.856h-.77Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M70.225 20.548v3.144h-.765v-3.144h-1.234v-.712h3.229v.712h-1.234.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M74.834 23.692v-1.6h-1.7v1.6h-.76v-3.856h.76v1.552h1.7v-1.552h.764v3.856h-.764Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M78.391 21.768c0-1.228.943-2.012 1.987-2.012s1.635.652 1.788 1.28l-.716.224c-.093-.368-.396-.776-1.072-.776-.583 0-1.198.412-1.198 1.288 0 .82.583 1.272 1.21 1.272.668 0 .991-.428 1.097-.788l.708.212c-.15.592-.708 1.312-1.805 1.312s-1.999-.776-1.999-2.008v-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M85.67 23.692v-1.6h-1.699v1.6h-.76v-3.856h.76v1.552h1.7v-1.552h.764v3.856h-.764Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M90.036 22.812H88.45l-.324.88h-.805l1.497-3.856h.882l1.485 3.856h-.825l-.324-.88Zm-1.331-.684h1.08l-.538-1.456-.538 1.456h-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M92.072 23.692v-3.856h.769v3.856h-.77Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m96.648 23.692-1.773-2.736v2.736h-.76v-3.856h.947l1.622 2.552v-2.552h.76v3.856h-.796Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M98.723 23.692v-3.856h.76v3.14h1.741v.716h-2.501Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M102.192 23.692v-3.856h.769v3.856h-.769Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m106.768 23.692-1.772-2.736v2.736h-.761v-3.856h.947l1.622 2.552v-2.552h.761v3.856h-.797Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m110.086 22.092-.486.528v1.072h-.761v-3.856h.761v1.748l1.562-1.748h.995l-1.545 1.68 1.557 2.176h-.95l-1.133-1.6Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M30.842 12.352c0-2.024 1.55-3.316 3.274-3.316 1.723 0 2.69 1.076 2.945 2.104l-1.177.368c-.154-.608-.651-1.28-1.768-1.28-.96 0-1.975.68-1.975 2.124 0 1.352.959 2.096 1.995 2.096 1.096 0 1.63-.708 1.805-1.3l1.169.348c-.247.976-1.17 2.16-2.974 2.16-1.805 0-3.29-1.28-3.29-3.308l-.004.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M40.514 12.299a1.778 1.778 0 0 0-.365-.036c-.615 0-1.149.296-1.149 1.244v2.016h-1.206v-4.408h1.17v.656c.27-.584.886-.688 1.27-.688.101 0 .19.008.28.016v1.2Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M45.478 13.32c0 1.351-1.008 2.34-2.339 2.34s-2.339-.985-2.339-2.34c0-1.357 1.008-2.34 2.339-2.34s2.339.975 2.339 2.34Zm-1.206 0c0-.833-.542-1.257-1.133-1.257-.59 0-1.133.42-1.133 1.256 0 .836.542 1.256 1.133 1.256.59 0 1.133-.42 1.133-1.256Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M46.902 14.071c.029.348.292.672.818.672.4 0 .59-.208.59-.44 0-.196-.137-.36-.481-.432l-.59-.136c-.863-.188-1.251-.7-1.251-1.316 0-.788.708-1.444 1.667-1.444 1.27 0 1.695.796 1.748 1.272l-1.008.224c-.036-.26-.226-.592-.732-.592-.316 0-.57.188-.57.44 0 .216.161.348.408.396l.635.136c.878.18 1.323.708 1.323 1.352 0 .716-.562 1.452-1.731 1.452-1.344 0-1.805-.86-1.858-1.36l1.032-.224Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M50.9 14.071c.029.348.292.672.818.672.4 0 .59-.208.59-.44 0-.196-.137-.36-.481-.432l-.59-.136c-.863-.188-1.251-.7-1.251-1.316 0-.788.708-1.444 1.667-1.444 1.27 0 1.695.796 1.748 1.272l-1.008.224c-.036-.26-.226-.592-.732-.592-.316 0-.57.188-.57.44 0 .216.161.348.408.396l.636.136c.878.18 1.323.708 1.323 1.352 0 .716-.563 1.452-1.732 1.452-1.34 0-1.805-.86-1.858-1.36l1.032-.224Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M54.007 13.392v-1.056h2.63v1.056h-2.63Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M57.216 12.352c0-2.024 1.55-3.316 3.274-3.316 1.723 0 2.69 1.076 2.945 2.104l-1.177.368c-.154-.608-.652-1.28-1.768-1.28-.96 0-1.975.68-1.975 2.124 0 1.352.96 2.096 1.995 2.096 1.096 0 1.63-.708 1.805-1.3l1.169.348c-.247.976-1.17 2.16-2.974 2.16-1.805 0-3.29-1.28-3.29-3.308l-.004.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M65.366 15.524H64.16V9.036h1.206v2.448c.292-.34.781-.484 1.206-.484 1.133 0 1.66.78 1.66 1.748v2.776h-1.207v-2.572c0-.492-.242-.88-.825-.88-.506 0-.805.376-.834.86v2.592Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m70.33 12.987 1.097-.16c.255-.036.336-.16.336-.312 0-.312-.247-.572-.752-.572-.506 0-.818.332-.854.716l-1.069-.224c.073-.692.717-1.452 1.915-1.452 1.412 0 1.938.788 1.938 1.676v2.168c0 .232.028.548.052.7H71.89a2.866 2.866 0 0 1-.045-.528c-.226.348-.651.656-1.315.656-.95 0-1.533-.636-1.533-1.328 0-.788.59-1.228 1.33-1.336l.005-.004Zm1.433.752v-.196l-1.007.152c-.308.044-.555.216-.555.556 0 .26.19.512.579.512.506 0 .98-.24.98-1.02l.003-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M74.576 8.931a.74.74 0 0 1 .745.744c0 .412-.328.724-.745.724a.736.736 0 0 1-.745-.724c0-.392.336-.744.745-.744Zm-.599 6.597v-4.409h1.206v4.409h-1.206Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M77.493 15.523h-1.206v-4.408h1.17v.548c.271-.456.805-.664 1.287-.664 1.104 0 1.614.78 1.614 1.748v2.776h-1.206V12.95c0-.492-.246-.88-.825-.88-.526 0-.834.404-.834.912v2.54Z",fill:"#fff"})]}),j=({width:e="24px",height:t="24px",fill:a="#0052FF",...o})=>(0,r.jsx)(n.J,{width:e,height:t,viewBox:"0 0 111 111",...o,children:(0,r.jsx)("path",{d:"M54.921 110.034C85.359 110.034 110.034 85.402 110.034 55.017C110.034 24.6319 85.359 0 54.921 0C26.0432 0 2.35281 22.1714 0 50.3923H72.8467V59.6416H3.9565e-07C2.35281 87.8625 26.0432 110.034 54.921 110.034Z",fill:a})})},13797:(e,t,a)=>{"use strict";a.d(t,{n:()=>i,T:()=>l});var n=a(79929),r=a(2784),o=a(52322);const i=(0,r.createContext)({collateralChange:(0,n.wei)(0),debtChange:(0,n.wei)(0),setDebtChange:()=>{},setCollateralChange:()=>{}}),l=({children:e})=>{const[t,a]=(0,r.useState)((0,n.wei)(0)),[l,s]=(0,r.useState)((0,n.wei)(0));return(0,o.jsx)(i.Provider,{value:{debtChange:t,setDebtChange:a,collateralChange:l,setCollateralChange:s},children:e})}},42219:(e,t,a)=>{"use strict";a.d(t,{yq:()=>i,os:()=>o,br:()=>r,lm:()=>l,Od:()=>s,sO:()=>d,Q4:()=>c,kw:()=>u,DM:()=>h});var n=a(34406);const r=9,o=1.5,i=3e5,l="3fed4f20a42a4302b7e9f15a2288f6a4",s="sec_jykTuCK0ZuqXWf3wNYqizxs2",c=(e="optimism-mainnet")=>"base-goerli"===e?"https://subgraph.satsuma-prod.com/ce5e03f52f3b/synthetix/synthetix-base-testnet/api":`https://api.thegraph.com/subgraphs/name/snx-v3/${e}`,d={TERMS_CONDITIONS_ACCEPTED:"TERMS_CONDITIONS_ACCEPTED"},u=n.env.PYTH_MAINNET_ENDPOINT||"https://xc-mainnet.pyth.network",h=n.env.PYTH_TESTNET_ENDPOINT||"https://xc-testnet.pyth.network"},95522:(e,t,a)=>{"use strict";a.d(t,{$:()=>s,x:()=>c});var n=a(42219),r=a(17123),o=a(99780),i=a(99268),l=a(10528);const s=async(e,t)=>{if(0===e.length)return[];const a=new r.O(t?n.DM:n.kw);return(await a.getPriceFeedsUpdateData(e.map((({priceFeedId:e})=>e)))).map(((t,a)=>{const{priceFeedId:n,stalenessTolerance:r}=e[a];return o.$.encode(["uint8","uint64","bytes32[]","bytes[]"],[1,r.toBN(),[n],[t]])}))},c=(e,t,a)=>{if(t.length!==a.length)throw new Error("oracleAddresses and signedOffchainData must be the same length");return a.map(((a,n)=>({to:t[n].address,from:e,data:new i.vU(["function fulfillOracleQuery(bytes calldata signedOffchainData) payable external"]).encodeFunctionData("fulfillOracleQuery",[a]),value:l.O$.from(1)})))}},96596:(e,t,a)=>{"use strict";a.d(t,{Aq:()=>r,i_:()=>n});a(79929);const n=(e,t=6,a=4)=>e.length<=t+a?e:`${e.substring(0,t)}...${e.substring(e.length-a)}`;function r(e,t,a=2){try{const n=e.toString(),r=e.toNumber(),o=r<0?-r-Math.floor(-r):r-Math.floor(r),i=(0!==o?-Math.floor(Math.log10(o)+1):0)+a;return isNaN(r)?n:r.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:i,...t})}catch(t){return e+""}}},37330:(e,t,a)=>{"use strict";a.d(t,{_:()=>n});const n=e=>null!=e},17716:(e,t,a)=>{"use strict";a.d(t,{E:()=>n,I:()=>r});const n={error:null,modalOpen:!1,txnStatus:"unsent",txnHash:null};function r(e,t){switch(t.type){case"prompting":return{...e,txnStatus:"prompting",modalOpen:!0,error:null};case"pending":return{...e,txnStatus:"pending",txnHash:t.payload.txnHash};case"success":return{...e,txnStatus:"success"};case"error":return{...e,txnStatus:"error",error:t.payload.error};case"settled":return{...e,modalOpen:!1,txnStatus:"unsent",error:null,txnHash:null};default:return e}}},42614:(e,t,a)=>{"use strict";a.d(t,{L:()=>f});a(95682),a(21045),a(17244),a(42068),a(75519),a(39432),a(73574),a(33619),a(53862),a(26881),a(35359),a(98208),a(13608),a(75676),a(5993),a(74456);var n=a(79634),r=a(5717),o=a(99780),i=a(50986),l=a(76885);function s(){const e=(0,l.LN)(),t=(0,l.yL)(),r=(0,l.mx)(),o=r||t,s=Boolean(r);return(0,n.useQuery)({queryKey:[e.name,"OracleManagerProxy",{withSigner:s}],queryFn:async function(){const{address:t,abi:n}=await async function(e){switch(e){case"cannon":return a.e(4895).then(a.bind(a,74895));case"mainnet":return a.e(5742).then(a.bind(a,95742));case"goerli":return a.e(2195).then(a.bind(a,2195));case"sepolia":return a.e(9009).then(a.bind(a,9009));case"optimism-mainnet":return a.e(4462).then(a.bind(a,74462));case"optimism-goerli":return a.e(3246).then(a.bind(a,83246));case"base-goerli":return a.e(8265).then(a.bind(a,8265));default:throw new Error(`Unsupported chain ${e}`)}}(e.name);return new i.CH(t,n,o)},enabled:Boolean(o),staleTime:1/0,cacheTime:1/0})}var c=a(30195),d=a(37330),u=a(40109),h=a(55588),x=a(79929);const p=c.z.object({nodeType:c.z.number(),parameters:c.z.string(),parents:c.z.array(c.z.string())}),m=c.z.object({address:c.z.string(),priceFeedId:c.z.string(),stalenessTolerance:h.rK.transform((e=>(0,x.wei)(e)))});const f=()=>{const{data:e}=(0,r.b)(),{data:t}=s(),{data:a}=(0,u.a)(),i=(0,l.LN)();return(0,n.useQuery)({enabled:Boolean(e&&t&&a),staleTime:1/0,cacheTime:1/0,queryKey:[i.name,"Collateral Price IDs"],queryFn:async()=>{if(!a||!e||!t)throw Error("useAllCollateralPriceIds should not be enabled ");if(!l.RG[i.name])return[];const n=await(async({CoreProxy:e})=>await e.getCollateralConfigurations(!1))({CoreProxy:a}),r=n.map((e=>e.oracleNodeId)).map((e=>({target:t.address,callData:t.interface.encodeFunctionData("getNode",[e])}))),{returnData:s}=await e.callStatic.aggregate(r);return function(e,t){const a=new Set;return e.filter((e=>{const n=e[t];return!a.has(n)&&(a.add(n),!0)}))}(s.map(((e,a)=>{const r=t.interface.decodeFunctionResult("getNode",e)[0],{nodeType:i,parameters:l}=p.parse({...r});if(2===i)try{const[e,t,a]=o.$.decode(["address","bytes32","uint256"],l),n=m.parse({address:e,priceFeedId:t,stalenessTolerance:a});return{parameters:l,priceFeedId:n.priceFeedId,address:n.address,stalenessTolerance:n.stalenessTolerance}}catch(e){return console.error("Decoding parameters failed, config:",n[a]),console.error("parameters: ",l),console.error(e),null}})).filter(d._),"priceFeedId")}})}},51380:(e,t,a)=>{"use strict";a.d(t,{y:()=>d});var n=a(79634),r=a(76885),o=a(50986),i=a(55588),l=a(79929);const s=i.rK.transform((e=>(0,l.wei)(e))),c=["function allowance(address, address) view returns (uint256)"],d=({contractAddress:e,spender:t})=>{const a=(0,r.Os)(),i=(0,r.yL)(),l=(0,r.LN)();return(0,n.useQuery)({queryKey:[l.name,"Allowance",{accountAddress:a?.address},{contractAddress:e,spender:t}],queryFn:async()=>{if(!(e&&t&&a?.address))throw new Error("OMG");const n=new o.CH(e,c,i),r=await n.allowance(a.address,t);return s.parse(r)},enabled:Boolean(a?.address&&e&&t&&i)})}},85649:(e,t,a)=>{"use strict";a.d(t,{y:()=>p});var n=a(2784),r=a(51380),o=a(50986),i=a(90711),l=a(79634),s=a(76885),c=a(17716),d=a(99),u=a(35834),h=a(95772);const x=["function approve(address spender, uint256 amount) returns (bool)"],p=({contractAddress:e,amount:t,spender:a},p)=>{const[m,f]=(0,n.useReducer)(c.I,c.E),{data:g,refetch:y}=(0,r.y)({contractAddress:e,spender:a}),b=Boolean(g?.gte(t)),j=(0,s.mx)(),{gasSpeed:w}=(0,h.jU)(),C=(0,s.yL)(),v=(0,l.useMutation)({mutationFn:async n=>{if(j&&e&&a&&!b)try{f({type:"prompting"});const r=new o.CH(e,x,j),l=n?i.Bz:t,s=(0,u.o)({provider:C}),c=r.estimateGas.approve(a,l),h=r.populateTransaction.approve(a,l,{gasLimit:c}),[p,m,g]=await Promise.all([s,c,h]),y=(0,d.F)({gasLimit:m,gasPrices:p,gasSpeed:w}),b=await j.sendTransaction({...g,...y});f({type:"pending",payload:{txnHash:b.hash}}),await b.wait(),f({type:"success"})}catch(e){throw f({type:"error",payload:{error:e}}),e}},...p});return{mutation:v,txnState:m,isLoading:v.isLoading,approve:v.mutateAsync,refetchAllowance:y,requireApproval:!b}}},76885:(e,t,a)=>{"use strict";a.d(t,{Bl:()=>S,g5:()=>m,IO:()=>z,zP:()=>N,RG:()=>f,IE:()=>C,ll:()=>M,T9:()=>I,LN:()=>k,yL:()=>T,fn:()=>D,mx:()=>F,Os:()=>L});var n=a(8550),r=a(37753),o=a(2784),i=a(14921),l=a(42219),s=a(61735),c=a(43712),d=a(88165);const u=a.p+"SynthetixLogo.6f86ffcf.svg";var h=a(52322),x=a(34406);const p={id:0,hexId:`0x${Number(0).toString(16)}`,token:"ETH",name:"unsupported",rpcUrl:"",publicRpcUrl:"",label:"Unsupported",Icon:()=>(0,h.jsx)(i.Bg,{width:"24px",height:"24px"}),isSupported:!1,isTestnet:!1},m={mainnet:{id:1,hexId:`0x${Number(1).toString(16)}`,token:"ETH",name:"mainnet",rpcUrl:`https://mainnet.infura.io/v3/${l.lm}`,label:"Ethereum",Icon:()=>(0,h.jsx)(i.xi,{}),isSupported:!0,publicRpcUrl:"https://ethereum.publicnode.com",isTestnet:!1},"optimism-mainnet":{id:10,hexId:`0x${Number(10).toString(16)}`,token:"ETH",name:"optimism-mainnet",rpcUrl:`https://optimism-mainnet.infura.io/v3/${l.lm}`,label:"Optimism",Icon:()=>(0,h.jsx)(i.PF,{}),isSupported:!0,publicRpcUrl:"https://mainnet.optimism.io",isTestnet:!1},goerli:{id:5,hexId:`0x${Number(5).toString(16)}`,token:"ETH",name:"goerli",rpcUrl:`https://goerli.infura.io/v3/${l.lm}`,label:"Goerli Testnet",Icon:()=>(0,h.jsx)(i.xi,{}),isSupported:!0,publicRpcUrl:"https://ethereum-goerli.publicnode.com",isTestnet:!0},sepolia:{id:11155111,hexId:`0x${Number(11155111).toString(16)}`,token:"ETH",name:"sepolia",rpcUrl:`https://sepolia.infura.io/v3/${l.lm}`,label:"Sepolia Testnet",Icon:()=>(0,h.jsx)(i.xi,{}),isSupported:!0,publicRpcUrl:"https://ethereum-sepolia.publicnode.com",isTestnet:!0},"optimism-goerli":{id:420,hexId:`0x${Number(420).toString(16)}`,token:"ETH",name:"optimism-goerli",rpcUrl:`https://optimism-goerli.infura.io/v3/${l.lm}`,label:"Optimistic Goerli",Icon:()=>(0,h.jsx)(i.PF,{}),isSupported:!0,publicRpcUrl:"https://goerli.optimism.io",isTestnet:!0},"base-goerli":{id:84531,hexId:`0x${Number(84531).toString(16)}`,token:"ETH",name:"base-goerli",rpcUrl:`https://base-goerli.infura.io/v3/${l.lm}`,label:"Base Goerli",Icon:()=>(0,h.jsx)(i.su,{}),isSupported:!0,publicRpcUrl:"https://base-goerli.publicnode.com",isTestnet:!0},cannon:{id:13370,hexId:`0x${Number(13370).toString(16)}`,token:"ETH",name:"cannon",rpcUrl:"http://127.0.0.1:8545",label:"Cannon",Icon:()=>(0,h.jsx)(i.K7,{}),isSupported:"cannon"===window.localStorage.getItem("DEFAULT_NETWORK"),publicRpcUrl:"http://127.0.0.1:8545",isTestnet:!0}},f={"base-goerli":!0},g=window.localStorage.getItem("DEFAULT_NETWORK")||"optimism-mainnet",y=g in m?m[g]:m["optimism-mainnet"],b=[(0,c.ZP)(),(0,d.Z)({version:2,projectId:`${x.env.NEXT_PUBLIC_WC_PROJECT_ID}`,requiredChains:[m.mainnet.id,m["optimism-mainnet"].id]})],j=Object.values(m).map((e=>({id:e.hexId,token:e.token,label:e.label,rpcUrl:e.rpcUrl,publicRpcUrl:e.publicRpcUrl}))),w={name:"Synthetix",icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQwIiBoZWlnaHQ9IjI0MCIKICAgIHZpZXdCb3g9IjAgMCAzNDAgMjQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGZpbGw9IiMwMEQxRkYiIGQ9Ik04Mi4xNDggNTUuOTJjLTIuMzc3LTIuNzItNS4zMDQtNC4wODMtOC43ODYtNC4wODNIMi4xMzRjLS42MzIgMC0xLjE1LS4yLTEuNTQtLjYtLjM5Ni0uMzk1LS41OTQtLjg0LS41OTQtMS4zMTl2LTQ4QzAgMS40NC4xOTggMS4wMDEuNTk0LjYwMS45ODQuMiAxLjUwMiAwIDIuMTM0IDBINzcuNGMxOC45OTIgMCAzNS4zNzcgNy43NjQgNDkuMTQ5IDIzLjI4bDE4LjI4MyAyMi4zMTctMzUuNjE0IDQzLjQ0LTI3LjA3LTMzLjExOFptMTMxLjU0LTMyLjg4QzIyNy40NTkgNy42OCAyNDMuOTIxIDAgMjYzLjA3MyAwaDc1LjAyOWMuNjMzIDAgMS4xMDYuMTYxIDEuNDI1LjQ3OC4zMTMuMzIzLjQ3My44MDEuNDczIDEuNDR2NDhjMCAuNDc4LS4xNi45MjQtLjQ3MyAxLjMxOC0uMzE5LjQtLjc5Mi42LTEuNDI1LjZoLTcxLjIyN2MtMy40ODMgMC02LjQxIDEuMzY0LTguNzg3IDQuMDgzbC01Mi40NzEgNjMuODM5IDUyLjcwOCA2NC4zMTZjMi4zNzcgMi41NjUgNS4yMjEgMy44NDQgOC41NSAzLjg0NGg3MS4yMjdjLjYzMyAwIDEuMTA2LjIgMS40MjUuNi4zMTMuNDAxLjQ3My45MjQuNDczIDEuNTU3djQ4YzAgLjQ3OC0uMTYuOTI0LS40NzMgMS4zMTgtLjMxOS40LS43OTIuNjAxLTEuNDI1LjYwMWgtNzUuMDI5Yy0xOS4xNTIgMC0zNS41MzctNy43NTgtNDkuMTQ5LTIzLjI4bC00My42ODQtNTMuMjc4LTQzLjY5MSA1My4yNzhjLTEzLjc3MiAxNS41MjItMzAuMjMzIDIzLjI4LTQ5LjM4NSAyMy4yOEgyLjEzNGMtLjYzMiAwLTEuMTEyLS4yMDEtMS40MjUtLjYwMS0uMzItLjQwMS0uNDczLS45MTctLjQ3My0xLjU2M3YtNDhjMC0uNDc4LjE1NC0uOTE4LjQ3My0xLjMxOC4zMTMtLjQwMS43OTMtLjYwMSAxLjQyNS0uNjAxaDcxLjIyOGMzLjMyMyAwIDYuMjUtMS4zNTYgOC43ODYtNC4wODJsNTEuNTItNjIuODc2IDgwLjAyLTk3LjkxMloiLz4KPC9zdmc+Cg==",logo:u,description:"Synthetix | The derivatives liquidity protocol.",recommendedInjectedWallets:[{name:"MetaMask",url:"https://metamask.io"},{name:"Brave Wallet",url:"https://brave.com/wallet"}],gettingStartedGuide:"https://synthetix.io",explore:"https://blog.synthetix.io"},C=(0,s.Z)({theme:"dark",wallets:b,chains:j,appMetadata:w,apiKey:l.Od,accountCenter:{desktop:{enabled:!1},mobile:{enabled:!1}},notify:{enabled:!1}}),v=o.createContext({onboardState:C.state.get(),network:y,setNetwork:()=>null}),S=({children:e})=>{const[t,a]=o.useState(C.state.get()),[n,r]=o.useState(y),i=o.useRef(!1);return o.useEffect((()=>(i.current=!0,()=>{i.current=!1})),[]),o.useEffect((()=>{const{unsubscribe:e}=C.state.select().subscribe((e=>{a(e);const[t]=e.wallets;if(t){const[e]=t.chains;if(e){const t=Object.values(m).find((t=>t.hexId===e.id));t&&(r(t),window.localStorage.setItem("DEFAULT_NETWORK",t.name))}}}));return()=>{i.current&&e()}}),[]),(0,h.jsx)(v.Provider,{value:{onboardState:t,network:n,setNetwork:r},children:e})};function A(){const{onboardState:e}=o.useContext(v),{wallets:t}=e;if(t.length<1)return;const[a]=t;return a}function k(){const{network:e}=o.useContext(v),t=A();if(!(t&&Array.isArray(t.chains)&&t.chains[0]&&t.chains[0].id&&t.chains[0].id!==e.hexId))return e;const a=Object.values(m).find((e=>e.hexId===t.chains[0].id));return a||p}function D(){const{setNetwork:e}=o.useContext(v),t=A(),a=Boolean(t);return o.useCallback((async t=>{a?await C.setChain({chainId:t.hexId}):(e(t),window.localStorage.setItem("DEFAULT_NETWORK",t.name))}),[e,a])}function I(){const e=A();return Boolean(e)}function T(){const e=A(),t=k();return e?new n.Q(e.provider,"any"):new r.r(t.rpcUrl)}function F(){const e=A();if(!e)return;return new n.Q(e.provider,"any").getSigner()}function L(){const e=A();if(!e)return;const[t]=e.accounts;return t}function M(){const e=C.state.select("wallets"),{unsubscribe:t}=e.subscribe((e=>{const t=e.map((({label:e})=>e));window.localStorage.setItem("connectedWallets",JSON.stringify(t))}));return t}async function z(){const e=window.localStorage.getItem("connectedWallets");if(e)try{const[t]=JSON.parse(e);await C.connectWallet({autoSelect:{label:t,disableModals:!0}})}catch(e){return}}async function N(){return window.localStorage.removeItem("connectedWallets"),await Promise.all(C.state.get().wallets.map((({label:e})=>C.disconnectWallet({label:e}))))}},19299:(e,t,a)=>{"use strict";a.d(t,{t:()=>y,T:()=>g});var n=a(99268),r=a(90711),o=a(79634),i=a(40109),l=a(30195),s=a(2784),c=a(55588),d=a(79929),u=a(5717),h=a(76885);const x=l.z.object({depositingEnabled:l.z.boolean(),issuanceRatioD18:c.rK.transform((e=>(0,d.wei)(e))),liquidationRatioD18:c.rK.transform((e=>(0,d.wei)(e))),liquidationRewardD18:c.rK.transform((e=>(0,d.wei)(e))),oracleNodeId:l.z.string(),tokenAddress:l.z.string().startsWith("0x"),minDelegationD18:c.rK.transform((e=>(0,d.wei)(e)))}),p=(x.extend({symbol:l.z.string(),displaySymbol:l.z.string()}),l.z.string()),m=new n.vU(["function symbol() view returns (string)"]);async function f({CoreProxy:e,Multicall3:t}){const a=(await e.getCollateralConfigurations(!0)).map((e=>x.parse({...e}))).filter((({depositingEnabled:e})=>e)),n=await async function({Multicall3:e,tokenConfigs:t}){const a=t.map((e=>({target:e.tokenAddress,callData:m.encodeFunctionData("symbol")})));return(await e.callStatic.aggregate(a)).returnData.map((e=>p.parse(m.decodeFunctionResult("symbol",e)[0])))}({Multicall3:t,tokenConfigs:a});return a.map(((e,t)=>({depositingEnabled:e.depositingEnabled,issuanceRatioD18:e.issuanceRatioD18,liquidationRatioD18:e.liquidationRatioD18,liquidationRewardD18:e.liquidationRewardD18,minDelegationD18:e.minDelegationD18,oracleNodeId:e.oracleNodeId,tokenAddress:e.tokenAddress,symbol:n[t],displaySymbol:"WETH"===n[t]?"ETH":n[t]})))}function g(e=!1){const t=(0,h.LN)(),{data:a}=(0,i.a)(),{data:n}=(0,u.b)();return(0,o.useQuery)({queryKey:[t.name,"CollateralTypes",{includeDelegationOff:e}],queryFn:async()=>{if(!a||!n)throw Error("Query should not be enabled when contracts missing");const t=await f({CoreProxy:a,Multicall3:n});return e?t:t.filter((e=>e.minDelegationD18.lt(r.Bz)))},staleTime:36e5,placeholderData:[],enabled:Boolean(a&&n)})}function y(e){const{data:t,isLoading:a,error:n}=g();return{isLoading:a,error:n,data:(0,s.useMemo)((()=>{if(t&&t?.length)return e?t.find((t=>`${t.symbol}`.toLowerCase()===`${e}`.toLowerCase())):t[0]}),[e,t])}}},97721:(e,t,a)=>{"use strict";a.d(t,{o:()=>c});a(95682),a(21045),a(17244),a(42068),a(75519),a(39432),a(73574),a(33619),a(53862),a(26881),a(35359),a(98208),a(13608),a(75676),a(5993),a(74456);var n=a(79155),r=a(50986),o=a(10528),i=a(49494),l=a(2784),s=a(86848);function c(e){return(0,l.useCallback)((t=>{if(e)try{const a=t?.error?.data?.data||t?.error?.error?.data;if(!a)return void console.error({error:t});const l=e.interface.format(n.pc.full),c=new r.CH(e.address,Array.from(new Set(l.concat(s.IN).concat(["error CannotSelfApprove(address addr)","error InvalidTransferRecipient(address addr)","error InvalidOwner(address addr)","error TokenDoesNotExist(uint256 id)","error TokenAlreadyMinted(uint256 id)"]))),e.signer||e.provider).interface.parseError(a),d=Object.fromEntries(Object.entries(c.args).filter((([e])=>`${parseInt(e)}`!==e)).map((([e,t])=>{if(t instanceof o.O$){const a=parseFloat(i.dF(t.toString()));return a>.001?[e,a]:t.toNumber()>new Date(2e3,1,1).getTime()/1e3&&t.toNumber(){"use strict";a.d(t,{k:()=>i,a:()=>l});var n=a(50986),r=a(79634),o=a(76885);async function i(e){switch(e){case"cannon":return a.e(2125).then(a.bind(a,32125));case"mainnet":return a.e(181).then(a.bind(a,50181));case"goerli":return a.e(6430).then(a.bind(a,46430));case"sepolia":return a.e(3162).then(a.bind(a,43162));case"optimism-mainnet":return a.e(3091).then(a.bind(a,3091));case"optimism-goerli":return a.e(666).then(a.bind(a,20666));case"base-goerli":return a.e(9341).then(a.bind(a,59341));default:throw new Error(`Unsupported chain ${e}`)}}function l(){const e=(0,o.LN)(),t=(0,o.yL)(),a=(0,o.mx)(),l=a||t,s=Boolean(a);return(0,r.useQuery)({queryKey:[e.name,"CoreProxy",{withSigner:s}],queryFn:async function(){const{address:t,abi:a}=await i(e.name);return new n.CH(t,a,l)},enabled:Boolean(l),staleTime:1/0,cacheTime:1/0})}},95042:(e,t,a)=>{"use strict";a.d(t,{G:()=>d});var n=a(79634),r=a(76885),o=a(55588),i=a(79929),l=a(74830),s=a(34406);const c=o.rK.transform((e=>(0,i.wei)(e)));function d(e){const t=(0,r.Os)(),a=(0,r.yL)(),o=(0,r.LN)();return(0,n.useQuery)({queryKey:[o.name,"EthBalance",{accountAddress:t?.address}],queryFn:async()=>{if(!t?.address)throw Error("useEthBalance should not be enabled");const n=e&&e!==o.id?new l.J(e,s.env.NEXT_PUBLIC_INFURA_PROJECT_ID):a;return c.parse(await n.getBalance(t.address))},enabled:Boolean((e??o.id)&&t?.address)})}},99:(e,t,a)=>{"use strict";a.d(t,{F:()=>l});var n=a(79929),r=a(42219);const o=(0,n.wei)(r.os,r.br);function i(e){return(0,n.wei)(e??0,r.br).mul(o).toBN()}function l({gasPrices:e,gasSpeed:t,gasLimit:a}){const n=e[t];if("baseFeePerGas"in n){const{baseFeePerGas:e,...t}=n;return{...t,gasLimit:i(a)}}return{...n,gasLimit:i(a)}}},35834:(e,t,a)=>{"use strict";a.d(t,{o:()=>d});a(76885),a(18423);var n=a(67640);const r=e=>"number"==typeof e&&e==e,o=(e,t)=>((e,t,a)=>{const n=e.length;if(t>1)return Array(n);if(1===t)return e.slice();const o=!Array.isArray(t),i=[];let l,s=0,c=0;for(;se.filter(((e,a)=>!t.includes(a))).map((e=>e[a].toNumber()));var l=a(79929),s=a(42219);const c=async(e,t="latest")=>{if(13370===e.network.chainId||84531===e.network.chainId)return(()=>{const e=(0,l.wei)(1,9).toBN(),t=(0,l.wei)(5,9).toBN(),a=(0,l.wei)(1,9).toBN();return{average:{maxPriorityFeePerGas:a,maxFeePerGas:t,baseFeePerGas:e},fast:{maxPriorityFeePerGas:a,maxFeePerGas:t,baseFeePerGas:e},fastest:{maxPriorityFeePerGas:a,maxFeePerGas:t,baseFeePerGas:e}}})();const a=await e.send("eth_feeHistory",[n.hexStripZeros(n.hexlify(10)),t,[15,30,45]]).then((e=>({baseFeePerGas:e.baseFeePerGas.map((e=>(0,l.wei)(e,s.br,!0))),reward:e.reward.map((e=>e.map((e=>(0,l.wei)(e,s.br,!0)))))}))),r=a.reward,c=a.baseFeePerGas.at(-1);if(!r.length)throw new Error("Error: block reward was empty");if(!c)throw new Error("Error: currentBaseFee was empty");const d=((e,t)=>{const a=[];return e.map((e=>e[t])).forEach(((e,t)=>{e.gt(5)&&a.push(t)})),a})(r,0),u=i(r,d,0),h=i(r,d,1),x=i(r,d,2),p=o(u,u.length)[u.length-1],m=o(h,h.length)[h.length-1],f=o(x,x.length)[x.length-1];if(void 0===p||void 0===m||void 0===f)throw new Error("Error: ema was undefined");const g=(0,l.wei)(Math.min(p,1),s.br),y=(0,l.wei)(Math.min(m,2),s.br),b=(0,l.wei)(Math.min(f,4),s.br),j=(e,t)=>e.mul((0,l.wei)(2,s.br)).add(t);return{average:{maxPriorityFeePerGas:g.toBN(),maxFeePerGas:j(c,g).toBN(),baseFeePerGas:c.toBN()},fast:{maxPriorityFeePerGas:y.toBN(),maxFeePerGas:j(c,y).toBN(),baseFeePerGas:c.toBN()},fastest:{maxPriorityFeePerGas:b.toBN(),maxFeePerGas:j(c,b).toBN(),baseFeePerGas:c.toBN()}}},d=async({provider:e})=>{try{return(await e.getBlock("latest")).baseFeePerGas?c(e):(async e=>{try{const t=await e.getGasPrice();return{fastest:{gasPrice:t},fast:{gasPrice:t},average:{gasPrice:t}}}catch(e){throw new Error("Could not retrieve gas price from provider")}})(e)}catch(e){throw new Error(`Could not fetch and compute network fee. ${e}`)}}},95772:(e,t,a)=>{"use strict";a.d(t,{G2:()=>i,jU:()=>l});var n=a(2784),r=a(52322);const o=(0,n.createContext)({gasSpeed:"average",setGasSpeed:()=>{}}),i=({children:e})=>{const[t,a]=(0,n.useState)("average");return(0,r.jsx)(o.Provider,{value:{gasSpeed:t,setGasSpeed:a},children:e})},l=()=>(0,n.useContext)(o)},5717:(e,t,a)=>{"use strict";a.d(t,{C:()=>i,b:()=>l});var n=a(50986),r=a(79634),o=a(76885);async function i(e){switch(e){case"cannon":return a.e(700).then(a.bind(a,70700));case"mainnet":return a.e(8984).then(a.bind(a,88984));case"goerli":return a.e(7283).then(a.bind(a,27283));case"sepolia":return a.e(3504).then(a.bind(a,13504));case"optimism-mainnet":return a.e(9492).then(a.bind(a,99492));case"optimism-goerli":return a.e(3290).then(a.bind(a,53290));case"base-goerli":return a.e(6741).then(a.bind(a,16741));default:throw new Error(`Unsupported chain ${e}`)}}function l(){const e=(0,o.LN)(),t=(0,o.yL)(),a=(0,o.mx)(),l=a||t,s=Boolean(a);return(0,r.useQuery)({queryKey:[e.name,"Multicall3",{withSigner:s}],queryFn:async function(){const{address:t,abi:a}=await i(e.name);return new n.CH(t,a,l)},enabled:Boolean(l),staleTime:1/0,cacheTime:1/0})}},89536:(e,t,a)=>{"use strict";a.d(t,{UO:()=>l});var n=a(73557),r=a(39857),o=a(2784);function i(e){const t=Object.entries(e).filter((([,e])=>void 0!==e));return Object.fromEntries(t)}const l=()=>{const e=(0,n.UO)(),[t]=(0,r.lr)();return(0,o.useMemo)((()=>{return a={...i(e),...(n=t,Object.fromEntries(Array.from(n)))},Object.fromEntries(Object.entries(a).sort((([e],[t])=>e.localeCompare(t))));var a,n}),[e,t])}},18914:(e,t,a)=>{"use strict";a.d(t,{AI:()=>h,Oh:()=>u});var n=a(79634),r=a(40109),o=a(76885),i=a(55588),l=a(30195);const s=i.rK.transform((e=>e.toString())),c=l.z.object({id:s,name:l.z.string().default("Unnamed Pool"),isPreferred:l.z.boolean()}),d=l.z.array(c);function u(){const e=(0,o.LN)(),{data:t}=(0,r.a)();return(0,n.useQuery)({enabled:Boolean(t),queryKey:[e.name,"Pools"],queryFn:async()=>{if(!t)throw"usePools is missing required data";const[e,a]=await t.callStatic.multicall([t.interface.encodeFunctionData("getPreferredPool"),t.interface.encodeFunctionData("getApprovedPools")]),[n]=t.interface.decodeFunctionResult("getPreferredPool",e),[r]=t.interface.decodeFunctionResult("getApprovedPools",a),o=[{id:n,isPreferred:!0}].concat(r.map((e=>({id:e,isPreferred:!1})))),i=(await t.callStatic.multicall(o.map((({id:e})=>t.interface.encodeFunctionData("getPoolName",[e]))))).map((e=>t.interface.decodeFunctionResult("getPoolName",e)[0])),l=o.map((({id:e,isPreferred:t},a)=>({id:e,isPreferred:t,name:i[a]})));return d.parse(l)}})}function h(e){const{isLoading:t,error:a,data:n}=u();return{isLoading:t,error:a,data:n?.find((t=>t.id===e))}}},97096:(e,t,a)=>{"use strict";a.d(t,{m:()=>h});var n=a(79929),r=a(79634),o=a(76885),i=a(50986),l=a(55588),s=a(74830),c=a(34406);const d=l.rK.transform((e=>(0,n.wei)(e))),u=["function balanceOf(address) view returns (uint256)"],h=(e,t)=>{const a=(0,o.Os)(),n=(0,o.yL)(),l=(0,o.LN)(),h=function(e){return!!e&&e.startsWith("0x")}(e)?e:void 0,x=t??l.id;return(0,r.useQuery)({queryKey:[l.name,"TokenBalance",{accountAddress:a?.address},{tokenAddress:h}],queryFn:async()=>{if(!h||!a?.address)throw Error("Query should not be enabled");const e=t&&t!==l.id?new s.J(t,c.env.NEXT_PUBLIC_INFURA_PROJECT_ID):n,r=new i.CH(h,u,e);return d.parse(await r.balanceOf(a.address))},enabled:Boolean(x&&a?.address&&h),refetchInterval:5e3})}},24269:(e,t,a)=>{"use strict";a.d(t,{a:()=>l});var n=a(50986),r=a(79634),o=a(76885);const i=Object.values(o.g5);function l(e){const t=(0,o.LN)(),l=(0,o.yL)(),s=(0,o.mx)(),c=s||(e||l),d=Boolean(s),u=i.find((t=>t.id===e?.network.chainId))?.name,h=u||t.name;return(0,r.useQuery)({queryKey:[h,"USDProxy",{withSigner:d}],queryFn:async function(){const{address:e,abi:t}=await async function(e){switch(e){case"cannon":return a.e(6414).then(a.bind(a,86414));case"mainnet":return a.e(3220).then(a.bind(a,53220));case"goerli":return a.e(5635).then(a.bind(a,55635));case"sepolia":return a.e(4669).then(a.bind(a,14669));case"optimism-mainnet":return a.e(9505).then(a.bind(a,99505));case"optimism-goerli":return a.e(3085).then(a.bind(a,43085));case"base-goerli":return a.e(6197).then(a.bind(a,86197));default:throw new Error(`Unsupported chain ${e}`)}}(h);return new n.CH(e,t,c)},enabled:Boolean(c),staleTime:1/0,cacheTime:1/0})}},47973:(e,t,a)=>{"use strict";a.d(t,{E:()=>h,a:()=>u});var n=a(76885),r=a(19299),o=a(95042),i=a(97096),l=a(50986),s=a(79634),c=a(2784);const d=["function deposit() payable","function withdraw(uint256 wad)"],u=()=>{const e=(0,n.mx)(),{data:t}=(0,r.t)("WETH"),{data:a,refetch:u}=(0,o.G)(),{data:h,refetch:x}=(0,i.m)(t?.tokenAddress),{mutateAsync:p,isLoading:m}=(0,s.useMutation)({mutationFn:async a=>{if(!t||!e)return;const n=new l.CH(t?.tokenAddress,d,e),r=await n.deposit({value:a.toBN()});await r.wait()}});return{exec:(0,c.useCallback)((async e=>{a&&(a.lt(e)||(await p(e),u(),x()))}),[a,p,u,x]),isLoading:m,wethBalance:h,ethBalance:a}},h=()=>{const e=(0,n.mx)(),{data:t}=(0,r.t)("WETH"),{data:a,refetch:u}=(0,o.G)(),{data:h,refetch:x}=(0,i.m)(t?.tokenAddress),{mutateAsync:p,isLoading:m}=(0,s.useMutation)({mutationFn:async a=>{if(!t||!e)return;const n=new l.CH(t?.tokenAddress,d,e),r=await n.withdraw(a.toBN());await r.wait()}});return{exec:(0,c.useCallback)((async e=>{h&&(h.lt(e)||(await p(e),await Promise.all([u(),x()])))}),[p,u,x,h]),isLoading:m,wethBalance:h,ethBalance:a}}},86848:(e,t,a)=>{"use strict";a.d(t,{IN:()=>f,Iy:()=>D,dI:()=>k});var n=a(99780),r=a(99268),o=a(10528),i=a(37753),l=a(49494),s=a(17123),c=a(30195),d=a(55588),u=a(42219),h=a(76885),x=a(5717);const p={};var m=a(40109);const f=["error OracleDataRequired(address oracleContract, bytes oracleQuery)","error FeeRequired(uint feeAmount)","function oracleId() view external returns (bytes32)","function fulfillOracleQuery(bytes calldata signedOffchainData) payable external"],g=(y=async(e,t,a)=>{const r=new s.O(t?u.DM:u.kw),o=c.z.tuple([c.z.number(),d.rK,c.z.array(c.z.string())]),i=n.$.decode(["uint8","uint64","bytes32[]"],e),[l,h,x]=o.parse(i);if(console.log(`[${a}] stale price for priceFeedId: ${x[0]}`),1!==l)throw new Error(`update type ${l} not supported`);const p=await r.getPriceFeedsUpdateData(x);return n.$.encode(["uint8","uint64","bytes32[]","bytes[]"],[l,h,x,p])},b=5e3,async(...e)=>{const t="no-cache"===e[e.length-1],a=t?e.slice(0,-1):e,n=JSON.stringify(a),r=Date.now();if(!t){const e=p[n];if(e&&r-e.timestamp({target:e.to,callData:e.data,value:e.value||o.O$.from(0),allowFailure:!1})))]);let l=o.O$.from(0);for(const t of e)l=l.add(t.value||o.O$.from(0));return{from:t,to:a,data:i,value:l}}const w=(e,t,a,n)=>{const i=new r.vU(n).encodeFunctionData("multicall",[e.map((e=>e.data))]);let l=o.O$.from(0);for(const t of e)l=l.add(t.value||o.O$.from(0));return{from:t,to:a,data:i,value:l}},C=c.z.union([c.z.object({name:c.z.literal("OracleDataRequired"),args:c.z.tuple([c.z.string(),c.z.string()])}),c.z.object({name:c.z.literal("FeeRequired"),args:c.z.tuple([d.rK])})]),v=new r.vU(f),S=async(e,t)=>{let a=e.data||e.error?.data?.data||e.error?.error?.data;if(!a)try{console.log("Error is missing revert data, trying provider.call, instead of estimate gas..");a=await t.call(e.transaction)}catch(t){console.log("provider.call(error.transaction) failed, trying to extract error"),a=e.data||e.error?.data?.data||e.error?.error?.data,console.log("Error data: ",a)}try{const e=v.parseError(a);return C.parse(e)}catch(t){throw console.error("Error is not a ERC7412 error, re-throwing original error, for better parsing. Parse error reason: ",t),e}},A=e=>{switch(e){case"cannon":case"optimism-mainnet":case"optimism-goerli":case"base-goerli":return"0x4200000000000000000000000000000000000006";case"mainnet":return"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";case"goerli":return"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6";case"sepolia":return"0x7b79995e5f793a07bc00c21412e50ecae098e7f9";default:throw new Error(`Unsupported chain ${e}`)}},k=async(e,t,a)=>{const n=Array.isArray(t)?t.length:1;let s=[t].flat();if(s.some((e=>!e.to)))throw Error("Make sure all txs have 'to' field set");if(s.some((e=>!e.from)))throw Error("Make sure all txs have 'from' field set");const c=s[0].from,{chainId:d}=await e.getNetwork(),u=Object.values(h.g5).find((e=>e.id===d)),p=u?.name||"mainnet",y=new i.r(u?.rpcUrl),b=c===A(p),C=u?.isTestnet||!1,v=!(h.RG[p]||!1)&&!b,{address:k,abi:D}=v?await(0,m.k)(u?.name||"mainnet"):await(0,x.C)(u?.name||"mainnet");for(;;)try{if(1==s.length){const e=s[0],t=await y.estimateGas(e);return console.log("Estimated gas succeeded, with no price updates"),{...e,gasLimit:t}}const e=v?w(s,c,k,D):j(s,c,k,D),t=await y.estimateGas(e);return console.log(`[${a}] Estimated gas succeeded, with ${s.length-n} price updates`),{...e,gasLimit:t}}catch(e){const t=await S(e,y);if("OracleDataRequired"===t.name){const[e,i]=t.args,d=!b,u=await g(i,C,a||"",d?"no-cache":void 0),h={from:c,to:e,data:new r.vU(f).encodeFunctionData("fulfillOracleQuery",[u]),value:b?l.fi("0.1"):o.O$.from(0)};s.splice(s.length-n,0,h)}else{if("FeeRequired"!==t.name)throw e;{const e=t.args[0],a=s.find((({value:t})=>e.gt(t||0)));if(void 0===a)throw Error(`Didn't find any tx with a value less than the required fee ${s}`);a.value=e}}}};async function D(e,t,a,n){const{chainId:o}=await e.getNetwork(),l=Object.values(h.g5).find((e=>e.id===o)),{address:s,abi:c}=await(0,x.C)(l?.name||"mainnet"),d=[t].flat();for(const e of d)e.from=A(l?.name||"mainnet");const u=new i.r(l?.rpcUrl),p=await k(u,d,n),m=await e.call(p);if(p.to===s){return a(new r.vU(c).decodeFunctionResult("aggregate3Value",m)[0].filter((({returnData:e})=>"0x"!==e)).map((({returnData:e})=>e)))}return a(m)}},55588:(e,t,a)=>{"use strict";a.d(t,{Rx:()=>l,LW:()=>s,rK:()=>i});var n=a(10528),r=a(30195),o=a(79929);const i=r.z.custom((e=>n.O$.isBigNumber(e))),l=i.transform((e=>(0,o.wei)(e,0).toNumber())),s=i.transform((e=>(0,o.wei)(e)))},78267:(e,t,a)=>{"use strict";a.r(t),a.d(t,{bootstrap:()=>ar});var n=a(17029),r=a(2784),o=a(39857),i=a(50019),l=a(17150),s=a(84586),c=a(74465),d=a(39279);const u={"green-cyan":{500:"linear(to-tr, green.500, cyan.500)",600:"linear(to-tr, green.600, cyan.600)",700:"linear(to-tr, green.700, cyan.800)"},grey:{900:"linear(to-tr, grey.900, blackAlpha.900)"},dark:{500:"linear(to-tr, #171923, #141414)"},"pink-purple":{500:"linear(to-tr, pink.500, purple.500)",600:"linear(to-tr, pink.600, purple.600)",700:"linear(to-tr, pink.700, purple.800)"},"pink-blue":{500:"linear(to-tr, pink.500, blue.500)",600:"linear(to-tr, pink.600, blue.600)",700:"linear(to-tr, pink.700, blue.800)"},"pink-cyan":{500:"linear(to-tr, pink.500, cyan.500)",600:"linear(to-tr, pink.600, cyan.600)",700:"linear(to-tr, pink.700, cyan.800)"},orange:{500:"linear(to-tr, orange.500, orange.300)",600:"linear(to-tr, orange.600, orange.400)",700:"linear(to-tr, orange.700, orange.500)"}},h={defaultProps:{colorScheme:"cyan"},variants:{solid:(0,s.k0)((e=>{const{colorScheme:t}=e;if("gray"===t){const t=(0,d.x)("gray.100","whiteAlpha.200")(e);return{color:(0,d.x)("black","whiteAlpha.900")(e),bg:t,_hover:{bg:(0,d.x)("gray.200","whiteAlpha.300")(e),_disabled:{bg:t}},_active:{bg:(0,d.x)("gray.300","whiteAlpha.400")(e)}}}if("cyan"===t)return{bgGradient:u["green-cyan"][500],color:"black",_hover:{bgGradient:u["green-cyan"][600],_disabled:{background:u["green-cyan"][500]}},_active:{bgGradient:u["green-cyan"][700]}};const a=`${t}.500`,n=`${t}.600`,r=`${t}.700`,o=(0,d.x)(a,`${t}.600`)(e);return{bg:o,color:(0,d.x)("white","white")(e),_hover:{bg:(0,d.x)(n,`${t}.500`)(e),_disabled:{bg:o}},_active:{bg:(0,d.x)(r,`${t}.400`)(e)}}})),outline:e=>"gray"===e.colorScheme?{color:"whiteAlpha.800",borderColor:"gray.900",_hover:{bg:"rgba(255, 255, 255, 0.12)"},_active:{bg:"rgba(255, 255, 255, 0.24)"}}:{color:"cyan.500",border:"1px solid",borderColor:"cyan.500",_hover:{bg:"rgb(0, 209, 255, 0.12)"},_active:{bg:"rgb(0, 209, 255, 0.24)"}},ghost:{color:"cyan.500",_hover:{bg:"rgb(0, 209, 255, 0.12)"},_active:{bg:"rgb(0, 209, 255, 0.24)"}}}},x=(0,c.B1)({useSystemColorMode:!1,initialColorMode:"dark",colors:{gray:{50:"#F6F6F6",100:"#F1F1F1",200:"#DDDDDF",300:"#C3C3C9",400:"#AAAAB2",500:"#91919B",600:"#7A7A85",700:"#63636E",800:"#4D4D57",900:"#303037"},red:{50:"#FFEDEF",100:"#FFC4CB",200:"#FF9BA7",300:"#FF7384",400:"#FF4A60",500:"#E4364B",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFF3EB",100:"#FFD8BE",200:"#FFBE92",300:"#FFA365",400:"#FF9A54",500:"#FC8738",600:"#DC732D",700:"#96420A",800:"#743002",900:"#522100"},yellow:{50:"#FFFBEF",100:"#FFF2CA",200:"#FFF5A8",300:"#FFF889",400:"#FFF458",500:"#FAE527",600:"#EAD516",700:"#B5932B",800:"#776017",900:"#55430D"},green:{50:"#EDFFF9",100:"#C3FFEC",200:"#9AE6B4",300:"#72FFD3",400:"#47FAC2",500:"#34EDB3",600:"#2BD39F",700:"#11946B",800:"#077250",900:"#015037"},blue:{50:"#EDF6FF",100:"#C4E2FF",200:"#9CCFFF",300:"#73BBFF",400:"#479EF0",500:"#3182CE",600:"#1F68AC",700:"#11508A",800:"#073968",900:"#012546"},cyan:{50:"#E5FAFF",100:"#B7F2FF",200:"#8AEAFF",300:"#5CE1FF",400:"#2ED9FF",500:"#00D1FF",600:"#00B0D6",700:"#008EAD",800:"#006D85",900:"#004B5C"},purple:{50:"#F0EEFF",100:"#CFC9FF",200:"#AEA4FF",300:"#8D7EFF",400:"#6B59FF",500:"#5744EA",600:"#402FC8",700:"#2D1EA6",800:"#1D1084",900:"#10104E"},pink:{50:"#FDE8FF",100:"#F9B6FF",200:"#F583FF",300:"#F471FF",400:"#EB46FF",500:"#EE2EFF",600:"#BE02CE",700:"#8D0099",800:"#6E0077",900:"#4E0055"},navy:{50:"#522ED1",100:"#401FB7",200:"#3719A6",300:"#2F1298",400:"#1F0777",500:"#150942",600:"#0E052F",700:"#0B0B22",800:"#0A0A25",900:"#06061B"},error:"#FF4A60",success:"#34EDB3",warning:"#FC8738"},shadows:{outline:"0 0 0 3px rgba(0, 209, 255, 1)"},fonts:{heading:'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',display:'"GT America Condensed", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'"GT America Mono", SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},components:{Popover:{variants:{responsive:{popper:{maxWidth:"unset",width:"unset"}}}},Button:h,Input:{defaultProps:{focusBorderColor:"cyan.500",errorBorderColor:"red.500"}},Select:{defaultProps:{focusBorderColor:"cyan.500",iconColor:"cyan.500",errorBorderColor:"red.500"}},NumberInput:{defaultProps:{focusBorderColor:"cyan.500",errorBorderColor:"red.500"}},Alert:{defaultProps:{variant:"left-accent"},variants:{"left-accent":e=>({container:{bg:`${e.colorScheme}.900`,borderInlineStartColor:`${e.colorScheme}.500`}}),solid:e=>({icon:{color:"white"},container:{bg:`${e.colorScheme}.500`,color:"white"}})}},Textarea:{defaultProps:{focusBorderColor:"cyan.500",colorScheme:"cyan",errorBorderColor:"red.500"}},Skeleton:{defaultProps:{startColor:"gray.900",endColor:"gray.800"}},Checkbox:{defaultProps:{colorScheme:"cyan"},baseStyle:{control:{borderColor:"cyan.500",_checked:{bg:"cyan.500",borderColor:"cyan.500",_hover:{bg:"cyan.600",borderColor:"cyan.600"}},_invalid:{borderColor:"red.500"},_disabled:{_hover:{borderColor:"transparent"}},_hover:{borderColor:"cyan.600"}}}},Radio:{defaultProps:{colorScheme:"cyan"},baseStyle:{control:{borderColor:"cyan.500",_checked:{bg:"cyan.500",borderColor:"cyan.500",_hover:{bg:"cyan.600",borderColor:"cyan.600"}},_invalid:{borderColor:"red.500"},_disabled:{_hover:{borderColor:"transparent"}},_hover:{borderColor:"cyan.600"}}}},Badge:{defaultProps:{colorScheme:"cyan"},variants:{subtle:e=>({color:`${e.colorScheme}.500`}),solid:e=>({background:`${e.colorScheme}.500`,color:"black"}),outline:e=>({borderColor:`${e.colorScheme}.500`,color:`${e.colorScheme}.500`}),percent:{color:"cyan.500",bg:"whiteAlpha.300",fontFamily:"heading",py:1,px:2,borderRadius:"base",borderWidth:"1px",borderColor:"transparent",width:"100%",textAlign:"center",userSelect:"none"}}},Tag:{defaultProps:{colorScheme:"cyan",variant:"solid"},variants:{solid:e=>({container:{background:`${e.colorScheme}.500`,color:"black"}})}},Accordion:{baseStyle:{container:{borderColor:"gray.900",borderWidth:"1px",borderRadius:"base"}}},Progress:{defaultProps:{colorScheme:"cyan",variant:"solid",borderRadius:"full"},variants:{solid:e=>({filledTrack:{background:`${e.colorScheme}.500`,borderRadius:"full"},track:{borderRadius:"full"}})}},Tabs:{defaultProps:{colorScheme:"cyan"},variants:{"solid-rounded":e=>({tab:{_selected:{background:`${e.colorScheme}.500`,color:"black"},color:`${e.colorScheme}.500`}}),"soft-rounded":{tab:{_selected:{background:"whiteAlpha.300",color:"cyan.500"},color:"cyan.500"}}}},Tooltip:{baseStyle:{textAlign:"center",bg:"gray.900",color:"white.500","--popper-arrow-bg":"var(--chakra-colors-gray-900)"}},Switch:{defaultProps:{colorScheme:"cyan"},baseStyle:{track:{_checked:{background:"cyan.500"}}}},Spinner:{baseStyle:{color:"cyan.500"}},Menu:{parts:["button","list","item"],baseStyle:{button:{color:"white",span:{display:"flex",alignItems:"center",px:2},height:"100%"},list:{mt:2,bgColor:"navy.900",padding:0,border:"none",borderRadius:"md",py:0},item:{bgColor:"blackAlpha.300",color:"whiteAlpha.900",p:3,_hover:{bgColor:"whiteAlpha.400"},_active:{bgColor:"navy.900"},_first:{borderTopLeftRadius:"md",borderTopRightRadius:"md"},_last:{borderBottomLeftRadius:"md",borderBottomRightRadius:"md"},_focus:{bgColor:"blackAlpha.400"}}}}},gradients:u,textStyles:{"heading-4xl":{fontSize:{base:"60px",lg:"72px"},fontFamily:"heading",lineHeight:{base:"57.6px",lg:"72px"},fontWeight:700},"heading-3xl":{fontSize:{base:"48px",md:"60px"},fontFamily:"heading",lineHeight:{base:"57.6px",md:"72px",lg:"60px"},fontWeight:700},"heading-2xl":{fontSize:{base:"36px",md:"48px"},fontFamily:"heading",lineHeight:{base:"120%"},fontWeight:700},"heading-xl":{fontSize:{base:"30px",lg:"36px"},fontFamily:"heading",lineHeight:{base:"36px",lg:"120%"},fontWeight:700},"heading-lg":{fontSize:{base:"24px",lg:"30px"},fontFamily:"heading",lineHeight:{base:"28.8px",lg:"36px"},fontWeight:700},"heading-md":{fontSize:{base:"20px",lg:"24px"},fontFamily:"heading",lineHeight:"24px",fontWeight:700},"heading-sm":{fontSize:"16px",fontFamily:"heading",lineHeight:"19.2px",fontWeight:700},"heading-xs":{fontSize:"14px",fontFamily:"heading",lineHeight:"16.8px",fontWeight:700}},sizes:{px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem",max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",container:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px"}},styles:{global:{body:{bg:"navy.900"}}}});var p=a(28165),m=a(52322);const f=()=>(0,m.jsx)(p.xB,{styles:"\n @import url('https://fonts.googleapis.com/css2?family=Inter:wght@200..700&display=swap');\n @font-face {\n font-family: 'GT America Condensed';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold.woff2') format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold.woff') format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold.otf') format('opentype');\n }\n @font-face {\n font-family: 'GT America Condensed';\n font-style: italic;\n font-display: swap;\n font-weight: 700;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold%20Italic.woff2')\n format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold%20Italic.woff')\n format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold%20Italic.otf')\n format('opentype');\n }\n @font-face {\n font-family: 'GT America Condensed';\n font-style: normal;\n font-display: swap;\n font-weight: 100;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin.woff2') format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin.woff') format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin.otf') format('opentype');\n }\n @font-face {\n font-family: 'GT America Condensed';\n font-style: italic;\n font-display: swap;\n font-weight: 100;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin%20Italic.woff2')\n format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin%20Italic.woff')\n format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin%20Italic.otf')\n format('opentype');\n }\n @font-face {\n font-family: 'GT America Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: local('GT America Mono'),\n url('https://fonts.synthetix.io/GT%20America%20Mono%20Bold.woff2') format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Mono%20Bold.woff') format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Mono%20Bold.otf') format('opentype');\n }\n @font-face {\n font-family: 'Lustra Text';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: local('Lustra Text'),\n url('https://fonts.synthetix.io/Lustra%20Text%20Thin.otf') format('opentype');\n }\n "});var g=a(42219),y=a(79634),b=a(92223),j=a(95772),w=a(76885),C=a(66901),v=a(26468),S=a(19433),A=a(54326),k=a(97217),D=a(59176),I=a(28535),T=a(9312),F=a(11082),L=a(84626);const M=({defaultOpen:e=!0})=>{const[t,a]=(0,r.useState)(e),[n,i]=(0,r.useState)(!1);return(0,m.jsxs)(C.u_,{isOpen:t,onClose:()=>{},children:[(0,m.jsx)(v.Z,{}),(0,m.jsxs)(S.h,{bgGradient:x.gradients.dark[500],pt:"10",pb:"3",borderWidth:"1px",borderColor:"gray.900","data-testid":"transaction modal",children:[(0,m.jsx)(A.x,{py:0,textAlign:"center",children:"Synthetix Terms of Service"}),(0,m.jsxs)(k.f,{fontSize:"xs",color:"gray.600",children:[(0,m.jsx)(D.x,{fontSize:"sm",children:"By clicking “I Agree” below, you agree to be bound by the terms of this Agreement. As such, you fully understand that:"}),(0,m.jsx)(I.xu,{onScroll:e=>{const t=e.currentTarget;t.scrollTop+10>=t.scrollHeight-t.offsetHeight?i(!0):i(!1)},as:"div",my:2,py:3,height:"350px",overflow:"auto",overflowX:"scroll",sx:{"::-webkit-scrollbar":{display:"block"},"::-webkit-scrollbar-track":{backgroundColor:"transparent"},"::-webkit-scrollbar-track-piece":{backgroundColor:"transparent"},"::-webkit-scrollbar-corner":{backgroundColor:"transparent"}},children:(0,m.jsx)(T.QI,{children:(0,m.jsxs)(D.x,{fontSize:"14px",children:[(0,m.jsxs)(T.HC,{children:[(0,m.jsxs)(F.r,{href:"https://synthetix.io/",target:"_blank",color:"cyan.500",_focusVisible:{outline:"none"},children:["Synthetix"," "]}),"is a blockchain-based decentralized finance project. You are participating at your own risk."]}),(0,m.jsx)(T.HC,{mt:2,children:"Synthetix is offered for use “as is” and without any guarantees regarding security. The protocol is made up of immutable code and can be accessed through a variety of user interfaces."}),(0,m.jsx)(T.HC,{mt:2,children:"No central entity operates the Synthetix protocol. Decisions related to the protocol are governed by a dispersed group of participants who collectively govern and maintain the protocol."}),(0,m.jsx)(T.HC,{mt:2,children:"Synthetix DAO does not unilaterally offer, maintain, operate, administer, or control any trading interfaces. The only user interfaces maintained by Synthetix DAO are the governance and liquidity interfaces herein."}),(0,m.jsxs)(T.HC,{mt:2,children:["You can participate in the governance process by staking SNX tokens in accordance with the rules and parameters summarized"," ",(0,m.jsx)(F.r,{href:"https://governance.synthetix.io/",target:"_blank",color:"cyan.500",_focusVisible:{outline:"none"},children:"here"}),", and/or joining the"," ",(0,m.jsx)(F.r,{color:"cyan.500",target:"_blank",href:"https://discord.com/invite/AEdUHzt",_focusVisible:{outline:"none"},children:"Synthetix Discord"})," ","and contributing to the conversation."]}),(0,m.jsx)(T.HC,{mt:2,children:"The rules and parameters associated with the Synthetix protocol and Synthetix DAO governance are subject to change at any time."}),(0,m.jsxs)(T.HC,{mt:2,children:["Your use of Synthetix is conditioned upon your acceptance to be bound by the Synthetix Term of Use, which can be found"," ",(0,m.jsx)(F.r,{as:o.rU,to:"/terms",target:"_blank",color:"cyan.500",_focusVisible:{outline:"none"},children:"here"}),"."]}),(0,m.jsx)(T.HC,{mt:2,children:"The laws that apply to your use of Synthetix may vary based upon the jurisdiction in which you are located. We strongly encourage you to speak with legal counsel in your jurisdiction if you have any questions regarding your use of Synthetix."}),(0,m.jsx)(T.HC,{mt:2,children:"By entering into this agreement, you are not agreeing to enter into a partnership. You understand that Synthetix is a decentralized protocol provided on an “as is” basis."}),(0,m.jsx)(T.HC,{mt:2,children:"You hereby release all present and future claims against Synthetix DAO related to your use of the protocol, the SNX token, SNX DAO governance, and any other facet of the protocol."}),(0,m.jsx)(T.HC,{mt:2,children:"You agree to indemnify and hold harmless SNX DAO and its affiliates for any costs arising out of or relating to your use of the Synthetix protocol."}),(0,m.jsx)(T.HC,{mt:2,children:"You are not accessing the protocol from Burma (Myanmar), Cuba, Iran, Sudan, Syria, the Western Balkans, Belarus, Côte d’Ivoire, Democratic Republic of the Congo, Iraq, Lebanon, Liberia, Libya, North Korea, Russia, certain sanctioned areas of Ukraine, Somalia, Venezuela, Yemen, or Zimbabwe (collectively, “Prohibited Jurisdictions”), or any other jurisdiction listed as a Specially Designated National by the United States Office of Foreign Asset Control (“OFAC”)."})]})})})]}),(0,m.jsx)(L.z,{variant:"outline",_focusVisible:{outline:"none"},my:4,mx:6,onClick:()=>{n&&(sessionStorage.setItem(g.sO.TERMS_CONDITIONS_ACCEPTED,JSON.stringify(!0)),a(!1))},isDisabled:!n,children:"I agree"})]})]})};var z=a(73557),N=a(81540),E=a(38035),P=a(17190);function B(){return(0,m.jsxs)(I.xu,{textAlign:"center",fontSize:"xs",p:"1",background:"whiteAlpha.200",mt:"4",children:["This is an experimental prototype for Synthetix V3. Provide feedback in"," ",(0,m.jsx)("a",{rel:"noreferrer",target:"_blank",href:"https://discord.gg/ngpjqNWW",children:(0,m.jsx)("u",{children:"#synthetix-v3"})})," ","on Discord. View on"," ",(0,m.jsx)("a",{rel:"noreferrer",target:"_blank",href:"https://github.com/Synthetixio/synthetix-v3",children:(0,m.jsx)("u",{children:"GitHub"})}),"."]})}var O=a(27234),_=a(10625),H=a(67046),R=a(99058),q=a(17383),U=a(14921),$=a(96596);function W(){const e=(0,w.Os)(),t=(0,w.LN)(),a=(0,w.fn)();return(0,m.jsxs)(E.k,{children:[(0,m.jsx)(_.v,{children:({isOpen:e})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(H.j,{as:L.z,variant:"outline",colorScheme:"gray",sx:{"> span":{display:"flex",alignItems:"center"}},mr:1,children:[(0,m.jsx)(t.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",fontSize:"sm",fontWeight:700,ml:1.5,mr:2,display:{base:"none",md:"initial"},children:t.label}),(0,m.jsx)(E.k,{display:{base:"none",md:"initial"},children:e?(0,m.jsx)(U.Kh,{color:"cyan"}):(0,m.jsx)(U._M,{color:"cyan.500"})})]}),(0,m.jsx)(R.q,{children:Object.values(w.g5).filter((e=>e.isSupported)).map((e=>(0,m.jsxs)(q.s,{disabled:!e.isSupported,onClick:()=>a(e),children:[(0,m.jsx)(e.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",ml:2,children:e.label})]},e.name)))})]})}),e?(0,m.jsxs)(_.v,{children:[(0,m.jsxs)(H.j,{as:L.z,variant:"outline",colorScheme:"gray",ml:2,height:10,py:"6px",px:"9.5px",whiteSpace:"nowrap",children:[(0,m.jsx)(U.o,{}),(0,m.jsx)(D.x,{as:"span",ml:1,color:"whiteAlpha.800",fontWeight:700,fontSize:"xs",userSelect:"none",children:e.ens?.name||(0,$.i_)(e.address)})]}),(0,m.jsxs)(R.q,{children:[(0,m.jsx)(q.s,{onClick:()=>{try{navigator.clipboard.writeText(e?.address)}catch(e){}},children:(0,m.jsx)(D.x,{variant:"nav",ml:2,children:"Copy address"})}),(0,m.jsx)(q.s,{onClick:w.zP,children:(0,m.jsx)(D.x,{variant:"nav",ml:2,children:"Disconnect"})})]})]}):(0,m.jsx)(L.z,{onClick:()=>w.IE.connectWallet(),type:"button",size:"sm",ml:2,py:5,"data-testid":"connect-wallet-button",children:"Connect Wallet"})]})}var V=a(26284),G=a(56317),Z=a(78071),Q=a(50986);function K(){const e=(0,w.LN)(),t=(0,w.yL)(),n=(0,w.mx)(),r=n||t,o=Boolean(n);return(0,y.useQuery)({queryKey:[e.name,"AccountProxy",{withSigner:o}],queryFn:async function(){const{address:t,abi:n}=await async function(e){switch(e){case"cannon":return a.e(9707).then(a.bind(a,29707));case"mainnet":return a.e(2789).then(a.bind(a,82789));case"goerli":return a.e(5106).then(a.bind(a,95106));case"sepolia":return a.e(6775).then(a.bind(a,86775));case"optimism-mainnet":return a.e(5996).then(a.bind(a,75996));case"optimism-goerli":return a.e(938).then(a.bind(a,40938));case"base-goerli":return a.e(4078).then(a.bind(a,4078));default:throw new Error(`Unsupported chain ${e}`)}}(e.name);return new Q.CH(t,n,r)},enabled:Boolean(e.isSupported&&r),staleTime:1/0,cacheTime:1/0})}var Y=a(40109);function X(){const e=(0,w.Os)(),{data:t}=K(),a=(0,w.LN)();return(0,y.useQuery)({queryKey:[a.name,"Accounts",{accountAddress:e?.address}],queryFn:async function(){if(!t||!e?.address)throw new Error("Should be disabled");const a=await t.balanceOf(e.address);if(a.eq(0))return[];const n=Array.from(Array(a.toNumber()).keys());return(await Promise.all(n.map((async a=>{if(!e?.address)throw new Error("OMG!");return await t.tokenOfOwnerByIndex(e.address,a)})))).map((e=>e.toString()))},enabled:Boolean(t?.address&&e?.address),placeholderData:[]})}var J=a(89536);function ee({accountId:e,isLoading:t,createAccount:a}){const{onCopy:n}=(0,V.V)(e||"");return(0,m.jsx)(m.Fragment,{children:t?(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",children:(0,m.jsx)(D.x,{children:"Loading..."})}):(0,m.jsx)(Z.p,{in:!t,children:(0,m.jsx)(L.z,{size:"sm",borderRadius:"4px",height:"40px",as:L.z,variant:"outline",w:"100%",maxW:"180px","data-testid":"current account id","data-account-id":e,onClick:e?n:()=>a(),children:(e?`Account #${(0,$.i_)(e,3,3)}`:"Create Account")+" "})})})}function te(){const e=(0,J.UO)(),{data:t,isLoading:a,isFetching:n}=X(),{mutate:o,isLoading:i,data:l}=function(){const{data:e}=(0,Y.a)();return(0,y.useMutation)({mutationFn:async function(){try{if(!e)throw new Error("CoreProxy undefined");const t=await e["createAccount()"]();let a;return(await t.wait()).logs.forEach((t=>{if(t.topics[0]===e.interface.getEventTopic("AccountCreated")){const n=e.interface.decodeEventLog("AccountCreated",t.data,t.topics)?.accountId;a=n?.toString()}})),[a]}catch(e){throw console.error(e),e}}})}();!function(){const e=X(),t=(0,z.s0)(),a=(0,z.TH)(),n=(0,r.useMemo)((()=>new URLSearchParams(a.search)),[a.search]);(0,r.useEffect)((()=>{const r=n.get("accountId")||void 0;if(e.isFetched&&e.data&&e.data.length>0)return void(r&&e.data.includes(r)||(n.set("accountId",e.data[0]),t({pathname:a.pathname,search:n.toString()},{replace:!0})));const{wallets:o}=w.IE.state.get();(o.length<1||e.isFetched&&(!e.data||e.data.length<1))&&r&&(n.delete("accountId"),t({pathname:a.pathname,search:n.toString()},{replace:!0}))}),[e.data,e.isFetched,t,a.pathname,n])}();const s=a||n||i||!t,c=l?l[0]:t?.includes(e?.accountId||"")?e.accountId:t?.[0];return(0,m.jsx)(ee,{isLoading:s,createAccount:o,accountId:c})}function ae(){const{onClose:e}=(0,O.q)(),t=(0,z.TH)();return(0,r.useEffect)((()=>{e()}),[t,e]),(0,m.jsx)(m.Fragment,{children:(0,m.jsx)(E.k,{mb:"8",py:"4",bg:"navy.900",borderBottomWidth:"1px",borderBottomColor:"gray.900",children:(0,m.jsxs)(P.W,{maxW:"1024px",as:E.k,justifyContent:"space-between",alignItems:"center",children:[(0,m.jsx)(I.xu,{display:{base:"none",md:"inline-block"},children:(0,m.jsx)(F.r,{to:{pathname:"/"},as:o.rU,py:4,pr:2,children:(0,m.jsx)(U.TR,{})})}),(0,m.jsx)(I.xu,{display:{md:"none"},children:(0,m.jsx)(F.r,{to:"/",as:o.rU,py:4,pr:2,children:(0,m.jsx)(U.K7,{})})}),(0,m.jsxs)(E.k,{justifyContent:"center",alignItems:"center",children:[(0,m.jsx)(I.xu,{display:{base:"none",md:"inline-block"},mr:3,children:(0,m.jsx)(te,{})}),(0,m.jsx)(W,{})]})]})})})}const ne=()=>(0,m.jsxs)(I.xu,{as:"main",minHeight:"100vh",color:"rgba(255,255,255,0.85)",display:"flex",flexDirection:"column",bg:"navy.900",children:[(0,m.jsxs)(E.k,{flex:"1",flexDirection:"column",children:[(0,m.jsx)(ae,{}),(0,m.jsx)(P.W,{display:"flex",flexDir:"column",maxW:"1024px",flex:"1",children:(0,m.jsx)(z.j3,{})})]}),(0,m.jsx)(B,{})]});var re=a(18671),oe=a(80774),ie=a(79443),le=a(74409),se=a(70189),ce=a(78534),de=a(5832),ue=a(66983),he=a(16060),xe=a(19299),pe=a(45071),me=a(79929),fe=a.n(me);const ge=e=>e?.configurations.reduce(((e,{market:t})=>e.add(t.pnl)),(0,me.wei)(0)),ye=e=>{const t=ge(e),a=e?.configurations.reduce(((e,{market:t})=>e.add(t.market_snapshots_by_week[1]?.pnl||(0,me.wei)(0))),(0,me.wei)(0));if(t&&a)return{value:t.sub(a),growthPercentage:a.eq(0)?void 0:t.sub(a).div(a.abs())}},be=(e,t)=>e.eq(0)||t.eq(0)?(0,me.wei)(0):t.div(e);function je({collateralType:e,liquidityPosition:t,poolId:a,isConnected:n,openConnectModal:r}){const i=(0,z.TH)(),l=be(t?.debt||(0,me.wei)(0),t?.collateralValue||(0,me.wei)(0)),s=t&&t.collateralAmount.gt(0);return(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)(ie.Td,{children:(0,m.jsxs)(E.k,{flexDir:"row",py:4,children:[(0,m.jsx)(U.l6,{width:"40px",height:"40px",symbol:e.symbol}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"center",ml:2,children:[(0,m.jsx)(D.x,{fontSize:"sm",lineHeight:"20px",fontWeight:"500",children:t?.collateralValue.gt(0)?(0,m.jsx)(pe.$,{value:t.collateralValue,prefix:"$"}):"-"}),(0,m.jsxs)(D.x,{fontSize:"xs",color:"gray.500",children:[t?.collateralAmount.gt(0)&&(0,m.jsx)(pe.$,{value:t.collateralAmount})," ",e.symbol]})]})]})}),(0,m.jsx)(ie.Td,{children:t?.debt.gt(0)?(0,m.jsx)(pe.$,{value:t.debt,prefix:"$"}):"-"}),(0,m.jsx)(ie.Td,{children:l.gt(0)?(0,m.jsx)(pe.$,{value:l.mul(100),suffix:"%"}):"-"}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(pe.$,{value:e.issuanceRatioD18.mul(100),suffix:"%"})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(pe.$,{value:e.liquidationRatioD18.mul(100),suffix:"%"})}),(0,m.jsxs)(ie.Td,{textAlign:"end",children:[n&&s?(0,m.jsx)(L.z,{as:o.rU,to:{pathname:(0,he.Gn)("/positions/:collateralSymbol/:poolId",{poolId:a,collateralSymbol:e.symbol}),search:i.search},children:"Manage"}):null,n&&!s?(0,m.jsx)(L.z,{as:o.rU,to:{pathname:(0,he.Gn)("/deposit/:collateralSymbol/:poolId",{poolId:a,collateralSymbol:e.symbol}),search:i.search},children:"Deposit"}):null,!n&&r?(0,m.jsx)(L.z,{onClick:r,children:"Connect"}):null]})]})}const we=({collateralType:e,poolId:t,liquidityPosition:a})=>{const n=(0,w.T9)();return(0,m.jsx)(je,{collateralType:e,liquidityPosition:a,poolId:t,isConnected:n,openConnectModal:()=>w.IE.connectWallet()})};var Ce=a(18914);const ve=e=>(0,m.jsx)(E.k,{bg:"navy.900",borderWidth:"1px",borderColor:"gray.900",borderRadius:"base",...e});a(18423);var Se=a(55588),Ae=a(30195),ke=a(86848);const De=Se.rK.transform((e=>(0,me.wei)(e)));async function Ie({CoreProxy:e,collateralAddresses:t}){const a=await Promise.all(t.map((t=>e.populateTransaction.getCollateralPrice(t))));if(0===a.length)return{calls:[],decoder:()=>[]};return{calls:a,decoder:t=>{if(Array.isArray(t))return t.map((t=>{const a=e.interface.decodeFunctionResult("getCollateralPrice",t)[0];return De.parse(a)}));throw Error("Expected array got: "+typeof t)}}}const Te=async({accountId:e,tokenAddresses:t,CoreProxy:a})=>{const n=t.flatMap((t=>[a.populateTransaction.getAccountAvailableCollateral(e,t),a.populateTransaction.getAccountCollateral(e,t)]));return{decoder:e=>{if(!Array.isArray(e))throw Error("Expected array");return t.map(((t,n)=>{const[r]=a.interface.decodeFunctionResult("getAccountAvailableCollateral",e[2*n]),{totalAssigned:o,totalDeposited:i,totalLocked:l}=a.interface.decodeFunctionResult("getAccountCollateral",e[2*n+1]);return{tokenAddress:t,availableCollateral:(0,me.wei)(r),totalAssigned:(0,me.wei)(o),totalDeposited:(0,me.wei)(i),totalLocked:(0,me.wei)(l)}}))},calls:await Promise.all(n)}};function Fe({accountId:e,includeDelegationOff:t}){const{data:a}=(0,Y.a)(),n=(0,w.LN)(),r=(0,xe.T)(t),o=r.data?.map((e=>e.tokenAddress))??[];return(0,y.useQuery)({queryKey:[n.name,{accountId:e},"AccountCollateral",{tokens:o}],enabled:Boolean(a&&e&&o.length>0),queryFn:async function(){if(!a||!e||o.length<1)throw"useAccountCollateral should be disabled";const{calls:t,decoder:n}=await Te({accountId:e,tokenAddresses:o,CoreProxy:a});return(await(0,ke.Iy)(a.provider,t,n,"useAccountCollateral")).map((e=>({...e,symbol:r.data?.find((t=>t.tokenAddress===e.tokenAddress))?.symbol??""})))}})}var Le=a(42614),Me=a(95522),ze=a(24269);const Ne=Ae.z.object({value:Se.rK.transform((e=>(0,me.wei)(e))).optional(),amount:Se.rK.transform((e=>(0,me.wei)(e)))}),Ee=Se.rK.transform((e=>(0,me.wei)(e))),Pe=async({CoreProxy:e,accountId:t,poolId:a,tokenAddress:n})=>({calls:await Promise.all([e.populateTransaction.getPositionCollateral(t,a,n),e.populateTransaction.getPositionDebt(t,a,n)]),decoder:t=>{if(Array.isArray(t)&&2===t.length){const a=e.interface.decodeFunctionResult("getPositionCollateral",t[0]),n=e.interface.decodeFunctionResult("getPositionDebt",t[1])[0];return{debt:Ee.parse(n),collateral:Ne.parse({...a})}}throw Error("Expected array with two items")}});function Be(e,t){return t.reduce(((t,a)=>(t[a[e]]=a,t)),{})}const Oe=({accountId:e})=>{const{data:t}=(0,Y.a)(),{data:a}=(0,Ce.Oh)(),{data:n}=(0,xe.T)(),{data:r}=(0,Le.L)(),o=(0,w.LN)();return(0,y.useQuery)({queryKey:[o.name,{accountId:e},"LiquidityPositions",{pools:a?a.map((e=>e.id)).sort():[],tokens:n?n.map((e=>e.tokenAddress)).sort():[],collateralPriceUpdatesLength:r?.length}],queryFn:async()=>{if(!(a&&n&&t&&e&&r))throw Error("Query should not be enabled");const i=(await Promise.all(a.map((async({id:a,name:r})=>Promise.all(n.map((async n=>{const{calls:o,decoder:i}=await Pe({CoreProxy:t,accountId:e,poolId:a,tokenAddress:n.tokenAddress});return{calls:o,decoder:i,poolName:r,collateralType:n,poolId:a}}))))))).flat(),{calls:l,decoder:s}=await Ie({collateralAddresses:n.map((e=>e.tokenAddress)),CoreProxy:t}),c=i.map((e=>e.calls)).flat(),d=(await(0,Me.$)(r,o.isTestnet).then((e=>(0,Me.x)("0x",r,e)))).concat(l.concat(c)),u=i.at(0)?.decoder;return await(0,ke.Iy)(t.provider,d,(t=>{if(!Array.isArray(t))throw Error("Expected array ");if(!u)return{};const a=Be("address",s(t.slice(0,l.length)).map(((e,t)=>({price:e,address:n[t].tokenAddress})))),r=t.slice(l.length);var o;return Be("id",(o=r,Array.from({length:o.length/2},((e,t)=>[o[2*t],o[2*t+1]]))).map((e=>u(e))).map((({debt:t,collateral:n},r)=>{const{poolName:o,collateralType:l,poolId:s}=i[r],c=n.amount,d=a?.[l.tokenAddress].price,u=d?c.mul(d):(0,me.wei)(0),h=be(t,u);return{id:`${s}-${l.symbol}`,accountId:e,poolId:s,poolName:o,collateralPrice:d,collateralAmount:c,collateralValue:u,collateralType:l,cRatio:h,debt:t}})))}),"useLiquidityPositions")},enabled:Boolean(r&&t&&n?.length&&e&&a?.length)})};var _e=a(47443),He=a(52929);const Re=()=>(0,m.jsx)(E.k,{alignItems:"flex-end",flexWrap:{base:"wrap",md:"nowrap"},children:(0,m.jsx)(I.xu,{flexGrow:1,children:(0,m.jsxs)(_e.b,{status:"warning",children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(I.xu,{children:["This is an experimental prototype for Synthetix V3."," ",(0,m.jsxs)(D.x,{fontWeight:"bold",display:"inline",children:["Any incentives (including voting power) are exclusively determined based on participation in"," ",(0,m.jsx)(F.r,{textDecoration:"underline",href:"https://staking.synthetix.io",children:"Synthetix V2"}),"."]})]})]})})});const qe=(e,t)=>{const a={style:"currency",currency:"USD",locales:"en-EN",...t};return new Intl.NumberFormat(a.locales,a).format(Number(e))},Ue=(e,t)=>{const a={minimumFractionDigits:2,maximumFractionDigits:2,locales:"en-EN",...t};return new Intl.NumberFormat(a.locales,a).format(Number(e))},$e=(e,t)=>{const a={minimumFractionDigits:0,maximumFractionDigits:2,locales:"en-EN",style:"percent",...t};return new Intl.NumberFormat(a.locales,a).format(Number(e))},We=({totalDebt:e,totalCollateral:t})=>(0,m.jsxs)(E.k,{justifyContent:"space-between",gap:4,flexDirection:{base:"column",md:"row"},children:[(0,m.jsxs)(ve,{p:4,width:"33%",flexDir:"column",children:[(0,m.jsx)(D.x,{fontSize:"xs",fontFamily:"heading",textTransform:"uppercase",color:"gray.500",textAlign:"center",fontWeight:"400",children:"Total Collateral"}),(0,m.jsx)(D.x,{fontFamily:"heading",fontWeight:"800",textAlign:"center",fontSize:"2xl",children:t?qe(t):"—"})]}),(0,m.jsxs)(ve,{p:4,flexDir:"column",width:"33%",children:[(0,m.jsx)(D.x,{fontSize:"xs",fontFamily:"heading",textTransform:"uppercase",color:"gray.500",textAlign:"center",fontWeight:"400",children:"Total debt"}),(0,m.jsx)(D.x,{fontFamily:"heading",fontWeight:"800",textAlign:"center",fontSize:"2xl",children:e?qe(e):"—"})]}),(0,m.jsxs)(ve,{p:4,flexDir:"column",width:"33%",children:[(0,m.jsx)(D.x,{fontSize:"xs",fontFamily:"heading",textTransform:"uppercase",color:"gray.500",textAlign:"center",fontWeight:"400",children:"Total Earnings Lifetime"}),(0,m.jsx)(D.x,{fontFamily:"heading",fontWeight:"800",textAlign:"center",fontSize:"2xl",children:"—"})]})]});var Ve=a(80877),Ge=a(74444),Ze=a(7987);function Qe({accountId:e}){const{data:t}=(0,Y.a)(),a=(0,w.LN)();return(0,y.useQuery)({queryKey:[a.name,{accountId:e},"AccountCollateralUnlockDate"],enabled:Boolean(t&&e),queryFn:async function(){if(!t||!e)throw"OMG";const[a,n]=await t.callStatic.multicall([t.interface.encodeFunctionData("getAccountLastInteraction",[e]),t.interface.encodeFunctionData("getConfigUint",[Ze.s("accountTimeoutWithdraw")])]),[r]=t.interface.decodeFunctionResult("getAccountLastInteraction",a),[o]=t.interface.decodeFunctionResult("getConfigUint",n),i=r.add(o);return new Date(1e3*i.toNumber())}})}var Ke=a(95509);const Ye=r.lazy((()=>(0,Ke.safeImport)((()=>a.e(9844).then(a.bind(a,49844))))));function Xe({accountCollateral:e,isDisabled:t}){const[a,n]=r.useState(!1);return(0,m.jsxs)(oe.Tr,{"data-testid":"available collateral row",children:[(0,m.jsx)(ie.Td,{children:(0,m.jsxs)(E.k,{flexDir:"row",py:4,children:[(0,m.jsx)(U.l6,{width:"32px",height:"32px",symbol:e.symbol}),(0,m.jsx)(E.k,{flexDirection:"column",justifyContent:"center",ml:2,children:(0,m.jsxs)(D.x,{fontSize:"lg",color:"gray.500",children:[(0,m.jsx)(pe.$,{value:e.availableCollateral})," ",e.symbol]})})]})}),(0,m.jsxs)(ie.Td,{textAlign:"end",children:[(0,m.jsx)(L.z,{isDisabled:t,onClick:()=>n(!0),children:"Withdraw"}),(0,m.jsx)(r.Suspense,{fallback:null,children:a?(0,m.jsx)(Ye,{accountCollateral:e,onClose:()=>n(!1),isOpen:a}):null})]})]})}function Je({accountCollateral:e,accountCollateralUnlockDate:t}){return(0,m.jsx)(Xe,{accountCollateral:e,isDisabled:!t||t.getTime()>Date.now()||e.availableCollateral.eq(0)})}var et=a(40541),tt=a(61295);function at({accountCollaterals:e,timeToUnlock:t,unlockDateString:a,unlockDate:n,AvailableCollateralRow:r}){return 0===e.length?null:(0,m.jsxs)(ve,{p:4,mt:8,flexDir:"column",children:[(0,m.jsx)(le.X,{fontSize:"2xl",mb:"2",children:"Available Collateral"}),(0,m.jsxs)(E.k,{alignItems:"center",mb:"0",children:[(0,m.jsx)(D.x,{color:"gray.500",children:"This collateral can be deposited to pools. As a security precaution, this collateral cannot be withdrawn until at least 1 day has elapsed since previous account activity."}),(0,m.jsxs)(_e.b,{ml:"auto",status:"—"===t?"loading":t?"error":"success",width:"540px",title:a,children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(I.xu,{width:"100%",children:[(0,m.jsx)(Ve.C,{children:"Withdrawals available"}),t?(0,m.jsx)(Ge.X,{display:"block",children:t}):null]})]})]}),(0,m.jsx)(I.xu,{overflowX:"auto",children:(0,m.jsxs)(se.i,{mt:8,size:"sm",variant:"unstyled",mb:"9",children:[(0,m.jsx)(ce.h,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:(0,m.jsx)(oe.Tr,{})}),(0,m.jsx)(ue.p,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:e.map((e=>(0,m.jsx)(r,{accountCollateralUnlockDate:n,accountCollateral:e},e.tokenAddress)))})]})})]})}function nt(){const{accountId:e}=(0,J.UO)(),t=Fe({accountId:e,includeDelegationOff:!0}),a=Qe({accountId:e}),n=r.useCallback((()=>a.isLoading?"—":!a.data||a.data.getTime()<=Date.now()?void 0:(0,et.Z)(a.data,{addSuffix:!0})),[a.data,a.isLoading]),[o,i]=r.useState(n());r.useEffect((()=>{const e=setInterval((()=>i(n())),1e3);return()=>clearInterval(e)}),[n]);const l=r.useMemo((()=>a.isLoading?"—":!a.data||a.data.getTime()<=Date.now()?void 0:(0,tt.Z)(a.data,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"})),[a.data,a.isLoading]);return(0,m.jsx)(at,{accountCollaterals:t.data||[],timeToUnlock:o,unlockDateString:l,unlockDate:a.data,AvailableCollateralRow:Je})}const rt=()=>(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{minWidth:16,height:8})})]});function ot({collateralTypes:e,pools:t,liquidityPositionsById:a,isLoading:n,VaultRow:r,Stats:i,AvailableCollateral:l}){const{totalCollateral:s,totalDebt:c}=Object.values(a||[]).reduce(((e,t)=>(e.totalCollateral=e.totalCollateral+t.collateralValue.toNumber(),e.totalDebt=e.totalDebt+t.debt.toNumber(),e)),{totalCollateral:0,totalDebt:0})||{},d=(0,z.TH)();return(0,m.jsxs)(E.k,{height:"100%",flexDirection:"column",children:[(0,m.jsx)(I.xu,{mb:"8",children:(0,m.jsx)(Re,{})}),(0,m.jsx)(i,{totalDebt:c,totalCollateral:s}),n?(0,m.jsx)(ve,{p:4,mt:8,flexDir:"column",children:(0,m.jsx)(E.k,{justifyContent:"space-between",flexWrap:{base:"wrap",md:"nowrap"},alignItems:"center",children:(0,m.jsx)(E.k,{alignItems:"baseline",justifyContent:"flex-start",flexDirection:{base:"column",md:"row"},children:(0,m.jsx)(G.O,{})})})}):(0,m.jsx)(m.Fragment,{children:t.map((t=>(0,m.jsxs)(ve,{p:4,mt:8,flexDir:"column",children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",flexWrap:{base:"wrap",md:"nowrap"},alignItems:"center",children:[(0,m.jsx)(E.k,{alignItems:"baseline",justifyContent:"flex-start",flexDirection:{base:"column",md:"row"},children:(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(le.X,{fontSize:"2xl",children:t.name})})}),t.id&&(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(L.z,{as:o.rU,mt:{base:2,md:0},size:"sm",to:{pathname:(0,he.Gn)("/pools/:poolId",{poolId:t.id}),search:d.search},variant:"outline",children:"Pool Info"})})]}),(0,m.jsx)(I.xu,{overflowX:"auto",children:(0,m.jsxs)(se.i,{mt:8,size:"sm",variant:"unstyled",mb:"9",children:[(0,m.jsx)(ce.h,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Collateral"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Debt"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"C-Ratio"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Issuance Ratio"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Liquidation Ratio"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"2",textTransform:"initial"})]})}),(0,m.jsx)(ue.p,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:e?e.map((e=>(0,m.jsx)(r,{collateralType:e,poolId:t.id,liquidityPosition:a?.[`${t.id}-${e.symbol}`]},e.tokenAddress))):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(rt,{}),(0,m.jsx)(rt,{})]})})]})})]},t.id)))}),(0,m.jsx)(l,{})]})}function it(){const{accountId:e}=(0,J.UO)(),{data:t=[],isLoading:a}=(0,xe.T)(),{data:n,isLoading:r}=(0,Ce.Oh)(),{data:o,isLoading:i,isInitialLoading:l}=Oe({accountId:e}),s=a||r||i&&l;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(re.q,{children:[(0,m.jsx)("title",{children:"Synthetix V3"}),(0,m.jsx)("meta",{name:"description",content:"Synthetix V3"})]}),(0,m.jsx)(ot,{isLoading:s,liquidityPositionsById:o,collateralTypes:t,pools:n||[],VaultRow:we,AvailableCollateral:nt,Stats:We})]})}var lt=a(74008),st=a(81554),ct=a(45501),dt=a(13797);const ut=({issuanceRatioD18:e,collateralAmount:t,collateralPrice:a,debt:n,collateralChange:r,debtChange:o})=>{const i=e||(0,me.wei)(1),l=(0,me.wei)(n||0).add(o),s=(0,me.wei)(t||0).add(r),c=s.mul(a||0),d=be(l,c),u=(0,me.wei)(s).mul(a||0).div(i).sub(n||0),h=u.gte(0)?u:(0,me.wei)(0);return{isValid:(d.gte(i)||d.lte(0))&&(l.eq(0)||s.gt(0)),hasChanges:!r.eq(0)||!o.eq(0),newCRatio:d,newDebt:l,newCollateralAmount:s,maxDebt:h}};var ht=a(85573);const xt=/^([0-9]*[.])?[0-9]{0,18}$/;function pt(e){const t=parseFloat(e.toString());return t===e.toNumber()?`${t}`:e.toString()}function mt({value:e,onChange:t,min:a,max:n,InputProps:o}){const[i,l]=(0,r.useState)(e.gt(0)?e.toString():""),s=(0,r.useCallback)((a=>{if(l(a.target.value),!t)return;if(!xt.test(`${a.target.value}`))return;let n=e;try{n=(0,me.wei)(a.target.value||0)}catch(e){}e.eq(n)||t(n)}),[t,e]),c=(0,r.useRef)(null);return(0,r.useEffect)((()=>{c.current&&(xt.test(`${i}`)?e&&e.eq(0)?c.current.setCustomValidity("Value required"):a&&a.gte(0)&&e&&e.lt(a)?c.current.setCustomValidity(`Value smaller than minimum of ${pt(a)}`):n&&n.gte(0)&&e&&e.gt(n)?c.current.setCustomValidity(`Value greater than maximum of ${pt(n)}`):c.current.setCustomValidity(""):c.current.setCustomValidity("Invalid number"))}),[i,a,n,e]),(0,r.useEffect)((()=>e.eq(0)?l(""):l(pt(e))),[e]),(0,m.jsx)(ht.I,{ref:c,flex:"1",type:"text",border:"none",borderWidth:"0px",textAlign:"end",p:0,outline:"none",fontFamily:"heading",fontSize:"xl",fontWeight:"black",lineHeight:"2xl",color:"white",height:"unset",autoFocus:!0,placeholder:"Enter Amount",_focus:{boxShadow:"none !important"},_placeholder:{color:"whiteAlpha.700"},value:i,onChange:s,...o})}const ft=({debtChange:e,setDebtChange:t,maxDebt:a})=>(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsx)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:"Borrow snxUSD"}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Take an interest-free loan of snxUSD against your collateral. This increases your debt and decreases your C-Ratio."}),(0,m.jsxs)(ve,{display:"flex",py:2,px:3,mb:"4",children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.RF,{}),"snxUSD"]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isRequired:!0,"data-testid":"borrow amount input","data-max":a.toString()},value:e,onChange:e=>t(e),max:a}),(0,m.jsx)(E.k,{flexDirection:"column",alignItems:"flex-end",fontSize:"xs",color:"whiteAlpha.700",children:(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{a&&t(a)},children:[(0,m.jsx)(D.x,{children:"Max:"}),(0,m.jsx)(pe.$,{value:a})," snxUSD"]})})]})]}),(0,m.jsx)(L.z,{"data-testid":"borrow submit",type:"submit",children:"Borrow snxUSD"})]}),gt=({liquidityPosition:e})=>{const t=(0,J.UO)(),{debtChange:a,collateralChange:n,setDebtChange:o}=(0,r.useContext)(dt.n),{data:i}=(0,xe.t)(t.collateralSymbol),{maxDebt:l}=ut({issuanceRatioD18:i?.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:e?.collateralPrice,debt:e?.debt,collateralChange:n,debtChange:a});return(0,m.jsx)(ft,{setDebtChange:o,debtChange:a,maxDebt:l})};var yt=a(8263),bt=a(97096);const jt=({debtChange:e,setDebtChange:t,max:a,currentDebt:n,snxUSDBalance:r,availableUSDCollateral:o})=>{const i=r&&o?r.add(o):void 0;return(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsx)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:"Repay snxUSD"}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Pay down your position’s debt with snxUSD. This decreases your debt and increases your C-Ratio."}),(0,m.jsxs)(ve,{display:"flex",py:2,px:3,mb:"4",children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.RF,{}),"snxUSD"]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isRequired:!0,"data-testid":"repay amount input","data-max":a?.toString()},value:e.abs(),onChange:e=>t(e.mul(-1)),max:a}),(0,m.jsxs)(E.k,{flexDirection:"row",justifyContent:"right",fontSize:"xs",color:"whiteAlpha.700",children:[(0,m.jsxs)(E.k,{gap:"1",mr:"3",cursor:"pointer",onClick:()=>{n&&t(n.neg())},children:[(0,m.jsx)(D.x,{children:"Debt:"}),(0,m.jsxs)(D.x,{display:"inline",children:["$",(0,m.jsx)(pe.$,{value:n,"data-testid":"current debt"})]})]}),(0,m.jsx)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{i&&t(i.neg())},children:(0,m.jsx)(yt.u,{label:(0,m.jsxs)(E.k,{direction:"column",alignItems:"flex-start",children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",width:"full",gap:1,children:["Wallet Balance: ",(0,m.jsx)(pe.$,{value:r,suffix:" sUSD"})]}),(0,m.jsxs)(E.k,{justifyContent:"space-between",width:"full",gap:1,children:["Collateral Balance: ",(0,m.jsx)(pe.$,{value:o,suffix:" sUSD"})]})]}),children:(0,m.jsxs)(E.k,{gap:1,children:[(0,m.jsx)(D.x,{children:"Balance:"}),(0,m.jsx)(D.x,{display:"inline",children:(0,m.jsx)(pe.$,{value:i,"data-testid":"available snxUSD balance",suffix:" sUSD"})})]})})})]})]})]}),(0,m.jsx)(L.z,{"data-testid":"repay submit",type:"submit",isDisabled:!(a&&r&&n&&o),children:"Repay snxUSD"})]})},wt=({liquidityPosition:e})=>{const{debtChange:t,setDebtChange:a}=(0,r.useContext)(dt.n),{data:n}=(0,ze.a)(),o=e?.usdCollateral.availableCollateral,{data:i}=(0,bt.m)(n?.address),l=e?.debt.gt(.01),s=i?.gt(.01)?i:(0,me.wei)(0);return(0,m.jsx)(jt,{setDebtChange:a,debtChange:t,snxUSDBalance:s,availableUSDCollateral:o,currentDebt:l?e?.debt:(0,me.wei)(0),max:fe().max(e?.debt||(0,me.wei)(0),o?.add(i||(0,me.wei)(0))||(0,me.wei)(0))})};var Ct=a(87651),vt=a(10528);const St=Ae.z.object({id:Se.Rx,weight:Se.LW,maxDebtShareValue:Se.LW,isLocked:Ae.z.boolean()}),At=Ae.z.object({id:Ae.z.number(),markets:St.array(),isAnyMarketLocked:Ae.z.boolean()}),kt=Ae.z.boolean(),Dt=({collateralChange:e,setCollateralChange:t,max:a,displaySymbol:n,symbol:o,currentCollateral:i,minDelegation:l,isLoadingRequiredData:s,isAnyMarketLocked:c})=>{const d=r.useCallback((()=>{a&&t(a.mul(-1))}),[a,t]),u=i?.add(e)||(0,me.wei)(0),h=u.gt(l||(0,me.wei)(0))||u.eq(0),x=!0===c;return(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsxs)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:["Remove ",n]}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Removing collateral from this position will transfer it to the account’s Available Collateral balance for withdrawal. Collateral may only be removed if the resulting C-Ratio is above the Issuance C-Ratio."}),(0,m.jsxs)(ve,{flexDirection:"column",py:2,px:3,mb:"4",children:[(0,m.jsxs)(E.k,{flexDirection:"row",justifyContent:"space-between",width:"100%",children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.l6,{symbol:o}),n]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isDisabled:x,isRequired:!0,"data-testid":"undelegate amount input","data-max":a?.toString()},value:e.abs(),onChange:e=>t(e.mul(-1)),max:a}),(0,m.jsx)(E.k,{flexDirection:"column",alignItems:"flex-end",fontSize:"xs",color:"whiteAlpha.700",children:(0,m.jsxs)(E.k,{gap:"1",cursor:x?"not-allowed":"pointer",onClick:x?void 0:d,children:[(0,m.jsx)(D.x,{display:"flex",alignItems:"center",gap:1,children:"Max:"}),(0,m.jsx)(pe.$,{value:a,"data-testid":"available to undelegate",suffix:` ${n}`})]})})]})]}),(0,m.jsx)(Ct.U,{in:x,animateOpacity:!0,children:(0,m.jsxs)(_e.b,{mt:2,status:"warning",children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(E.k,{direction:"column",children:[(0,m.jsx)(Ve.C,{children:"Credit capacity reached"}),(0,m.jsx)(Ge.X,{children:"One of the markets has reached its credit capacity and is currently in a locked state. You cannot remove collateral from the pool at this time."})]})]})}),(0,m.jsx)(Ct.U,{in:!h,animateOpacity:!0,children:(0,m.jsxs)(_e.b,{mt:2,status:"info",children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(E.k,{direction:"column",children:[(0,m.jsxs)(Ve.C,{children:["The minimal delegated amount is"," ",(0,m.jsx)(pe.$,{value:l,suffix:` ${o}`})]}),(0,m.jsx)(Ge.X,{children:"You can close your position by removing all the collateral."})]})]})})]}),(0,m.jsxs)(L.z,{"data-testid":"undelegate submit",type:"submit",isDisabled:s||!0===c,children:["Remove ",n]})]})},It=({liquidityPosition:e})=>{const{collateralChange:t,debtChange:a,setCollateralChange:n}=(0,r.useContext)(dt.n),o=(0,J.UO)(),{data:i}=(0,xe.t)(o.collateralSymbol),l=(e=>{const t=(0,w.LN)(),{data:a}=(0,Y.a)(),{data:n}=(0,Le.L)();return(0,y.useQuery)({enabled:Boolean(a&&e&&n),queryKey:[t.name,"PoolConfiguration",{poolId:e}],queryFn:async()=>{if(!a||!e||!n)throw Error("usePoolConfiguration should not be enabled");const r=(await a.getPoolConfiguration(vt.O$.from(e))).map((({marketId:e,maxDebtShareValueD18:t,weightD18:a})=>({id:e,weight:t,maxDebtShareValue:a}))),o=await(0,Me.$)(n,t.isTestnet).then((e=>(0,Me.x)("0x",n,e))),i=await Promise.all(r.map((e=>a.populateTransaction.isMarketCapacityLocked(e.id)))),l=await(0,ke.Iy)(a.provider,o.concat(i),(e=>{if(!Array.isArray(e))throw Error("Expected array");return e.map((e=>kt.parse(a.interface.decodeFunctionResult("isMarketCapacityLocked",e)[0])))}),"isMarketCapacityLocked");return At.parse({id:parseInt(e),markets:r.map(((e,t)=>({...e,isLocked:l[t]}))),isAnyMarketLocked:l.some(Boolean)})}})})(o.poolId);if(!i)return null;const s=e?.collateralPrice,{newDebt:c}=ut({issuanceRatioD18:i.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:s,debt:e?.debt,collateralChange:t,debtChange:a});const d=function(){if(!e||!i)return;const{collateralAmount:t,collateralValue:a}=e;if(c.lte(0))return t;const n=c.mul(i.issuanceRatioD18);if(a(0,m.jsxs)(E.k,{w:"100%",justifyContent:"space-between",mt:2,mb:1,children:[(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:t>=.25?"cyan.500":"whiteAlpha.300",color:t>=.25?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},mr:1,onClick:a?void 0:()=>e(.25),children:"25%"}),(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:t>=.5?"cyan.500":"whiteAlpha.300",color:t>=.5?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},mx:1,onClick:a?void 0:()=>e(.5),children:"50%"}),(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:t>=.75?"cyan.500":"whiteAlpha.300",color:t>=.75?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},mx:1,onClick:a?void 0:()=>e(.75),children:"75%"}),(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:1===t?"cyan.500":"whiteAlpha.300",color:1===t?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},ml:1,onClick:a?void 0:()=>e(1),children:"100%"})]});var Lt=a(95042);function Mt(){const e=(0,w.LN)(),t=(0,w.Os)(),a=(0,w.yL)(),{data:n}=(0,xe.t)("SNX"),r=t?.address,o=n?.tokenAddress;return(0,y.useQuery)({enabled:Boolean(a&&r&&o),queryKey:[e.name,"TransferableSynthetix",{address:t?.address}],queryFn:async function(){if(!(a&&r&&o))throw"useTransferableSynthetix should not be enabled";const t=new Q.CH(o,["function balanceOf(address owner) view returns (uint256)","function transferableSynthetix(address account) view returns (uint256 transferable)","function collateral(address account) view returns (uint256 collateral)"],a);try{if("cannon"===e.name){const e=await t.balanceOf(r);return{transferable:(0,me.wei)(e)}}const[a,n]=await Promise.all([t.transferableSynthetix(r),t.collateral(r)]);return{transferable:(0,me.wei)(a),collateral:(0,me.wei)(n)}}catch(e){throw console.error(e),e}}})}const zt=({tokenBalance:e,...t})=>(0,m.jsxs)(_e.b,{borderLeftColor:"cyan.500",borderRadius:"6px",...t,children:[(0,m.jsx)(He.z,{color:"cyan.500"}),(0,m.jsxs)(D.x,{color:"white",fontFamily:"heading",fontSize:"16px",lineHeight:"24px",children:["You have a ",e.toString(2)," SNX active staking position on V2. You‘ll need to unstake on V2 before being able to deposit on V3."," ",(0,m.jsx)(F.r,{textDecor:"underline",href:"https://staking.synthetix.io/",target:"_blank",children:"Go to V2"})]})]}),Nt=({accountCollateral:e,collateralChange:t,setCollateralChange:a,displaySymbol:n,symbol:o,tokenBalance:i,ethBalance:l,snxBalance:s})=>{const[c,d]=(0,r.useState)(0),u=(0,r.useMemo)((()=>"SNX"===o?s?.transferable:"WETH"!==o?i:i&&l?i.add(l):void 0),[o,i,l,s?.transferable]);return(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsxs)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:["Add ",n]}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Provide additional collateral to this position. This will increase the position’s C-Ratio."}),(0,m.jsxs)(ve,{display:"flex",flexDirection:"column",py:2,px:3,mb:"4",children:[(0,m.jsxs)(E.k,{children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.l6,{symbol:o}),n]}),(0,m.jsx)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{"data-testid":"deposit amount input","data-max":u?.toString()},value:t,onChange:e=>{d(0),a(e)},max:u}),(0,m.jsxs)(E.k,{flexDirection:"column",alignItems:"flex-end",fontSize:"xs",color:"whiteAlpha.700",children:[e.availableCollateral.gt(0)?(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>a(e.availableCollateral),children:[(0,m.jsxs)(D.x,{children:["Available ",o," Collateral:"]}),(0,m.jsx)(pe.$,{value:e?.availableCollateral})]}):null,(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{const e="SNX"===o?s?.transferable:i;e&&a(e)},children:[(0,m.jsxs)(D.x,{children:[o," Balance:"]}),(0,m.jsx)(pe.$,{value:"SNX"===o?s?.transferable:i})]}),"WETH"===o?(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{l&&a(l)},children:[(0,m.jsx)(D.x,{children:"ETH Balance:"}),(0,m.jsx)(pe.$,{value:l})]}):null]})]})})]}),(0,m.jsx)(Ft,{disabled:!!u&&u.eq(0),onBadgePress:e=>{if(u){if(c===e)return a((0,me.wei)(0)),void d(0);d(e),a(u.mul(e))}},activeBadge:c})]}),s?.collateral&&s?.collateral.gt(0)&&"SNX"===o&&(0,m.jsx)(zt,{tokenBalance:s.collateral}),(0,m.jsxs)(L.z,{disabled:void 0===u,"data-testid":"deposit submit",type:"submit",children:["Add ",n]})]})},Et=({liquidityPosition:e})=>{const{collateralChange:t,setCollateralChange:a}=(0,r.useContext)(dt.n),n=(0,J.UO)(),{data:o}=(0,xe.t)(n.collateralSymbol),{data:i}=Mt(),{data:l}=(0,bt.m)(o?.tokenAddress),{data:s}=(0,Lt.G)();return o&&e?.accountCollateral?(0,m.jsx)(Nt,{accountCollateral:e.accountCollateral,displaySymbol:o.displaySymbol,tokenBalance:l,snxBalance:i,ethBalance:s,symbol:o.symbol,setCollateralChange:a,collateralChange:t}):null},Pt=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>a.e(6275).then(a.bind(a,26275)))))),Bt=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>a.e(3967).then(a.bind(a,3967)))))),Ot=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>Promise.resolve().then(a.bind(a,1085)))))),_t=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>a.e(951).then(a.bind(a,70951)))))),Ht=Ae.z.enum(["borrow","deposit","repay","undelegate"]),Rt=({children:e,action:t,activeAction:a,onClick:n})=>(0,m.jsx)(ve,{as:L.z,fontWeight:"700",fontSize:"md",color:"gray.50",bg:"navy.900",_hover:{bg:"unset"},_active:{bg:"unset"},cursor:"pointer","data-testid":"manage action","data-action":t,"data-active":t===a?"true":void 0,onClick:()=>n(t),py:2,width:"50%",textAlign:"center",children:e}),qt=({manageAction:e,liquidityPosition:t})=>{switch(e){case"borrow":return(0,m.jsx)(gt,{liquidityPosition:t});case"deposit":return(0,m.jsx)(Et,{liquidityPosition:t});case"repay":return(0,m.jsx)(wt,{liquidityPosition:t});case"undelegate":return(0,m.jsx)(It,{liquidityPosition:t});default:return null}},Ut=({setActiveAction:e,manageAction:t,onSubmit:a,liquidityPosition:n})=>(0,m.jsxs)(I.xu,{as:"form",onSubmit:a,children:[(0,m.jsxs)(E.k,{mt:2,gap:2,children:[(0,m.jsxs)(Rt,{onClick:e,action:"deposit",activeAction:t,children:[(0,m.jsx)(st.v,{w:"15px",h:"15px",mr:1})," Add Collateral"]}),(0,m.jsxs)(Rt,{onClick:e,action:"repay",activeAction:t,children:[(0,m.jsx)(U.RF,{mr:1})," Repay snxUSD"]})]}),(0,m.jsxs)(E.k,{mt:2,gap:2,children:[(0,m.jsxs)(Rt,{onClick:e,action:"undelegate",activeAction:t,children:[(0,m.jsx)(ct.H,{w:"15px",h:"15px",mr:1})," Remove Collateral"]}),(0,m.jsxs)(Rt,{onClick:e,action:"borrow",activeAction:t,children:[(0,m.jsx)(U.TK,{mr:1})," Borrow snxUSD"]})]}),t?(0,m.jsx)(E.k,{direction:"column",mt:6,children:(0,m.jsx)(qt,{manageAction:t,liquidityPosition:n})}):null]}),$t=({liquidityPosition:e})=>{const t=(0,J.UO)(),a=(0,z.s0)(),n=(0,z.TH)(),[o,i]=(0,r.useState)(null),{debtChange:l,collateralChange:s,setCollateralChange:c,setDebtChange:d}=(0,r.useContext)(dt.n),{data:u}=(0,xe.t)(t.collateralSymbol),{isValid:h}=ut({issuanceRatioD18:u?.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:e?.collateralPrice,debt:e?.debt,collateralChange:s,debtChange:l}),x=Ht.safeParse(t.manageAction),p=x.success?x.data:null,f=(0,r.useCallback)((e=>{e.preventDefault();e.target.reportValidity()&&h&&i(p)}),[h,p]);return(0,r.useEffect)((()=>{const t=new URLSearchParams(n.search);if(t.get("manageAction"))return;if(!e)return;if(!u)return;const r=be(e.debt,e.collateralValue);if(e.debt.eq(0)||r.gt(u.issuanceRatioD18))return t.set("manageAction","borrow"),void a({pathname:n.pathname,search:t.toString()},{replace:!0});if(r.mul(.9).lt(u.liquidationRatioD18))return t.set("manageAction","repay"),void a({pathname:n.pathname,search:t.toString()},{replace:!0});t.set("manageAction","deposit"),a({pathname:n.pathname,search:t.toString()},{replace:!0})}),[u,e,n.pathname,n.search,a]),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Ut,{liquidityPosition:e,onSubmit:f,setActiveAction:e=>{c((0,me.wei)(0)),d((0,me.wei)(0));const t=new URLSearchParams(n.search);t.set("manageAction",e),a({pathname:n.pathname,search:t.toString()},{replace:!0})},manageAction:p||void 0}),(0,m.jsxs)(r.Suspense,{fallback:null,children:["repay"===o?(0,m.jsx)(Pt,{availableCollateral:e?.usdCollateral.availableCollateral,onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"repay"===o}):null,"borrow"===o?(0,m.jsx)(Bt,{onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"borrow"===o}):null,"deposit"===o?(0,m.jsx)(Ot,{currentCollateral:e?.collateralAmount??(0,me.wei)(0),collateralChange:s,onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"deposit"===o}):null,"undelegate"===o?(0,m.jsx)(_t,{liquidityPosition:e,onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"undelegate"===o}):null]})]})};var Wt=a(7754),Vt=a(84471);const Gt=({formatFn:e,value:t,newValue:a,hasChanges:n})=>(0,m.jsxs)(E.k,{gap:1,color:"gray.50",fontSize:"2xl",fontWeight:"800",alignItems:"center",lineHeight:"32px",children:[(0,m.jsx)(D.x,{children:e(t)}),n&&!t.eq(a)?(0,m.jsxs)(D.x,{children:[(0,m.jsx)(Wt.m,{})," ",e(a)]}):null]}),Zt=({liquidityPosition:e,collateralType:t,collateralValue:a,cRatio:n,newCollateralAmount:r,newCratio:o,newDebt:i,hasChanges:l})=>(0,m.jsxs)(E.k,{direction:"column",children:[(0,m.jsxs)(ve,{py:4,px:6,flexDirection:"column",bg:"navy.700",mb:4,children:[(0,m.jsxs)(E.k,{alignItems:"center",mb:"4px",children:[(0,m.jsx)(D.x,{color:"gray.500",fontSize:"xs",fontFamily:"heading",lineHeight:"16px",children:"COLLATERAL"}),(0,m.jsx)(yt.u,{label:"Your total amount of collateral locked in this pool.",textAlign:"start",py:2,px:3,children:(0,m.jsx)(E.k,{height:"12px",width:"12px",ml:"4px",alignItems:"center",justifyContent:"center",children:(0,m.jsx)(Vt.s,{color:"white",height:"9px",width:"9px"})})})]}),e&&t?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",alignItems:"center","data-testid":"manage stats collateral",children:[(0,m.jsx)(Gt,{value:e.collateralAmount,newValue:r,formatFn:e=>`${(0,$.Aq)(e)} ${t.displaySymbol}`,hasChanges:l}),(0,m.jsx)(D.x,{fontWeight:"400",color:"gray.500",fontSize:"md",fontFamily:"heading",lineHeight:"24px",children:(0,$.Aq)(e.collateralValue,{currency:"USD",style:"currency"})})]}),(0,m.jsxs)(D.x,{fontWeight:"400",color:"gray.500",fontSize:"xs",children:["Current Value:"," ",(0,$.Aq)(a,{currency:"USD",style:"currency"})]})]}):(0,m.jsx)(G.O,{width:"100%",children:"Lorem ipsum (this wont be displayed) "})]}),(0,m.jsx)(ve,{py:4,px:6,flexDirection:"row",bg:"navy.700",justifyContent:"space-between",mb:4,children:(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"space-between",width:"100%",children:[(0,m.jsxs)(E.k,{alignItems:"center",mb:"4px",children:[(0,m.jsx)(D.x,{color:"gray.500",fontSize:"xs",fontFamily:"heading",lineHeight:"16px",children:"DEBT"}),(0,m.jsx)(yt.u,{label:"Your minted debt balance.",textAlign:"start",py:2,px:3,children:(0,m.jsx)(E.k,{height:"12px",width:"12px",ml:"4px",alignItems:"center",justifyContent:"center",children:(0,m.jsx)(Vt.s,{color:"white",height:"9px",width:"9px"})})})]}),(0,m.jsx)(E.k,{width:"100%","data-testid":"manage stats debt",children:e&&t?(0,m.jsx)(Gt,{value:e.debt.lt(.01)?(0,me.wei)(0):e.debt,newValue:i,formatFn:e=>(0,$.Aq)(e,{currency:"USD",style:"currency",maximumFractionDigits:2}),hasChanges:l}):(0,m.jsx)(G.O,{width:"100%",children:"Lorem ipsum (this wont be displaye debt) "})})]})}),(0,m.jsxs)(ve,{py:4,px:6,flexDirection:"column",bg:"navy.700",my:0,mb:4,children:[(0,m.jsx)(D.x,{color:"gray.500",fontSize:"xs",fontFamily:"heading",lineHeight:"16px",mb:"4px",children:"C-RATIO"}),(0,m.jsx)(E.k,{justifyContent:"space-between",alignItems:"center","data-testid":"manage stats collateral",children:e&&t?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Gt,{value:n.lt(.01)||n.gt(5e4)?(0,me.wei)(0):n,newValue:o,formatFn:e=>(0,$.Aq)(e,{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2}),hasChanges:l}),(0,m.jsxs)(D.x,{fontWeight:"400",color:"gray.500",fontSize:"md",fontFamily:"heading",lineHeight:"24px",children:["Minimum"," ",(0,$.Aq)(t.liquidationRatioD18,{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2})]})]}):(0,m.jsx)(G.O,{width:"100%",children:"Lorem ipsum (this wont be displayed) "})})]})]}),Qt=({liquidityPosition:e})=>{const t=(0,J.UO)(),{debtChange:a,collateralChange:n}=(0,r.useContext)(dt.n),{data:o}=(0,xe.t)(t.collateralSymbol),i=e?.collateralValue||(0,me.wei)(0),l=be(e?.debt||(0,me.wei)(0),i),{newCRatio:s,newCollateralAmount:c,newDebt:d,hasChanges:u}=ut({issuanceRatioD18:o?.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:e?.collateralPrice,debt:e?.debt,collateralChange:n,debtChange:a});return(0,m.jsx)(Zt,{hasChanges:u,newCratio:s,newDebt:d,newCollateralAmount:c,liquidityPosition:e,collateralType:o,cRatio:l,collateralValue:i})};var Kt=a(75429);const Yt=()=>{const e=(0,z.TH)();return(0,m.jsxs)(F.r,{width:"fit-content",display:"flex",alignItems:"center",color:"cyan.500",as:o.rU,to:{pathname:"/",search:e.search},fontSize:"sm",fontWeight:700,mb:2,children:[(0,m.jsx)(Kt.R,{mr:1})," Home"]})};var Xt=a(64565),Jt=a(17716);var ea=a(21832),ta=a(5438),aa=a(93611);function na({chain:e,address:t}){switch(e){case"goerli":return`https://goerli.etherscan.io/address/${t}`;case"sepolia":return`https://sepolia.etherscan.io/address/${t}`;case"optimism-goerli":return`https://goerli-optimism.etherscan.io/address/${t}`;case"optimism":return`https://optimistic.etherscan.io/address/${t}`;case"base":return`https://basescan.org/tx/${t}`;case"base-goerli":return`https://goerli.basescan.org/tx/${t}`;default:return`https://etherscan.io/address/${t}`}}const ra=({collateralSymbol:e,amount:t,txnStatus:a,txnHash:n})=>{const[o,i]=(0,r.useState)(!1),l=(0,w.LN)();return(0,r.useEffect)((()=>{"prompting"===a&&i(!0),"error"===a&&i(!1),"success"===a&&setTimeout((()=>{i(!1)}),1200)}),[a]),(0,m.jsxs)(C.u_,{isOpen:o,onClose:()=>i(!1),children:[(0,m.jsx)(v.Z,{bg:"#06061B80"}),(0,m.jsx)(S.h,{bg:"navy.700",mt:"10%",borderWidth:"1px",borderColor:"gray.900",minWidth:"384px",children:(0,m.jsxs)(k.f,{p:4,children:[(0,m.jsx)(E.k,{onClick:()=>i(!1),justifyContent:"flex-end",border:"none",boxShadow:"none",_focus:{outline:"none"},children:(0,m.jsx)(ea.T,{_hover:{cursor:"pointer"}})}),(0,m.jsx)(A.x,{pl:0,py:1,color:"whiteAlpha.900",fontSize:"20px",fontWeight:700,lineHeight:"120%",textAlign:"left",children:"Transaction Pending"}),(0,m.jsx)(D.x,{p:3,pl:0,color:"gray.600",fontFamily:"heading",fontSize:"12px",lineHeight:"150%",mb:2,children:"Follow the Metamask prompts to execute the following transactions."}),(0,m.jsxs)(E.k,{px:3,py:3,borderRadius:"5px",border:"1px solid",borderColor:"success"===a?"green.500":"gray.900",children:[(0,m.jsx)(E.k,{justifyContent:"center",alignItems:"center",borderRadius:"100px",bg:"success"===a?"green.600":"gray.900",width:"40px",height:"40px",p:3,children:"success"===a?(0,m.jsx)(ta.n,{color:"white"}):(0,m.jsx)(aa.D,{size:"25px",isIndeterminate:!0,color:"gray.700"})}),(0,m.jsxs)(E.k,{flexDirection:"column",alignItems:"space-between",justifyContent:"space-between",ml:2,children:[(0,m.jsxs)(D.x,{fontSize:"14px",fontWeight:700,lineHeight:"20px",color:"white",children:["Claiming ",t||""," ",e||""]}),(0,m.jsx)(D.x,{fontSize:"12px",lineHeight:"16px",color:"gray.500",children:"Claim your rewards"})]})]}),"success"===a&&(0,m.jsx)(L.z,{mt:5,variant:"solid",justifyContent:"center",px:3,py:3,width:"100%",textAlign:"center",children:"Done"}),n&&(0,m.jsx)(E.k,{justifyContent:"center",px:3,py:3,mt:6,mb:1,borderTop:"1px solid",borderTopColor:"gray.900",children:(0,m.jsx)(F.r,{variant:"outline",href:na({chain:l.name,address:n}),fontFamily:"heading",color:"cyan.500",fontWeight:700,lineHeight:"20px",fontSize:"14px",target:"_blank",mt:3,children:"View Transaction"})})]})})]})};const oa=(e,t=5,a=5)=>e.length<=t+a?e:`${e.slice(0,t)}...${e.slice(-a)}`,ia=({symbol:e,projectedAmount:t,frequency:a,claimableAmount:n,lifetimeClaimed:o,hasClaimed:i,address:l,readOnly:s,total:c})=>{const{accountId:d,collateralSymbol:u,poolId:h}=(0,J.UO)(),{data:x}=(0,xe.t)(u),{exec:p,txnState:f}=function(e,t,a,n,o){const{data:i}=(0,Y.a)(),[l,s]=(0,r.useReducer)(Jt.I,Jt.E),c=(0,y.useQueryClient)(),d=(0,y.useMutation)({mutationFn:async function(){try{if(!o)return;if(!(e&&t&&a&&n))throw new Error("Parameters Undefined");if(!i)throw new Error("CoreProxy undefined");s({type:"prompting"});const r=await i.claimRewards(vt.O$.from(a),vt.O$.from(e),t,n);let l;return s({type:"pending",payload:{txnHash:r.hash}}),(await r.wait()).logs.forEach((e=>{if(e.topics[0]===i.interface.getEventTopic("RewardsClaimed")){const{amount:t}=i.interface.decodeEventLog("RewardsClaimed",e.data,e.topics);l=t}})),s({type:"success"}),c.invalidateQueries(["Rewards"]),l}catch(e){return s({type:"error",payload:{error:e}}),0}}});return{mutation:d,txnState:l,settle:()=>s({type:"settled"}),isLoading:d.isLoading,exec:d.mutateAsync}}(h||"",x?.tokenAddress||"",d,l,n),{txnStatus:g,txnHash:b}=f,j=function(e){const t=3600,a=604800,n=2592e3;if(0===e)return null;if(e%n==0){const t=e/n;return 1===t?"every month":`every ${t} months`}if(e%a==0){const t=e/a;return 1===t?"every week":`every ${t} weeks`}if(e%86400==0){const t=e/86400;return 1===t?"every day":`every ${t} days`}if(e%t==0){const a=e/t;return 1===a?"every hour":`every ${a.toFixed(1)} hours`}return`every ${(e/t).toFixed(1)} hours`}(a);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ra,{amount:n,collateralSymbol:e,txnStatus:g,txnHash:b}),(0,m.jsxs)(oe.Tr,{children:[(0,m.jsxs)(ie.Td,{display:"flex",alignItems:"center",px:"14px",border:"none",w:"100%",children:[(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(U.l6,{height:"30px",width:"30px",symbol:e})}),(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsxs)(E.k,{flexDirection:"column",ml:"12px",children:[(0,m.jsx)(yt.u,{label:`Distributed by ${oa(l)}`,children:(0,m.jsxs)(D.x,{color:"gray.50",fontSize:"14px",fontFamily:"heading",fontWeight:500,lineHeight:"20px",children:[s?c:t,` ${e}`]})}),j&&(0,m.jsx)(D.x,{color:"gray.500",fontSize:"12px",fontFamily:"heading",lineHeight:"16px",children:j})]})})]}),(0,m.jsx)(ie.Td,{alignItems:"center",px:"14px",border:"none",children:(0,m.jsxs)(Z.p,{in:!0,children:[(0,m.jsxs)(D.x,{color:"gray.50",fontSize:"14px",fontFamily:"heading",fontWeight:500,lineHeight:"20px",children:[n,` ${e}`]}),o>0?(0,m.jsx)(yt.u,{label:"Total claimed over lifetime",children:(0,m.jsx)(D.x,{color:"gray.500",fontSize:"12px",fontFamily:"heading",lineHeight:"16px",children:`Lifetime: ${o} ${e}`})}):null]})}),!s&&(0,m.jsx)(ie.Td,{border:"none",px:"0px",children:(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(L.z,{w:"100%",size:"sm",variant:"solid",isDisabled:0===n,_disabled:{bg:"gray.900",backgroundImage:"none",color:"gray.500",opacity:.5,cursor:"not-allowed"},onClick:()=>{p()},children:n>0?"Claim":i?"Claimed":"Claim"})})})]})]})};var la=a(76364);const sa=()=>(0,m.jsxs)(ue.p,{width:"100%",children:[(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(la.s,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",h:"30px",w:"30px"})}),(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{mr:4,children:"Loading"})})}),(0,m.jsx)(ie.Td,{textAlign:"end",pr:"0px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{children:"Loading"})})})]}),(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(la.s,{startColor:"whiteAlpha.200",endColor:"whiteAlpha.500",h:"30px",w:"30px"})}),(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.200",endColor:"whiteAlpha.500",height:"30px",children:(0,m.jsx)(D.x,{mr:4,children:"Loading"})})}),(0,m.jsx)(ie.Td,{textAlign:"end",pr:"0px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.200",endColor:"whiteAlpha.500",height:"30px",children:(0,m.jsx)(D.x,{children:"Loading"})})})]}),(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(la.s,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",h:"30px",w:"30px"})}),(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{mr:4,children:"Loading"})})}),(0,m.jsx)(ie.Td,{textAlign:"end",pr:"0px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{children:"Loading"})})})]})]}),ca=({rewards:e,isLoading:t,readOnly:a=!1,...n})=>{const r=e&&0===e.length;return(0,m.jsxs)(ve,{bg:"navy.700",py:4,px:6,flexDir:"column",...n,children:[(0,m.jsx)(D.x,{color:"gray.500",fontFamily:"heading",lineHeight:"4",fontSize:"xs",mb:"8px",children:"REWARDS"}),(0,m.jsx)(Xt.x,{width:"100%",mb:"8px",children:r?(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(E.k,{mt:"20px",mb:"8px",justifyContent:"center",children:(0,m.jsx)(D.x,{color:"gray.500",fontFamily:"heading",lineHeight:"4",fontSize:"xs",children:"No Rewards Available"})})}):(0,m.jsxs)(se.i,{children:[(0,m.jsx)(ce.h,{children:(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsxs)(de.Th,{textTransform:"unset",color:"gray.600",border:"none",fontFamily:"heading",fontSize:"12px",lineHeight:"16px",letterSpacing:.6,fontWeight:700,px:4,py:3,children:["Estimated Rate",(0,m.jsx)(yt.u,{label:"Estimated rewards based on your position size",children:(0,m.jsx)(Vt.s,{ml:1,mb:"1px"})})]}),(0,m.jsx)(de.Th,{textTransform:"unset",color:"gray.600",border:"none",fontFamily:"heading",fontSize:"12px",lineHeight:"16px",letterSpacing:.6,fontWeight:700,px:4,py:3,children:"Earnings"}),(0,m.jsx)(de.Th,{textTransform:"unset",color:"transparent",border:"none",fontFamily:"heading",fontSize:"12px",lineHeight:"16px",letterSpacing:.6,fontWeight:700,px:4,py:3,children:"Claim"})]})}),t?(0,m.jsx)(sa,{}):(0,m.jsx)(ue.p,{children:e?.map((e=>(0,m.jsx)(ia,{symbol:e.symbol,claimableAmount:e.claimableAmount.toNumber(),frequency:e.duration,projectedAmount:e.rate/e.duration||0,lifetimeClaimed:e.lifetimeClaimed,hasClaimed:e.lifetimeClaimed>0,address:e.distributorAddress,readOnly:a,total:e.total},e.address)))})]})})]})},da=Ae.z.string().transform((e=>(0,me.wei)(e,18,!0))),ua=Ae.z.string().transform((e=>(0,me.wei)(e,18,!0))),ha=(e,t)=>t.add(e).mul(-1),xa=Ae.z.object({id:Ae.z.string(),usd_deposited:ua,usd_withdrawn:ua,net_issuance:ua,reported_debt:ua,updated_at:Ae.z.string(),updates_in_period:Ae.z.string()}).transform((e=>({...e,pnl:ha(e.net_issuance,e.reported_debt)}))),pa=Ae.z.object({id:Ae.z.string(),address:Ae.z.string(),usd_deposited:ua,usd_withdrawn:ua,net_issuance:ua,reported_debt:ua,updated_at:Ae.z.string(),market_snapshots_by_week:Ae.z.array(xa)}).transform((e=>({...e,pnl:ha(e.net_issuance,e.reported_debt)}))),ma=Ae.z.object({id:Ae.z.string(),market:pa,weight:da,max_debt_share_value:ua}),fa=Ae.z.object({id:Ae.z.string(),total_distributed:Ae.z.string(),rewards_distributions:Ae.z.array(Ae.z.object({amount:Ae.z.string(),duration:Ae.z.string()})).default([])}),ga=Ae.z.object({id:Ae.z.string(),name:Ae.z.union([Ae.z.string(),Ae.z.null()]).transform((e=>e||"Unnamed Pool")),total_weight:Ae.z.union([Ae.z.null(),da]),configurations:Ae.z.array(ma),registered_distributors:Ae.z.array(fa).default([])}),ya=Ae.z.object({data:Ae.z.object({pool:Ae.z.union([ga,Ae.z.null()])})}),ba=(e=>e[0])` +(globalThis.webpackChunk_snx_v3_liquidity=globalThis.webpackChunk_snx_v3_liquidity||[]).push([[2143],{45071:(e,t,a)=>{"use strict";a.d(t,{$:()=>s});var n=a(8263),r=a(2784),o=a(96596),i=a(79929),l=a(52322);function s({value:e,prefix:t="",suffix:a="","data-testid":s}){const{formattedValue:c,preciseValue:d}=(0,r.useMemo)((()=>{if(!e)return{formattedValue:"-",preciseValue:"-"};const t=(0,o.Aq)(e),a=(0,i.wei)(t.replaceAll(",",""));return{formattedValue:t,preciseValue:e.eq(a)?t:e.toString()}}),[e]);return(0,l.jsx)(n.u,{label:(0,l.jsxs)(l.Fragment,{children:[t,d,a]}),isDisabled:c===d,children:(0,l.jsxs)("span",{"data-testid":s,children:[t,c,a]})})}},99581:(e,t,a)=>{"use strict";a.d(t,{M:()=>d});var n=a(2784),r=a(84626),o=a(87651),i=a(59176),l=a(64919),s=a(52322);const c="true"===window?.localStorage?.CONTRACT_ERROR_OPEN;function d({contractError:e}){const[t,a]=n.useState(c);return(0,s.jsxs)(s.Fragment,{children:[t?null:(0,s.jsx)(r.z,{variant:"link",onClick:()=>a(!0),color:"inherit",fontWeight:"normal",fontStyle:"italic",children:"details..."}),(0,s.jsxs)(o.U,{in:t,animateOpacity:!0,children:[(0,s.jsx)(i.x,{fontStyle:"italic",fontSize:"0.8em",children:e.name}),(0,s.jsx)(i.x,{whiteSpace:"pre",fontSize:"0.8em",fontStyle:"italic",pl:"0.5em",children:Object.entries(e.args).map((([e,t])=>`${e}: ${t instanceof Date?(0,l.Z)(t,"yyyy-MM-dd HH:mm:ss"):t}`)).join("\n")})]})]})}},1085:(e,t,a)=>{"use strict";a.r(t),a.d(t,{DepositModal:()=>ie,DepositModalUi:()=>oe,default:()=>le});var n=a(66901),r=a(26468),o=a(19433),i=a(54326),l=a(2338),s=a(97217),c=a(59176),d=a(84626),u=a(88115),h=a(2784),x=a(19299),p=a(45071),m=a(73557),f=a(16060),g=a(85649),y=a(47973),b=a(25042),j=a(79929),w=a(40109),C=a(79634),v=a(76885),S=a(17716),A=a(10528),k=a(99),D=a(35834),I=a(95772),T=a(86848),F=a(37330),L=a(42614),M=a(95522);var z=a(89536),N=a(9875),E=a(97386);const P="SET_REQUIRE_APPROVAL",B="SET_WRAP_AMOUNT",O="SET_INFINITE_APPROVAL",_="RETRY",H="RUN",R="RESET",q="idle",U="wrap",$="approve",W="deposit",V="failed",G="success",Z={[$]:$,[U]:U,[W]:W},Q="wrapEth",K="approveWETH",Y="executeDeposit",X={wrapAmount:(0,j.wei)(0),error:null,requireApproval:!1,infiniteApproval:!1},J=(0,N.C)({id:"DepositMachine",initial:q,predictableActionArguments:!0,context:X,on:{[H]:{target:W,actions:(0,E.f0)({wrapAmount:e=>X.wrapAmount,error:e=>X.error,requireApproval:e=>X.requireApproval,infiniteApproval:e=>X.infiniteApproval})},[P]:{actions:(0,E.f0)({requireApproval:(e,t)=>t.requireApproval})},[B]:{actions:(0,E.f0)({wrapAmount:(e,t)=>t.wrapAmount})},[O]:{actions:(0,E.f0)({infiniteApproval:(e,t)=>t.infiniteApproval})}},states:{[q]:{on:{[H]:[{target:U,cond:e=>e.wrapAmount.gt(0)},{target:$,cond:e=>e.requireApproval},{target:W}]}},[U]:{invoke:{src:Q,onError:{target:V,actions:(0,E.f0)({error:(e,t)=>({error:t.data,step:Z.wrap})})},onDone:[{target:$,cond:e=>e.requireApproval},{target:W}]}},[$]:{invoke:{src:K,onDone:{target:W},onError:{target:V,actions:(0,E.f0)({error:(e,t)=>({error:t.data,step:Z.approve})})}}},[W]:{invoke:{src:Y,onDone:{target:G},onError:{target:V,actions:(0,E.f0)({error:(e,t)=>({error:t.data,step:Z.deposit})})}}},[V]:{on:{[_]:[{target:$,cond:e=>e.error?.step===Z.approve,actions:(0,E.f0)({error:e=>null})},{target:U,cond:e=>e.error?.step===Z.wrap,actions:(0,E.f0)({error:e=>null})},{target:W,cond:e=>e.error?.step===Z.deposit,actions:(0,E.f0)({error:e=>null})}]}},[G]:{}}});var ee=a(97737),te=a(97721),ae=a(99581),ne=a(18914),re=a(52322);const oe=({collateralChange:e,isOpen:t,onClose:a,collateralType:u,setInfiniteApproval:h,onSubmit:x,state:m,availableCollateral:f,poolName:g})=>{const y=m.context.wrapAmount,w=m.context.infiniteApproval,C=m.context.requireApproval,v=m.context.error,S=m.matches($)||m.matches(W)||m.matches(U),A="WETH"===u?.symbol,k={wrap:A?1:0,approve:A?2:1,deposit:A?3:2};return(0,re.jsxs)(n.u_,{size:"lg",isOpen:t,onClose:a,closeOnOverlayClick:!1,children:[(0,re.jsx)(r.Z,{}),(0,re.jsxs)(o.h,{bg:"black",color:"white","data-testid":"deposit modal",children:[(0,re.jsx)(i.x,{children:"Complete this action"}),(0,re.jsx)(l.o,{}),(0,re.jsxs)(s.f,{children:[(0,re.jsx)(c.x,{mb:"2",children:"Please execute the following transactions:"}),A?(0,re.jsx)(b.P0,{step:k.wrap,title:"Wrap",subtitle:y.eq(0)?(0,re.jsxs)(c.x,{as:"div",children:[(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," from balance will be used."]}):(0,re.jsxs)(c.x,{as:"div",children:["You must wrap additional ",(0,re.jsx)(p.$,{value:y,suffix:" ETH"})," before depositing."]}),status:{failed:v?.step===U,disabled:"WETH"!==u?.symbol,success:y.eq(0)||m.matches(G),loading:m.matches(U)&&!v}}):null,(0,re.jsx)(b.P0,{step:k.approve,title:`Approve ${u?.symbol} transfer`,status:{failed:v?.step===$,success:!C||m.matches(G),loading:m.matches($)&&!v},checkboxLabel:`Approve unlimited ${u?.symbol} transfers to Synthetix.`,checkboxProps:{isChecked:w,onChange:e=>h(e.target.checked)}}),(0,re.jsx)(b.P0,{step:k.deposit,title:`Delegate ${u?.symbol}`,subtitle:(0,re.jsx)(re.Fragment,{children:m.matches(G)?(0,re.jsxs)(c.x,{children:[(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," ","delegated to ",g,"."]}):(0,re.jsx)(re.Fragment,{children:f&&f.gt((0,j.wei)(0))?(0,re.jsx)(re.Fragment,{children:f.gte(e)?(0,re.jsxs)(c.x,{children:["This will delegate"," ",(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," ","to ",g,"."]}):(0,re.jsxs)(re.Fragment,{children:[(0,re.jsxs)(c.x,{children:["This will delegate"," ",(0,re.jsx)(p.$,{value:f,suffix:` ${u?.symbol}`})," ","to ",g,"."]}),(0,re.jsxs)(c.x,{children:["An additional"," ",(0,re.jsx)(p.$,{value:e.sub(f),suffix:` ${u?.symbol}`})," ","will be deposited and delegated from your wallet."]})]})}):(0,re.jsxs)(c.x,{children:["This will deposit and delegate"," ",(0,re.jsx)(p.$,{value:e,suffix:` ${u?.symbol}`})," to"," ",g,"."]})})}),status:{failed:v?.step===W,disabled:m.matches(G)&&C,success:m.matches(G),loading:m.matches(W)&&!v}}),(0,re.jsx)(d.z,{isDisabled:S,onClick:x,width:"100%",my:"4","data-testid":"deposit confirm button",children:(()=>{switch(!0){case Boolean(v):return"Retry";case S:return"Processing...";case m.matches(G):return"Done";default:return"Start"}})()})]})]})]})},ie=({onClose:e,isOpen:t,collateralChange:a,currentCollateral:n,availableCollateral:r})=>{const o=(0,m.s0)(),i=(0,z.UO)(),l=(0,C.useQueryClient)(),s=(0,v.LN)(),{data:c}=(0,w.a)(),{data:d}=(0,x.t)(i.collateralSymbol),{approve:p,requireApproval:b}=(0,g.y)({contractAddress:d?.tokenAddress,amount:a.toBN(),spender:c?.address}),N=(0,u.p)({isClosable:!0,duration:9e3}),E=(0,h.useMemo)((()=>`${Math.floor(1e10*Math.random())}`),[]),{exec:q,wethBalance:U}=(0,y.a)(),$="WETH"===d?.symbol&&a.gt(U||0)?a.sub(U||0):(0,j.wei)(0),{data:V}=(0,ne.AI)(i.poolId),{exec:Z}=(({accountId:e,newAccountId:t,poolId:a,collateralTypeAddress:n,collateralChange:r,currentCollateral:o,availableCollateral:i})=>{const[l,s]=(0,h.useReducer)(S.I,S.E),{data:c}=(0,w.a)(),{data:d}=(0,L.L)(),u=(0,v.LN)(),x=(0,v.mx)(),{gasSpeed:p}=(0,I.jU)(),m=(0,v.yL)(),f=(0,C.useMutation)({mutationFn:async()=>{if(x&&c&&a&&n&&i&&d&&!r.eq(0))try{s({type:"prompting"});const l=await x.getAddress(),h=e??t,f=e?void 0:c.populateTransaction["createAccount(uint128)"](A.O$.from(h)),g=i.gte(r)?void 0:c.populateTransaction.deposit(A.O$.from(h),n,r.sub(i).toBN()),y=c.populateTransaction.delegateCollateral(A.O$.from(h),A.O$.from(a),n,o.add(r).toBN(),(0,j.wei)(1).toBN()),b=Promise.all([f,g,y].filter(F._)),w=(0,M.$)(d,u.isTestnet).then((e=>(0,M.x)(l,d,e))),[C,v,S]=await Promise.all([b,(0,D.o)({provider:m}),w]),I=S.concat(C),L=await(0,T.dI)(m,I,"useDeposit"),z=(0,k.F)({gasLimit:L.gasLimit,gasPrices:v,gasSpeed:p}),N=await x.sendTransaction({...L,...z});s({type:"pending",payload:{txnHash:N.hash}}),await N.wait(),s({type:"success"})}catch(e){throw s({type:"error",payload:{error:e}}),e}}});return{mutation:f,txnState:l,settle:()=>s({type:"settled"}),isLoading:f.isLoading,exec:f.mutateAsync}})({accountId:i.accountId,newAccountId:E,poolId:i.poolId,collateralTypeAddress:d?.tokenAddress,collateralChange:a,currentCollateral:n,availableCollateral:r||(0,j.wei)(0)}),X=(0,te.o)(c),[ie,le]=(0,ee.e)(J,{services:{[Q]:async()=>{try{await q(ie.context.wrapAmount)}catch(e){const t=X(e);throw t&&console.error(new Error(t.name),t),N.closeAll(),N({title:"Wrapping ETH failed",description:t?(0,re.jsx)(ae.M,{contractError:t}):"Please try again.",status:"error"}),Error("Wrapping failed",{cause:e})}},[K]:async()=>{try{N({title:"Approve collateral for transfer",description:i.accountId?"The next transaction will delegate this collateral.":"The next transaction will create your account and and delegate this collateral",status:"info"}),await p(Boolean(ie.context.infiniteApproval))}catch(e){const t=X(e);throw t&&console.error(new Error(t.name),t),N.closeAll(),N({title:"Approval failed",description:t?(0,re.jsx)(ae.M,{contractError:t}):"Please try again.",status:"error"}),Error("Approve failed",{cause:e})}},[Y]:async()=>{try{N.closeAll(),N({title:Boolean(i.accountId)?"Delegating your collateral":"Creating your account and depositing collateral",description:""}),await Z(),await Promise.all([l.invalidateQueries({queryKey:[s.name,"EthBalance"]}),l.invalidateQueries({queryKey:[s.name,"LiquidityPosition"]}),"SNX"===d?.symbol?l.invalidateQueries({queryKey:[s.name,"TransferableSynthetix"]}):Promise.resolve(),l.invalidateQueries({queryKey:[s.name,"Allowance"]}),i.accountId?Promise.resolve():l.invalidateQueries({queryKey:[s.name,"Accounts"]})]),N.closeAll(),N({title:"Success",description:"Your delegated collateral amount has been updated.",status:"success",duration:5e3})}catch(e){const t=X(e);throw t&&console.error(new Error(t.name),t),N({title:"Could not complete delegating collateral",description:t?(0,re.jsx)(ae.M,{contractError:t}):"Please try again.",status:"error"}),Error("Delegate collateral failed",{cause:e})}}}}),se=$.toString(),ce=ie.matches(G)||ie.matches(W);(0,h.useEffect)((()=>{ce||le(B,{wrapAmount:(0,j.wei)(se)})}),[se,le,ce]),(0,h.useEffect)((()=>{le(P,{requireApproval:b})}),[b,le]);const de=(0,m.TH)(),ue=(0,h.useCallback)((()=>{ie.matches(G)&&i.poolId&&d?.symbol&&(le(R),e(),o({pathname:(0,f.Gn)("/positions/:collateralType/:poolId",{collateralType:d.symbol,poolId:i.poolId}),search:de.search})),le(R),e()}),[de.search,le,e,ie,i.poolId,d?.symbol,o]),he=(0,h.useCallback)((async()=>{ie.matches(G)?ue():ie.context.error?le(_):le(H)}),[ue,le,ie]);return(0,re.jsx)(oe,{collateralChange:a,isOpen:t,onClose:e,collateralType:d,state:ie,setInfiniteApproval:e=>{le(O,{infiniteApproval:e})},onSubmit:he,poolName:V?.name||"",availableCollateral:r||(0,j.wei)(0)})},le=ie},25042:(e,t,a)=>{"use strict";a.d(t,{nQ:()=>s,Tw:()=>c,P0:()=>f});var n=a(38035),r=a(81540),o=a(28535),i=a(21112),l=a(52322);const s=(0,i.I)({viewBox:"0 0 14 14",path:(0,l.jsx)("g",{fill:"currentColor",children:(0,l.jsx)("polygon",{points:"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039"})})}),c=(0,i.I)({d:"M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z"});function d({status:e,children:t}){switch(!0){case e.failed:return(0,l.jsx)(c,{color:"white"});case e.success:return(0,l.jsx)(s,{color:"white"});case e.loading:return(0,l.jsx)(r.$,{color:"white",width:6,height:6});case e.disabled:default:return(0,l.jsx)(o.xu,{__css:{display:"inline",fontWeight:"medium",textAlign:"center",fontSize:"md"},children:t})}}function u(e){switch(!0){case e.failed:return"red.700";case e.disabled:case e.loading:return"gray.700";case e.success:return"green.700";default:return"gray.700"}}function h({status:e,children:t}){return(0,l.jsx)(n.k,{width:10,height:10,minWidth:10,minHeight:10,justifyContent:"center",alignItems:"center",bg:u(e),rounded:"full",transitionProperty:"background",transitionDuration:"normal",children:(0,l.jsx)(d,{status:e,children:t})})}var x=a(98915),p=a(59176);function m({children:e,...t}){return(0,l.jsx)(n.k,{mt:"0.5",children:(0,l.jsx)(x.X,{size:"sm",...t,children:(0,l.jsx)(o.xu,{fontSize:"xs",opacity:"0.66",children:e})})})}function f({step:e,title:t,subtitle:a,checkboxLabel:r,checkboxProps:o,status:i,children:s}){return(0,l.jsxs)(n.k,{position:"relative",alignItems:"center",gap:4,rounded:"lg",mt:"4",p:"4",border:"2px solid",transitionProperty:"border-color",transitionDuration:"normal",borderColor:u(i),children:[(0,l.jsx)(h,{status:i,children:e}),(0,l.jsxs)(n.k,{direction:"column",children:[(0,l.jsx)(p.x,{children:t}),a?(0,l.jsx)(p.x,{as:"div",fontSize:"xs",opacity:"0.66",children:a}):null,r?(0,l.jsx)(m,{...o,children:r}):null,s]})]})}},50899:(e,t,a)=>{"use strict";a.d(t,{$:()=>i});var n=a(47443),r=a(59176),o=a(52322);function i(){return(0,o.jsx)(n.b,{colorScheme:"orange",mb:"4",children:(0,o.jsx)(r.x,{fontWeight:"bold",children:"This action will increase the timeout for withdrawing collateral"})})}},14921:(e,t,a)=>{"use strict";a.d(t,{su:()=>j,TK:()=>y,FZ:()=>b,_M:()=>x,Kh:()=>p,l6:()=>u,RF:()=>c,xi:()=>i,Bg:()=>m,TR:()=>o,K7:()=>g,PF:()=>s,o:()=>f});var n=a(62929),r=a(52322);const o=({color:e="#00D1FF",width:t="219",height:a="18"})=>(0,r.jsxs)(n.J,{width:t,height:a,viewBox:"0 0 219 18",fill:"none",color:e,children:[(0,r.jsxs)("g",{clipPath:"url(#clip0_3615_54299)",children:[(0,r.jsx)("path",{d:"M21.1343 8.56217C20.2004 7.58594 19.078 7.09805 17.7667 7.09805H4.76824C4.52682 7.09805 4.3197 7.00835 4.14648 6.82851C3.97325 6.64912 3.88684 6.43031 3.88684 6.1721V5.04457C3.88684 4.79813 3.97325 4.58476 4.14648 4.40492C4.3197 4.22553 4.52682 4.13538 4.76824 4.13538H21.5278C21.5697 4.13538 21.6036 4.12134 21.6299 4.09325C21.6561 4.06562 21.6693 4.03436 21.6693 4.00084V0.634543C21.6693 0.589695 21.6561 0.556173 21.6299 0.533523C21.6036 0.511325 21.5693 0.5 21.5278 0.5H4.76824C3.44636 0.5 2.32101 0.988342 1.39261 1.96457C0.464202 2.9408 0 4.11862 0 5.49893V5.71773C0 7.10937 0.464202 8.29308 1.39261 9.26931C2.32101 10.2455 3.44636 10.7334 4.76824 10.7334H17.7667C17.9976 10.7334 18.1996 10.8204 18.3724 10.9944C18.5456 11.1683 18.632 11.3844 18.632 11.6426V12.7701C18.632 13.0284 18.5456 13.2444 18.3724 13.4184C18.1992 13.5924 17.9971 13.6793 17.7667 13.6793H0.991512C0.96017 13.6793 0.930945 13.6934 0.905109 13.7215C0.87885 13.7495 0.86572 13.7862 0.86572 13.8311V17.1974C0.86572 17.2309 0.87885 17.2622 0.905109 17.2898C0.931369 17.3179 0.96017 17.3319 0.991512 17.3319H17.7667C19.078 17.3319 20.2004 16.8413 21.1343 15.8592C22.0678 14.8775 22.535 13.6965 22.535 12.3162V12.097C22.5346 10.7167 22.0678 9.5384 21.1343 8.56217Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M49.354 0.5H45.7187C45.6874 0.5 45.6582 0.511325 45.6323 0.533523C45.6061 0.556173 45.5929 0.589695 45.5929 0.634543V4.90957C45.5929 5.27968 45.4142 5.56054 45.058 5.75126L37.8036 8.9658L30.5492 5.75126C30.1925 5.56054 30.0142 5.28013 30.0142 4.90957V0.634543C30.0142 0.589695 30.0036 0.556173 29.9829 0.533523C29.9613 0.511325 29.9299 0.5 29.888 0.5H26.2527C26.2214 0.5 26.1922 0.511325 26.1663 0.533523C26.1401 0.556173 26.127 0.589695 26.127 0.634543V5.53246C26.127 6.26225 26.3159 6.92953 26.6937 7.5352C27.0715 8.14132 27.5852 8.5898 28.2358 8.88154L35.8523 12.2981V17.1797C35.8523 17.2246 35.8655 17.2613 35.8917 17.2893C35.918 17.3174 35.9519 17.3315 35.9938 17.3315H39.629C39.6604 17.3315 39.6892 17.3174 39.7154 17.2893C39.7417 17.2613 39.7548 17.225 39.7548 17.1797V12.2986L47.3714 8.89875C48.0215 8.59569 48.5361 8.14404 48.9135 7.54381C49.2913 6.94357 49.4798 6.27901 49.4798 5.54922V0.634543C49.4798 0.589695 49.4667 0.556173 49.4404 0.533523C49.4141 0.511325 49.3853 0.5 49.354 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M76.356 0.5H72.7208C72.6788 0.5 72.6471 0.514043 72.6263 0.54213C72.6051 0.570216 72.595 0.601021 72.595 0.634543V13.6956H71.0685C70.7852 13.6956 70.5437 13.5611 70.3447 13.2916L63.2948 2.26718C62.5392 1.13421 61.4952 0.544848 60.1632 0.5H54.0892C54.0472 0.5 54.0129 0.514043 53.9867 0.54213C53.9604 0.570216 53.9473 0.601021 53.9473 0.634543V17.1965C53.9473 17.23 53.9604 17.2613 53.9867 17.2889C54.0129 17.317 54.0468 17.331 54.0892 17.331H57.7244C57.7558 17.331 57.7846 17.317 57.8108 17.2889C57.8371 17.2613 57.8502 17.23 57.8502 17.1965V4.13538H59.3766C59.66 4.13538 59.901 4.27581 60.1005 4.55623L67.1503 15.5806C67.9059 16.714 68.9495 17.2975 70.282 17.331H76.3564C76.3984 17.331 76.4297 17.317 76.4509 17.2889C76.4716 17.2613 76.4822 17.23 76.4822 17.1965V0.634543C76.4822 0.601021 76.4716 0.570216 76.4509 0.54213C76.4293 0.514043 76.3979 0.5 76.356 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M102.63 0.5H80.3631C80.3212 0.5 80.2894 0.514043 80.2686 0.54213C80.2475 0.570216 80.2373 0.601021 80.2373 0.634543V4.00084C80.2373 4.03436 80.2475 4.06562 80.2686 4.09325C80.2894 4.12134 80.3212 4.13538 80.3631 4.13538H89.5531V17.1965C89.5531 17.23 89.5633 17.2613 89.5845 17.2889C89.6052 17.317 89.637 17.331 89.6789 17.331H93.3142C93.3561 17.331 93.3875 17.317 93.4086 17.2889C93.4294 17.2613 93.44 17.23 93.44 17.1965V4.13538H102.63C102.672 4.13538 102.706 4.12134 102.732 4.09325C102.758 4.06517 102.771 4.03436 102.771 4.00084V0.634543C102.771 0.601021 102.758 0.570216 102.732 0.54213C102.707 0.514043 102.672 0.5 102.63 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M129.631 0.5H125.996C125.965 0.5 125.936 0.514043 125.91 0.54213C125.883 0.570216 125.87 0.601021 125.87 0.634543V7.0976H111.141V0.634543C111.141 0.601021 111.128 0.570216 111.101 0.54213C111.075 0.514496 111.041 0.5 110.999 0.5H107.364C107.333 0.5 107.304 0.514043 107.278 0.54213C107.251 0.570216 107.238 0.601021 107.238 0.634543V17.1965C107.238 17.23 107.251 17.2613 107.278 17.2889C107.304 17.317 107.333 17.331 107.364 17.331H110.999C111.041 17.331 111.075 17.317 111.101 17.2889C111.128 17.2608 111.141 17.23 111.141 17.1965V10.7334H125.87V17.1965C125.87 17.23 125.883 17.2613 125.91 17.2889C125.936 17.317 125.965 17.331 125.996 17.331H129.631C129.673 17.331 129.707 17.317 129.733 17.2889C129.76 17.2608 129.773 17.23 129.773 17.1965V0.634543C129.773 0.601021 129.759 0.570216 129.733 0.54213C129.707 0.514043 129.673 0.5 129.631 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M156.537 0.5H138.896C137.584 0.5 136.462 0.987889 135.529 1.96412C134.595 2.94035 134.128 4.11862 134.128 5.49893V12.3153C134.128 13.707 134.595 14.8907 135.529 15.8669C136.462 16.8431 137.584 17.3315 138.896 17.3315H156.537C156.568 17.3315 156.597 17.3174 156.623 17.2893C156.649 17.2613 156.663 17.2305 156.663 17.1969V13.8306C156.663 13.7858 156.649 13.7523 156.623 13.7296C156.597 13.7074 156.568 13.6961 156.537 13.6961H138.896C138.655 13.6961 138.45 13.6064 138.282 13.427C138.114 13.2476 138.03 13.0343 138.03 12.7874V10.7334H156.525C156.567 10.7334 156.599 10.7194 156.62 10.6913C156.64 10.6632 156.651 10.6324 156.651 10.5989V7.23259C156.651 7.18774 156.64 7.15422 156.62 7.13157C156.599 7.10937 156.567 7.09805 156.525 7.09805H138.03V5.04457C138.03 4.79768 138.114 4.58476 138.282 4.40492C138.45 4.22553 138.655 4.13538 138.896 4.13538H156.537C156.568 4.13538 156.597 4.12134 156.623 4.09325C156.649 4.06562 156.663 4.03436 156.663 4.00084V0.634543C156.663 0.601021 156.649 0.570216 156.623 0.54213C156.597 0.514496 156.568 0.5 156.537 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M183.41 0.5H161.142C161.1 0.5 161.069 0.514043 161.048 0.54213C161.027 0.570216 161.017 0.601021 161.017 0.634543V4.00084C161.017 4.03436 161.027 4.06562 161.048 4.09325C161.069 4.12134 161.1 4.13538 161.142 4.13538H170.332V17.1965C170.332 17.23 170.343 17.2613 170.364 17.2889C170.385 17.317 170.416 17.331 170.458 17.331H174.093C174.135 17.331 174.167 17.317 174.188 17.2889C174.209 17.2613 174.219 17.23 174.219 17.1965V4.13538H183.409C183.451 4.13538 183.485 4.12134 183.511 4.09325C183.538 4.06517 183.551 4.03436 183.551 4.00084V0.634543C183.551 0.601021 183.538 0.570216 183.511 0.54213C183.486 0.514043 183.451 0.5 183.41 0.5Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M191.874 0.533523C191.853 0.511325 191.821 0.5 191.78 0.5H188.144C188.102 0.5 188.071 0.511325 188.05 0.533523C188.029 0.556173 188.019 0.589695 188.019 0.634543V17.1965C188.019 17.23 188.029 17.2613 188.05 17.2889C188.071 17.317 188.102 17.331 188.144 17.331H191.78C191.821 17.331 191.853 17.317 191.874 17.2889C191.895 17.2608 191.905 17.23 191.905 17.1965V0.634543C191.905 0.590148 191.895 0.556173 191.874 0.533523Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M201.91 4.58965C201.753 4.39894 201.559 4.30335 201.328 4.30335H196.607C196.565 4.30335 196.531 4.28931 196.505 4.26122C196.479 4.23359 196.466 4.20233 196.466 4.16881V0.802512C196.466 0.768989 196.479 0.738185 196.505 0.710098C196.531 0.682465 196.565 0.667969 196.607 0.667969H201.596C202.855 0.667969 203.94 1.21248 204.853 2.30061L206.065 3.86575L203.705 6.91222L201.91 4.58965ZM210.628 2.28385C211.541 1.20659 212.632 0.667969 213.901 0.667969H218.874C218.916 0.667969 218.947 0.679294 218.969 0.701491C218.989 0.724142 219 0.757664 219 0.802512V4.16881C219 4.20233 218.989 4.23359 218.969 4.26122C218.947 4.28931 218.916 4.30335 218.874 4.30335H214.153C213.922 4.30335 213.728 4.39894 213.571 4.58965L210.093 9.06673L213.587 13.5773C213.744 13.7572 213.933 13.8469 214.153 13.8469H218.874C218.916 13.8469 218.947 13.8609 218.969 13.889C218.989 13.9171 219 13.9538 219 13.9982V17.3645C219 17.398 218.989 17.4292 218.969 17.4569C218.947 17.485 218.916 17.499 218.874 17.499H213.902C212.632 17.499 211.546 16.9549 210.644 15.8664L207.749 12.13L204.853 15.8664C203.94 16.9549 202.849 17.499 201.58 17.499H196.607C196.565 17.499 196.534 17.485 196.513 17.4569C196.492 17.4288 196.481 17.3925 196.481 17.3472V13.9809C196.481 13.9474 196.492 13.9166 196.513 13.8885C196.534 13.8604 196.565 13.8464 196.607 13.8464H201.328C201.548 13.8464 201.742 13.7513 201.91 13.5601L205.325 9.15053L210.628 2.28385Z",fill:"currentColor"})]}),(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"clip0_3615_54299",children:(0,r.jsx)("rect",{width:"219",height:"17",fill:"white",transform:"translate(0 0.5)"})})})]}),i=({width:e="24px",height:t="24px",fill:a="#627EEA"})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 30 30",fill:"none",children:[(0,r.jsx)("path",{d:"M15 30c8.284 0 15-6.716 15-15 0-8.284-6.716-15-15-15C6.716 0 0 6.716 0 15c0 8.284 6.716 15 15 15Z",fill:a}),(0,r.jsx)("path",{d:"M15.467 3.75v8.316l7.028 3.14L15.467 3.75Z",fill:"#fff",fillOpacity:".602"}),(0,r.jsx)("path",{d:"m15.467 3.75-7.03 11.456 7.03-3.14V3.75Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M15.467 20.595v5.65l7.033-9.73-7.033 4.08Z",fill:"#fff",fillOpacity:".602"}),(0,r.jsx)("path",{d:"M15.467 26.245v-5.651l-7.03-4.08 7.03 9.731Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m15.467 19.287 7.028-4.08-7.028-3.14v7.22Z",fill:"#fff",fillOpacity:".2"}),(0,r.jsx)("path",{d:"m8.438 15.206 7.029 4.081v-7.22l-7.03 3.14Z",fill:"#fff",fillOpacity:".602"})]}),l=({width:e="25px",height:t="24px",color:a="#2ED9FF",fill:o="#0E052F",...i})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 30 31",fill:"none",...i,children:[(0,r.jsx)("path",{d:"M30 15.268c0 8.284-6.716 15-15 15-8.284 0-15-6.716-15-15 0-8.285 6.716-15 15-15 8.284 0 15 6.715 15 15Z",fill:o}),(0,r.jsx)("path",{d:"M10.107 11.673a.624.624 0 0 0-.487-.224H5.674a.115.115 0 0 1-.086-.033.1.1 0 0 1-.032-.073V8.706a.1.1 0 0 1 .032-.072.115.115 0 0 1 .086-.033h4.17c1.053 0 1.96.426 2.723 1.279l1.013 1.226-1.973 2.387-1.5-1.82Zm7.289-1.806c.763-.844 1.675-1.266 2.736-1.266h4.157c.035 0 .061.008.08.026.017.018.026.044.026.079v2.637c0 .027-.01.051-.027.073s-.044.033-.079.033h-3.946a.624.624 0 0 0-.487.224l-2.908 3.508 2.92 3.534c.133.14.29.211.475.211h3.946c.035 0 .061.011.08.033.017.022.026.05.026.086v2.637c0 .026-.01.05-.027.073-.017.021-.044.033-.079.033h-4.157c-1.061 0-1.969-.427-2.723-1.28l-2.42-2.927-2.422 2.927c-.763.853-1.675 1.28-2.736 1.28H5.674c-.035 0-.062-.012-.08-.034a.132.132 0 0 1-.025-.085V19.03c0-.026.008-.05.026-.072.017-.022.044-.033.079-.033H9.62a.65.65 0 0 0 .487-.225l2.855-3.454 4.434-5.38Z",fill:a})]}),s=({width:e="24px",height:t="24px",color:a="white",fill:o="#FF0420",...i})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 34 34",...i,children:[(0,r.jsx)("path",{d:"M17 34C26.3888 34 34 26.3888 34 17C34 7.61116 26.3888 0 17 0C7.61116 0 0 7.61116 0 17C0 26.3888 7.61116 34 17 34Z",fill:o}),(0,r.jsx)("path",{d:"M12.3295 21.76C11.3042 21.76 10.4641 21.5131 9.80918 21.0195C9.16298 20.5171 8.83984 19.8031 8.83984 18.8775C8.83984 18.6836 8.8614 18.4456 8.90444 18.1635C9.01651 17.5289 9.1759 16.7664 9.38269 15.8761C9.96858 13.452 11.4808 12.24 13.9193 12.24C14.5828 12.24 15.1773 12.3546 15.7029 12.5838C16.2285 12.8041 16.6421 13.1391 16.9437 13.5886C17.2453 14.0294 17.3961 14.5583 17.3961 15.1753C17.3961 15.3604 17.3745 15.594 17.3314 15.8761C17.2022 16.6606 17.0471 17.4231 16.8662 18.1635C16.5646 19.3711 16.0433 20.2747 15.3022 20.8741C14.5612 21.4647 13.5703 21.76 12.3295 21.76ZM12.5105 19.856C12.993 19.856 13.4023 19.7105 13.7384 19.4196C14.083 19.1288 14.3286 18.6836 14.4751 18.0842C14.6732 17.2556 14.824 16.5328 14.9274 15.9158C14.9619 15.7306 14.9791 15.5411 14.9791 15.3472C14.9791 14.5451 14.5699 14.144 13.7513 14.144C13.2688 14.144 12.8552 14.2894 12.5105 14.5803C12.1744 14.8712 11.9332 15.3164 11.7867 15.9158C11.6316 16.5064 11.4765 17.2291 11.3214 18.0842C11.287 18.2605 11.2697 18.4456 11.2697 18.6395C11.2697 19.4505 11.6833 19.856 12.5105 19.856Z",fill:a}),(0,r.jsx)("path",{d:"M17.9895 21.6278C17.8947 21.6278 17.8215 21.597 17.7698 21.5352C17.7267 21.4647 17.7138 21.3854 17.731 21.2972L19.5146 12.7028C19.5318 12.6059 19.5792 12.5265 19.6568 12.4648C19.7344 12.4031 19.8162 12.3722 19.9024 12.3722H23.3404C24.2968 12.3722 25.0636 12.575 25.641 12.9805C26.2269 13.386 26.5199 13.9721 26.5199 14.739C26.5199 14.9594 26.494 15.1886 26.4423 15.4266C26.2269 16.4403 25.7918 17.1895 25.1369 17.6744C24.4907 18.1592 23.6031 18.4016 22.4744 18.4016H20.7295L20.135 21.2972C20.1178 21.3942 20.0704 21.4735 19.9928 21.5352C19.9153 21.597 19.8334 21.6278 19.7473 21.6278H17.9895ZM22.5648 16.5769C22.9267 16.5769 23.2412 16.4755 23.5084 16.2728C23.7841 16.0701 23.965 15.7792 24.0513 15.4001C24.0771 15.2503 24.09 15.1181 24.09 15.0035C24.09 14.7479 24.0168 14.5539 23.8703 14.4217C23.7238 14.2806 23.4739 14.2101 23.1206 14.2101H21.5697L21.0785 16.5769H22.5648Z",fill:a})]}),c=({width:e="15px",height:t="15px",...a})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 19 18",fill:"none",...a,children:[(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.79517 2.75357C6.44891 2.75357 3.73624 5.46625 3.73624 8.8125C3.73624 12.1588 6.44891 14.8714 9.79517 14.8714C13.1414 14.8714 15.8541 12.1588 15.8541 8.8125C15.8541 5.46625 13.1414 2.75357 9.79517 2.75357ZM2.48267 8.8125C2.48267 4.77392 5.75658 1.5 9.79517 1.5C13.8337 1.5 17.1077 4.77392 17.1077 8.8125C17.1077 12.8511 13.8337 16.125 9.79517 16.125C5.75658 16.125 2.48267 12.8511 2.48267 8.8125Z",fill:"white"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.03962 7.48711C9.04452 7.25329 9.11127 7.15806 9.15621 7.11271C9.21551 7.05288 9.33009 6.98862 9.54225 6.95486C9.98435 6.88451 10.5823 6.98693 11.0758 7.11688L11.6819 7.27652L12.0011 6.06428L11.395 5.90465C10.8745 5.76757 10.0611 5.60296 9.34526 5.71686C8.97845 5.77523 8.57742 5.91591 8.26586 6.23026C7.94168 6.55735 7.78576 6.99985 7.78576 7.51481V7.53855L7.78756 7.56221C7.83275 8.15802 8.18724 8.55401 8.55492 8.8144C8.89199 9.05311 9.30983 9.22697 9.64735 9.36742C9.66009 9.37272 9.67272 9.37797 9.68522 9.38318C10.0665 9.54198 10.3494 9.6643 10.5455 9.80792C10.7181 9.93436 10.7353 10.0108 10.7353 10.0783C10.7353 10.3402 10.6583 10.4442 10.5979 10.4988C10.5171 10.5719 10.3654 10.6431 10.1066 10.6754C9.57934 10.741 8.8945 10.6119 8.39035 10.4769L7.7849 10.3148L7.4606 11.5257L8.06605 11.6878C8.59887 11.8305 9.48099 12.0165 10.2615 11.9193C10.6565 11.8701 11.0939 11.7404 11.4387 11.4286C11.8039 11.0983 11.9889 10.6336 11.9889 10.0783C11.9889 9.47293 11.6504 9.06337 11.2862 8.79661C10.9547 8.55379 10.534 8.37864 10.1954 8.23769C10.1859 8.23376 10.1765 8.22986 10.1672 8.22598C9.78653 8.06741 9.49239 7.94221 9.27941 7.79139C9.09878 7.66347 9.051 7.56996 9.03962 7.48711Z",fill:"white"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.79517 11.0063C10.1413 11.0063 10.422 11.2869 10.422 11.633V13.2H9.16838V11.633C9.16838 11.2869 9.449 11.0063 9.79517 11.0063Z",fill:"white"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.422 4.425V5.99196C10.422 6.33813 10.1413 6.61875 9.79517 6.61875C9.449 6.61875 9.16838 6.33813 9.16838 5.99196V4.425H10.422Z",fill:"white"})]}),d=({width:e="42px",height:t="42px"})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 42 42",fill:"none",children:[(0,r.jsxs)("g",{clipPath:"url(#a)",children:[(0,r.jsx)("path",{fill:"#F7931A",d:"M21 42c11.598 0 21-9.402 21-21S32.598 0 21 0 0 9.402 0 21s9.402 21 21 21z"}),(0,r.jsx)("path",{fill:"#fff",d:"M30.436 18.401c.412-2.75-1.684-4.23-4.548-5.217l.93-3.727-2.269-.565-.905 3.63c-.596-.15-1.208-.29-1.818-.429l.912-3.652-2.268-.566-.93 3.726c-.493-.113-.978-.223-1.448-.341l.002-.012-3.129-.78-.603 2.422s1.684.386 1.648.41c.919.23 1.084.837 1.057 1.32l-1.058 4.246c.063.016.144.04.236.075l-.24-.06-1.483 5.949c-.113.278-.398.697-1.041.538.024.033-1.649-.41-1.649-.41l-1.126 2.595 2.953.737c.549.137 1.087.282 1.616.417l-.938 3.77 2.266.564.93-3.728c.62.167 1.22.322 1.808.469l-.926 3.712 2.268.564.938-3.762c3.87.733 6.778.438 8.002-3.062.987-2.816-.048-4.442-2.084-5.502 1.483-.34 2.599-1.316 2.897-3.33zM25.25 25.67c-.7 2.818-5.444 1.294-6.982.912l1.247-4.994c1.538.385 6.47 1.145 5.735 4.082zm.703-7.31c-.64 2.564-4.588 1.26-5.867.942l1.128-4.528c1.28.318 5.405.913 4.739 3.587z"})]}),(0,r.jsx)("defs",{children:(0,r.jsx)("clipPath",{id:"a",children:(0,r.jsx)("path",{fill:"#fff",d:"M0 0h42v42H0z"})})})]}),u=({symbol:e,fill:t="#00D1FF",color:a="#FFFFFF",...n})=>{switch(e){case"WETH":case"ETH":return(0,r.jsx)(i,{...n});case"SNX":case"fSNX":return(0,r.jsx)(l,{fill:t,color:a,...n});case"OP":return(0,r.jsx)(s,{...n});case"sUSD":case"snxUSD":return(0,r.jsx)(c,{...n});case"WBTC":return(0,r.jsx)(d,{...n});default:return(0,r.jsx)(h,{...n})}},h=({width:e="32px",height:t="32px",...a})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 32 32",fill:"none",...a,children:[(0,r.jsx)("circle",{cx:"16",cy:"16",r:"15",fill:"white",stroke:"white"}),(0,r.jsx)("path",{d:"M14.1156 19.2899V19.0472C14.1205 18.2147 14.1955 17.551 14.3408 17.0563C14.4908 16.5615 14.7087 16.1619 14.9944 15.8574C15.28 15.5529 15.6238 15.277 16.0257 15.0296C16.3258 14.8393 16.5946 14.6419 16.8318 14.4373C17.069 14.2328 17.2579 14.0068 17.3983 13.7594C17.5387 13.5073 17.6089 13.2266 17.6089 12.9174C17.6089 12.5891 17.529 12.3013 17.3692 12.0539C17.2095 11.8065 16.994 11.6162 16.7229 11.483C16.4566 11.3498 16.1612 11.2832 15.8368 11.2832C15.5221 11.2832 15.2244 11.3522 14.9435 11.4901C14.6627 11.6233 14.4327 11.8232 14.2536 12.0896C14.0745 12.3512 13.9776 12.6771 13.9631 13.0672H11C11.0242 12.1157 11.2566 11.3308 11.6972 10.7123C12.1378 10.0891 12.7212 9.62525 13.4475 9.32078C14.1737 9.01155 14.975 8.85693 15.8514 8.85693C16.8149 8.85693 17.667 9.01393 18.4078 9.32791C19.1485 9.63714 19.7295 10.0867 20.1508 10.6766C20.572 11.2665 20.7826 11.9778 20.7826 12.8103C20.7826 13.3669 20.6882 13.8617 20.4994 14.2946C20.3154 14.7228 20.0564 15.1034 19.7223 15.4364C19.3882 15.7646 18.9936 16.062 18.5385 16.3284C18.156 16.552 17.8413 16.7851 17.5944 17.0277C17.3523 17.2703 17.1707 17.551 17.0497 17.8698C16.9335 18.1885 16.873 18.581 16.8681 19.0472V19.2899H14.1156ZM15.5536 23.8569C15.0694 23.8569 14.6555 23.6904 14.3117 23.3574C13.9728 23.0196 13.8058 22.6153 13.8106 22.1443C13.8058 21.6781 13.9728 21.2784 14.3117 20.9454C14.6555 20.6124 15.0694 20.4459 15.5536 20.4459C16.0136 20.4459 16.4178 20.6124 16.7664 20.9454C17.115 21.2784 17.2918 21.6781 17.2966 22.1443C17.2918 22.4583 17.207 22.7461 17.0424 23.0077C16.8826 23.2646 16.672 23.4716 16.4106 23.6286C16.1491 23.7808 15.8635 23.8569 15.5536 23.8569Z",fill:"#06061B"})]}),x=({width:e="20px",height:t="20px",...a})=>(0,r.jsx)(n.J,{width:e,height:t,color:"cyan.400",viewBox:"0 0 20 20",fill:"none",...a,children:(0,r.jsx)("path",{d:"M9.99962 10.9766L14.1246 6.85156L15.303 8.0299L9.99962 13.3332L4.69629 8.0299L5.87462 6.85156L9.99962 10.9766Z",fill:"currentColor"})}),p=({width:e="20px",height:t="20px",...a})=>(0,r.jsx)(n.J,{width:e,height:t,color:"cyan.400",viewBox:"0 0 25 24",fill:"none",...a,children:(0,r.jsx)("path",{d:"M12.3564 10.828L7.40643 15.778L5.99243 14.364L12.3564 8L18.7204 14.364L17.3064 15.778L12.3564 10.828Z",fill:"currentColor"})}),m=({width:e="94px",height:t="94px"})=>(0,r.jsxs)(n.J,{width:e,height:t,viewBox:"0 0 94 94",fill:"none",children:[(0,r.jsx)("g",{filter:"url(#filter0_d_1044_28165)",children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M47 76.3333C63.2004 76.3333 76.3333 63.2004 76.3333 47C76.3333 30.7996 63.2004 17.6667 47 17.6667C30.7996 17.6667 17.6667 30.7996 17.6667 47C17.6667 63.2004 30.7996 76.3333 47 76.3333ZM47 79C64.6731 79 79 64.6731 79 47C79 29.3269 64.6731 15 47 15C29.3269 15 15 29.3269 15 47C15 64.6731 29.3269 79 47 79Z",fill:"#FF4A60"})}),(0,r.jsx)("g",{filter:"url(#filter1_d_1044_28165)",children:(0,r.jsx)("path",{d:"M56.3334 39.5466L54.4534 37.6666L47.0001 45.12L39.5467 37.6666L37.6667 39.5466L45.1201 47L37.6667 54.4533L39.5467 56.3333L47.0001 48.88L54.4534 56.3333L56.3334 54.4533L48.8801 47L56.3334 39.5466Z",fill:"#FF4A60"})}),(0,r.jsxs)("defs",{children:[(0,r.jsxs)("filter",{id:"filter0_d_1044_28165",x:"0",y:"0",width:"94",height:"94",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[(0,r.jsx)("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),(0,r.jsx)("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),(0,r.jsx)("feOffset",{}),(0,r.jsx)("feGaussianBlur",{stdDeviation:"7.5"}),(0,r.jsx)("feColorMatrix",{type:"matrix",values:"0 0 0 0 1 0 0 0 0 0.116667 0 0 0 0 0.222667 0 0 0 0.6 0"}),(0,r.jsx)("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1044_28165"}),(0,r.jsx)("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1044_28165",result:"shape"})]}),(0,r.jsxs)("filter",{id:"filter1_d_1044_28165",x:"22.6667",y:"22.6666",width:"48.6667",height:"48.6666",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[(0,r.jsx)("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),(0,r.jsx)("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),(0,r.jsx)("feOffset",{}),(0,r.jsx)("feGaussianBlur",{stdDeviation:"7.5"}),(0,r.jsx)("feColorMatrix",{type:"matrix",values:"0 0 0 0 1 0 0 0 0 0.116667 0 0 0 0 0.222667 0 0 0 0.6 0"}),(0,r.jsx)("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1044_28165"}),(0,r.jsx)("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1044_28165",result:"shape"})]})]})]}),f=({width:e="20px",height:t="20ox",color:a="whiteAlpha.700",...o})=>(0,r.jsxs)(n.J,{width:e,color:a,height:t,viewBox:"0 0 20 20",fill:"none",...o,children:[(0,r.jsx)("path",{d:"M6.58154 6.2701C6.23637 6.2701 5.95654 6.54993 5.95654 6.8951C5.95654 7.24028 6.23637 7.5201 6.58154 7.5201H10.3101C10.6553 7.5201 10.9351 7.24028 10.9351 6.8951C10.9351 6.54993 10.6553 6.2701 10.3101 6.2701H6.58154Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M13.972 9.10498C13.6268 9.10498 13.347 9.38481 13.347 9.72998C13.347 10.0752 13.6268 10.355 13.972 10.355H14.1873C14.5324 10.355 14.8123 10.0752 14.8123 9.72998C14.8123 9.38481 14.5324 9.10498 14.1873 9.10498H13.972Z",fill:"currentColor"}),(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.2918 11.6311L17.2916 11.6447V12.3416C17.2916 14.6883 15.3892 16.5907 13.0426 16.5907H7.07331C4.72664 16.5907 2.82422 14.6883 2.82422 12.3416V7.38508C2.82422 5.0384 4.72664 3.13599 7.07331 3.13599H13.0426C15.3892 3.13599 17.2916 5.0384 17.2916 7.38508V7.90016L17.2918 7.91382L17.2916 7.92747V11.6174L17.2918 11.6311ZM7.07331 4.38599C5.41699 4.38599 4.07422 5.72876 4.07422 7.38508V12.3416C4.07422 13.9979 5.41699 15.3407 7.07331 15.3407H13.0426C14.6989 15.3407 16.0416 13.9979 16.0416 12.3416V12.2561H13.871C12.4998 12.2552 11.3876 11.1445 11.3867 9.77282C11.3867 8.40047 12.4998 7.28966 13.8706 7.28882H16.0401C15.9893 5.67705 14.6667 4.38599 13.0426 4.38599H7.07331ZM13.8714 11.0061H16.0416V8.53882H13.8712C13.1891 8.53932 12.6369 9.09162 12.6367 9.77223C12.6372 10.4535 13.1895 11.0056 13.8714 11.0061Z",fill:"currentColor"})]}),g=({color:e="cyan.400"})=>(0,r.jsx)(n.J,{width:"29",height:"21",viewBox:"0 0 29 21",fill:"none",color:e,children:(0,r.jsx)("path",{d:"M6.81239 5.45766C6.61525 5.22805 6.37254 5.11297 6.08372 5.11297H0.177C0.124536 5.11297 0.0816109 5.09606 0.0492845 5.06224C0.0164282 5.02898 0 4.99134 0 4.95098V0.89807C0 0.85771 0.0164282 0.820622 0.0492845 0.786807C0.0816109 0.752992 0.124536 0.736084 0.177 0.736084H6.41864C7.99362 0.736084 9.35239 1.39166 10.4944 2.70173L12.0106 4.58611L9.05721 8.25396L6.81239 5.45766ZM17.7207 2.68155C18.8627 1.38457 20.2278 0.736084 21.8161 0.736084H28.0381C28.0906 0.736084 28.1298 0.749719 28.1563 0.776444C28.1822 0.803714 28.1955 0.844074 28.1955 0.89807V4.95098C28.1955 4.99134 28.1822 5.02898 28.1563 5.06224C28.1298 5.09606 28.0906 5.11297 28.0381 5.11297H22.1314C21.8426 5.11297 21.5998 5.22805 21.4027 5.45766L17.0514 10.8479L21.4223 16.2785C21.6195 16.495 21.8553 16.603 22.1314 16.603H28.0381C28.0906 16.603 28.1298 16.6199 28.1563 16.6538C28.1822 16.6876 28.1955 16.7318 28.1955 16.7852V20.8381C28.1955 20.8785 28.1822 20.9161 28.1563 20.9494C28.1298 20.9832 28.0906 21.0001 28.0381 21.0001H21.8161C20.2278 21.0001 18.8691 20.3451 17.7403 19.0345L14.1176 14.5359L10.4944 19.0345C9.35239 20.3451 7.98727 21.0001 6.39903 21.0001H0.177C0.124536 21.0001 0.0847905 20.9832 0.0588234 20.9494C0.0323264 20.9156 0.0196078 20.8719 0.0196078 20.8174V16.7645C0.0196078 16.7241 0.0323264 16.687 0.0588234 16.6532C0.0847905 16.6194 0.124536 16.6025 0.177 16.6025H6.08372C6.35929 16.6025 6.602 16.488 6.81239 16.2578L11.0848 10.9488L17.7207 2.68155Z",fill:"currentColor"})}),y=({width:e="15px",height:t="15px",...a})=>(0,r.jsx)(n.J,{width:e,height:t,viewBox:"0 0 18 18",fill:"none",...a,children:(0,r.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.48247 2.4375C4.94851 2.4375 4.51566 2.87036 4.51566 3.40431V5.43752H3.21022C2.67626 5.43752 2.24341 5.87038 2.24341 6.40434V8.59571C2.24341 9.12967 2.67626 9.56252 3.21022 9.56252H4.75822V11.4382C4.24137 11.4576 3.82831 11.8827 3.82831 12.4043V14.5957C3.82831 15.1296 4.26117 15.5625 4.79512 15.5625H13.8598C14.3938 15.5625 14.8266 15.1296 14.8266 14.5957V12.5618C15.3435 12.5424 15.7565 12.1173 15.7565 11.5957V9.40431C15.7565 8.87036 15.3237 8.4375 14.7897 8.4375H13.2417V6.5625H14.5472C15.0811 6.5625 15.514 6.12964 15.514 5.59569V3.40431C15.514 2.87036 15.0811 2.4375 14.5472 2.4375H5.48247ZM5.64066 5.4375V3.5625H14.389V5.4375H5.64066ZM3.36841 6.56252V8.43752H5.71853L5.72504 8.4375H12.1167V6.56252H3.36841ZM5.88322 11.4375V9.56252H12.2749L12.2814 9.5625H14.6315V11.4375H5.88322ZM4.95331 14.4375V12.5625H13.7016V14.4375H4.95331Z",fill:"white"})})}),b=({width:e="119px",height:t="33px",...a})=>(0,r.jsxs)(n.J,{width:e,height:t,fill:"none",viewBox:"0 0 119 33",...a,children:[(0,r.jsx)("path",{d:"M116.41.7H3.436C2.117.7 1.049 1.757 1.049 3.06v26.88c0 1.303 1.068 2.36 2.387 2.36H116.41c1.319 0 2.388-1.056 2.388-2.36V3.06c0-1.303-1.069-2.36-2.388-2.36Z",fill:"#000"}),(0,r.jsx)("path",{d:"M116.41.9c1.206 0 2.185.968 2.185 2.16v26.88c0 1.192-.979 2.16-2.185 2.16H3.436c-1.206 0-2.185-.968-2.185-2.16V3.06C1.25 1.868 2.23.9 3.436.9H116.41Zm0-.4H3.436C2.007.5.846 1.648.846 3.06v26.88c0 1.412 1.161 2.56 2.59 2.56H116.41c1.429 0 2.59-1.148 2.59-2.56V3.06c0-1.412-1.161-2.56-2.59-2.56Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m15.55 7.268-8.092 4.616v9.232l8.092 4.616 8.093-4.616v-9.232L15.55 7.268Zm4.662 11.892-4.662 2.66-4.661-2.66v-5.32l4.661-2.66 4.662 2.66v5.32Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M32.877 20.96c-.036-.212-.214-.544-.708-.544-.368 0-.611.232-.611.488 0 .212.138.38.425.436l.546.104c.708.136 1.089.592 1.089 1.136 0 .592-.502 1.192-1.409 1.192-1.035 0-1.493-.66-1.553-1.208l.704-.184c.032.38.303.724.854.724.408 0 .63-.2.63-.472 0-.224-.17-.396-.473-.456l-.546-.108c-.623-.124-1.024-.524-1.024-1.104 0-.684.623-1.208 1.36-1.208.947 0 1.311.564 1.396 1l-.684.208.004-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M34.641 23.692v-3.856h2.444v.708h-1.683v.88h1.525v.668h-1.525v.892h1.683v.708h-2.444Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M37.987 21.768c0-1.228.943-2.012 1.987-2.012s1.635.652 1.789 1.28l-.716.224c-.093-.368-.397-.776-1.073-.776-.582 0-1.197.412-1.197 1.288 0 .82.582 1.272 1.21 1.272.667 0 .99-.428 1.096-.788l.708.212c-.15.592-.708 1.312-1.805 1.312-1.096 0-1.998-.776-1.998-2.008v-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M42.739 22.328v-2.492h.76v2.436c0 .504.288.772.737.772s.744-.268.744-.772v-2.436h.761v2.492c0 .948-.667 1.452-1.501 1.452-.834 0-1.497-.504-1.497-1.452h-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M48.136 22.208h-.396v1.484h-.765v-3.856h1.526c.76 0 1.242.516 1.242 1.184 0 .54-.32.948-.83 1.092l.838 1.576h-.846l-.765-1.484-.004.004Zm.219-.648c.384 0 .61-.216.61-.532 0-.316-.226-.54-.61-.54h-.615v1.072h.615Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M50.798 23.692v-3.856h2.444v.708H51.56v.88h1.526v.668h-1.526v.892h1.683v.708h-2.444Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M54.388 23.692v-3.856h1.396c1.113 0 1.926.712 1.926 1.932s-.821 1.924-1.93 1.924h-1.392Zm1.364-.696c.64 0 1.173-.392 1.173-1.228s-.53-1.236-1.165-1.236h-.611v2.464h.607-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M64.864 19.836h.777l-1.08 3.856h-.782l-.89-2.748-.89 2.748h-.793l-1.085-3.856h.806l.716 2.656.866-2.656h.785l.87 2.664.704-2.664h-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M66.538 23.692v-3.856h.77v3.856h-.77Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M70.225 20.548v3.144h-.765v-3.144h-1.234v-.712h3.229v.712h-1.234.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M74.834 23.692v-1.6h-1.7v1.6h-.76v-3.856h.76v1.552h1.7v-1.552h.764v3.856h-.764Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M78.391 21.768c0-1.228.943-2.012 1.987-2.012s1.635.652 1.788 1.28l-.716.224c-.093-.368-.396-.776-1.072-.776-.583 0-1.198.412-1.198 1.288 0 .82.583 1.272 1.21 1.272.668 0 .991-.428 1.097-.788l.708.212c-.15.592-.708 1.312-1.805 1.312s-1.999-.776-1.999-2.008v-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M85.67 23.692v-1.6h-1.699v1.6h-.76v-3.856h.76v1.552h1.7v-1.552h.764v3.856h-.764Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M90.036 22.812H88.45l-.324.88h-.805l1.497-3.856h.882l1.485 3.856h-.825l-.324-.88Zm-1.331-.684h1.08l-.538-1.456-.538 1.456h-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M92.072 23.692v-3.856h.769v3.856h-.77Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m96.648 23.692-1.773-2.736v2.736h-.76v-3.856h.947l1.622 2.552v-2.552h.76v3.856h-.796Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M98.723 23.692v-3.856h.76v3.14h1.741v.716h-2.501Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M102.192 23.692v-3.856h.769v3.856h-.769Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m106.768 23.692-1.772-2.736v2.736h-.761v-3.856h.947l1.622 2.552v-2.552h.761v3.856h-.797Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m110.086 22.092-.486.528v1.072h-.761v-3.856h.761v1.748l1.562-1.748h.995l-1.545 1.68 1.557 2.176h-.95l-1.133-1.6Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M30.842 12.352c0-2.024 1.55-3.316 3.274-3.316 1.723 0 2.69 1.076 2.945 2.104l-1.177.368c-.154-.608-.651-1.28-1.768-1.28-.96 0-1.975.68-1.975 2.124 0 1.352.959 2.096 1.995 2.096 1.096 0 1.63-.708 1.805-1.3l1.169.348c-.247.976-1.17 2.16-2.974 2.16-1.805 0-3.29-1.28-3.29-3.308l-.004.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M40.514 12.299a1.778 1.778 0 0 0-.365-.036c-.615 0-1.149.296-1.149 1.244v2.016h-1.206v-4.408h1.17v.656c.27-.584.886-.688 1.27-.688.101 0 .19.008.28.016v1.2Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M45.478 13.32c0 1.351-1.008 2.34-2.339 2.34s-2.339-.985-2.339-2.34c0-1.357 1.008-2.34 2.339-2.34s2.339.975 2.339 2.34Zm-1.206 0c0-.833-.542-1.257-1.133-1.257-.59 0-1.133.42-1.133 1.256 0 .836.542 1.256 1.133 1.256.59 0 1.133-.42 1.133-1.256Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M46.902 14.071c.029.348.292.672.818.672.4 0 .59-.208.59-.44 0-.196-.137-.36-.481-.432l-.59-.136c-.863-.188-1.251-.7-1.251-1.316 0-.788.708-1.444 1.667-1.444 1.27 0 1.695.796 1.748 1.272l-1.008.224c-.036-.26-.226-.592-.732-.592-.316 0-.57.188-.57.44 0 .216.161.348.408.396l.635.136c.878.18 1.323.708 1.323 1.352 0 .716-.562 1.452-1.731 1.452-1.344 0-1.805-.86-1.858-1.36l1.032-.224Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M50.9 14.071c.029.348.292.672.818.672.4 0 .59-.208.59-.44 0-.196-.137-.36-.481-.432l-.59-.136c-.863-.188-1.251-.7-1.251-1.316 0-.788.708-1.444 1.667-1.444 1.27 0 1.695.796 1.748 1.272l-1.008.224c-.036-.26-.226-.592-.732-.592-.316 0-.57.188-.57.44 0 .216.161.348.408.396l.636.136c.878.18 1.323.708 1.323 1.352 0 .716-.563 1.452-1.732 1.452-1.34 0-1.805-.86-1.858-1.36l1.032-.224Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M54.007 13.392v-1.056h2.63v1.056h-2.63Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M57.216 12.352c0-2.024 1.55-3.316 3.274-3.316 1.723 0 2.69 1.076 2.945 2.104l-1.177.368c-.154-.608-.652-1.28-1.768-1.28-.96 0-1.975.68-1.975 2.124 0 1.352.96 2.096 1.995 2.096 1.096 0 1.63-.708 1.805-1.3l1.169.348c-.247.976-1.17 2.16-2.974 2.16-1.805 0-3.29-1.28-3.29-3.308l-.004.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M65.366 15.524H64.16V9.036h1.206v2.448c.292-.34.781-.484 1.206-.484 1.133 0 1.66.78 1.66 1.748v2.776h-1.207v-2.572c0-.492-.242-.88-.825-.88-.506 0-.805.376-.834.86v2.592Z",fill:"#fff"}),(0,r.jsx)("path",{d:"m70.33 12.987 1.097-.16c.255-.036.336-.16.336-.312 0-.312-.247-.572-.752-.572-.506 0-.818.332-.854.716l-1.069-.224c.073-.692.717-1.452 1.915-1.452 1.412 0 1.938.788 1.938 1.676v2.168c0 .232.028.548.052.7H71.89a2.866 2.866 0 0 1-.045-.528c-.226.348-.651.656-1.315.656-.95 0-1.533-.636-1.533-1.328 0-.788.59-1.228 1.33-1.336l.005-.004Zm1.433.752v-.196l-1.007.152c-.308.044-.555.216-.555.556 0 .26.19.512.579.512.506 0 .98-.24.98-1.02l.003-.004Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M74.576 8.931a.74.74 0 0 1 .745.744c0 .412-.328.724-.745.724a.736.736 0 0 1-.745-.724c0-.392.336-.744.745-.744Zm-.599 6.597v-4.409h1.206v4.409h-1.206Z",fill:"#fff"}),(0,r.jsx)("path",{d:"M77.493 15.523h-1.206v-4.408h1.17v.548c.271-.456.805-.664 1.287-.664 1.104 0 1.614.78 1.614 1.748v2.776h-1.206V12.95c0-.492-.246-.88-.825-.88-.526 0-.834.404-.834.912v2.54Z",fill:"#fff"})]}),j=({width:e="24px",height:t="24px",fill:a="#0052FF",...o})=>(0,r.jsx)(n.J,{width:e,height:t,viewBox:"0 0 111 111",...o,children:(0,r.jsx)("path",{d:"M54.921 110.034C85.359 110.034 110.034 85.402 110.034 55.017C110.034 24.6319 85.359 0 54.921 0C26.0432 0 2.35281 22.1714 0 50.3923H72.8467V59.6416H3.9565e-07C2.35281 87.8625 26.0432 110.034 54.921 110.034Z",fill:a})})},13797:(e,t,a)=>{"use strict";a.d(t,{n:()=>i,T:()=>l});var n=a(79929),r=a(2784),o=a(52322);const i=(0,r.createContext)({collateralChange:(0,n.wei)(0),debtChange:(0,n.wei)(0),setDebtChange:()=>{},setCollateralChange:()=>{}}),l=({children:e})=>{const[t,a]=(0,r.useState)((0,n.wei)(0)),[l,s]=(0,r.useState)((0,n.wei)(0));return(0,o.jsx)(i.Provider,{value:{debtChange:t,setDebtChange:a,collateralChange:l,setCollateralChange:s},children:e})}},42219:(e,t,a)=>{"use strict";a.d(t,{yq:()=>i,os:()=>o,br:()=>r,lm:()=>l,Od:()=>s,sO:()=>d,Q4:()=>c,kw:()=>u,DM:()=>h});var n=a(34406);const r=9,o=1.5,i=3e5,l="3fed4f20a42a4302b7e9f15a2288f6a4",s="sec_jykTuCK0ZuqXWf3wNYqizxs2",c=(e="optimism-mainnet")=>"base-goerli"===e?"https://subgraph.satsuma-prod.com/ce5e03f52f3b/synthetix/synthetix-base-testnet/api":`https://api.thegraph.com/subgraphs/name/snx-v3/${e}`,d={TERMS_CONDITIONS_ACCEPTED:"TERMS_CONDITIONS_ACCEPTED"},u=n.env.PYTH_MAINNET_ENDPOINT||"https://xc-mainnet.pyth.network",h=n.env.PYTH_TESTNET_ENDPOINT||"https://xc-testnet.pyth.network"},95522:(e,t,a)=>{"use strict";a.d(t,{$:()=>s,x:()=>c});var n=a(42219),r=a(17123),o=a(99780),i=a(99268),l=a(10528);const s=async(e,t)=>{if(0===e.length)return[];const a=new r.O(t?n.DM:n.kw);return(await a.getPriceFeedsUpdateData(e.map((({priceFeedId:e})=>e)))).map(((t,a)=>{const{priceFeedId:n,stalenessTolerance:r}=e[a];return o.$.encode(["uint8","uint64","bytes32[]","bytes[]"],[1,r.toBN(),[n],[t]])}))},c=(e,t,a)=>{if(t.length!==a.length)throw new Error("oracleAddresses and signedOffchainData must be the same length");return a.map(((a,n)=>({to:t[n].address,from:e,data:new i.vU(["function fulfillOracleQuery(bytes calldata signedOffchainData) payable external"]).encodeFunctionData("fulfillOracleQuery",[a]),value:l.O$.from(1)})))}},96596:(e,t,a)=>{"use strict";a.d(t,{Aq:()=>r,i_:()=>n});a(79929);const n=(e,t=6,a=4)=>e.length<=t+a?e:`${e.substring(0,t)}...${e.substring(e.length-a)}`;function r(e,t,a=2){try{const n=e.toString(),r=e.toNumber(),o=r<0?-r-Math.floor(-r):r-Math.floor(r),i=(0!==o?-Math.floor(Math.log10(o)+1):0)+a;return isNaN(r)?n:r.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:i,...t})}catch(t){return e+""}}},37330:(e,t,a)=>{"use strict";a.d(t,{_:()=>n});const n=e=>null!=e},17716:(e,t,a)=>{"use strict";a.d(t,{E:()=>n,I:()=>r});const n={error:null,modalOpen:!1,txnStatus:"unsent",txnHash:null};function r(e,t){switch(t.type){case"prompting":return{...e,txnStatus:"prompting",modalOpen:!0,error:null};case"pending":return{...e,txnStatus:"pending",txnHash:t.payload.txnHash};case"success":return{...e,txnStatus:"success"};case"error":return{...e,txnStatus:"error",error:t.payload.error};case"settled":return{...e,modalOpen:!1,txnStatus:"unsent",error:null,txnHash:null};default:return e}}},42614:(e,t,a)=>{"use strict";a.d(t,{L:()=>f});a(95682),a(21045),a(17244),a(42068),a(75519),a(39432),a(73574),a(33619),a(53862),a(26881),a(35359),a(98208),a(13608),a(75676),a(5993),a(74456);var n=a(79634),r=a(5717),o=a(99780),i=a(50986),l=a(76885);function s(){const e=(0,l.LN)(),t=(0,l.yL)(),r=(0,l.mx)(),o=r||t,s=Boolean(r);return(0,n.useQuery)({queryKey:[e.name,"OracleManagerProxy",{withSigner:s}],queryFn:async function(){const{address:t,abi:n}=await async function(e){switch(e){case"cannon":return a.e(4895).then(a.bind(a,74895));case"mainnet":return a.e(5742).then(a.bind(a,95742));case"goerli":return a.e(2195).then(a.bind(a,2195));case"sepolia":return a.e(9009).then(a.bind(a,9009));case"optimism-mainnet":return a.e(4462).then(a.bind(a,74462));case"optimism-goerli":return a.e(3246).then(a.bind(a,83246));case"base-goerli":return a.e(8265).then(a.bind(a,8265));default:throw new Error(`Unsupported chain ${e}`)}}(e.name);return new i.CH(t,n,o)},enabled:Boolean(o),staleTime:1/0,cacheTime:1/0})}var c=a(30195),d=a(37330),u=a(40109),h=a(55588),x=a(79929);const p=c.z.object({nodeType:c.z.number(),parameters:c.z.string(),parents:c.z.array(c.z.string())}),m=c.z.object({address:c.z.string(),priceFeedId:c.z.string(),stalenessTolerance:h.rK.transform((e=>(0,x.wei)(e)))});const f=()=>{const{data:e}=(0,r.b)(),{data:t}=s(),{data:a}=(0,u.a)(),i=(0,l.LN)();return(0,n.useQuery)({enabled:Boolean(e&&t&&a),staleTime:1/0,cacheTime:1/0,queryKey:[i.name,"Collateral Price IDs"],queryFn:async()=>{if(!a||!e||!t)throw Error("useAllCollateralPriceIds should not be enabled ");if(!l.RG[i.name])return[];const n=await(async({CoreProxy:e})=>await e.getCollateralConfigurations(!1))({CoreProxy:a}),r=n.map((e=>e.oracleNodeId)).map((e=>({target:t.address,callData:t.interface.encodeFunctionData("getNode",[e])}))),{returnData:s}=await e.callStatic.aggregate(r);return function(e,t){const a=new Set;return e.filter((e=>{const n=e[t];return!a.has(n)&&(a.add(n),!0)}))}(s.map(((e,a)=>{const r=t.interface.decodeFunctionResult("getNode",e)[0],{nodeType:i,parameters:l}=p.parse({...r});if(2===i)try{const[e,t,a]=o.$.decode(["address","bytes32","uint256"],l),n=m.parse({address:e,priceFeedId:t,stalenessTolerance:a});return{parameters:l,priceFeedId:n.priceFeedId,address:n.address,stalenessTolerance:n.stalenessTolerance}}catch(e){return console.error("Decoding parameters failed, config:",n[a]),console.error("parameters: ",l),console.error(e),null}})).filter(d._),"priceFeedId")}})}},51380:(e,t,a)=>{"use strict";a.d(t,{y:()=>d});var n=a(79634),r=a(76885),o=a(50986),i=a(55588),l=a(79929);const s=i.rK.transform((e=>(0,l.wei)(e))),c=["function allowance(address, address) view returns (uint256)"],d=({contractAddress:e,spender:t})=>{const a=(0,r.Os)(),i=(0,r.yL)(),l=(0,r.LN)();return(0,n.useQuery)({queryKey:[l.name,"Allowance",{accountAddress:a?.address},{contractAddress:e,spender:t}],queryFn:async()=>{if(!(e&&t&&a?.address))throw new Error("OMG");const n=new o.CH(e,c,i),r=await n.allowance(a.address,t);return s.parse(r)},enabled:Boolean(a?.address&&e&&t&&i)})}},85649:(e,t,a)=>{"use strict";a.d(t,{y:()=>p});var n=a(2784),r=a(51380),o=a(50986),i=a(90711),l=a(79634),s=a(76885),c=a(17716),d=a(99),u=a(35834),h=a(95772);const x=["function approve(address spender, uint256 amount) returns (bool)"],p=({contractAddress:e,amount:t,spender:a},p)=>{const[m,f]=(0,n.useReducer)(c.I,c.E),{data:g,refetch:y}=(0,r.y)({contractAddress:e,spender:a}),b=Boolean(g?.gte(t)),j=(0,s.mx)(),{gasSpeed:w}=(0,h.jU)(),C=(0,s.yL)(),v=(0,l.useMutation)({mutationFn:async n=>{if(j&&e&&a&&!b)try{f({type:"prompting"});const r=new o.CH(e,x,j),l=n?i.Bz:t,s=(0,u.o)({provider:C}),c=r.estimateGas.approve(a,l),h=r.populateTransaction.approve(a,l,{gasLimit:c}),[p,m,g]=await Promise.all([s,c,h]),y=(0,d.F)({gasLimit:m,gasPrices:p,gasSpeed:w}),b=await j.sendTransaction({...g,...y});f({type:"pending",payload:{txnHash:b.hash}}),await b.wait(),f({type:"success"})}catch(e){throw f({type:"error",payload:{error:e}}),e}},...p});return{mutation:v,txnState:m,isLoading:v.isLoading,approve:v.mutateAsync,refetchAllowance:y,requireApproval:!b}}},76885:(e,t,a)=>{"use strict";a.d(t,{Bl:()=>S,g5:()=>m,IO:()=>z,zP:()=>N,RG:()=>f,IE:()=>C,ll:()=>M,T9:()=>I,LN:()=>k,yL:()=>T,fn:()=>D,mx:()=>F,Os:()=>L});var n=a(8550),r=a(37753),o=a(2784),i=a(14921),l=a(42219),s=a(61735),c=a(43712),d=a(88165);const u=a.p+"SynthetixLogo.6f86ffcf.svg";var h=a(52322),x=a(34406);const p={id:0,hexId:`0x${Number(0).toString(16)}`,token:"ETH",name:"unsupported",rpcUrl:"",publicRpcUrl:"",label:"Unsupported",Icon:()=>(0,h.jsx)(i.Bg,{width:"24px",height:"24px"}),isSupported:!1,isTestnet:!1},m={mainnet:{id:1,hexId:`0x${Number(1).toString(16)}`,token:"ETH",name:"mainnet",rpcUrl:`https://mainnet.infura.io/v3/${l.lm}`,label:"Ethereum",Icon:()=>(0,h.jsx)(i.xi,{}),isSupported:!0,publicRpcUrl:"https://ethereum.publicnode.com",isTestnet:!1},"optimism-mainnet":{id:10,hexId:`0x${Number(10).toString(16)}`,token:"ETH",name:"optimism-mainnet",rpcUrl:`https://optimism-mainnet.infura.io/v3/${l.lm}`,label:"Optimism",Icon:()=>(0,h.jsx)(i.PF,{}),isSupported:!0,publicRpcUrl:"https://mainnet.optimism.io",isTestnet:!1},goerli:{id:5,hexId:`0x${Number(5).toString(16)}`,token:"ETH",name:"goerli",rpcUrl:`https://goerli.infura.io/v3/${l.lm}`,label:"Goerli Testnet",Icon:()=>(0,h.jsx)(i.xi,{}),isSupported:!0,publicRpcUrl:"https://ethereum-goerli.publicnode.com",isTestnet:!0},sepolia:{id:11155111,hexId:`0x${Number(11155111).toString(16)}`,token:"ETH",name:"sepolia",rpcUrl:`https://sepolia.infura.io/v3/${l.lm}`,label:"Sepolia Testnet",Icon:()=>(0,h.jsx)(i.xi,{}),isSupported:!0,publicRpcUrl:"https://ethereum-sepolia.publicnode.com",isTestnet:!0},"optimism-goerli":{id:420,hexId:`0x${Number(420).toString(16)}`,token:"ETH",name:"optimism-goerli",rpcUrl:`https://optimism-goerli.infura.io/v3/${l.lm}`,label:"Optimistic Goerli",Icon:()=>(0,h.jsx)(i.PF,{}),isSupported:!0,publicRpcUrl:"https://goerli.optimism.io",isTestnet:!0},"base-goerli":{id:84531,hexId:`0x${Number(84531).toString(16)}`,token:"ETH",name:"base-goerli",rpcUrl:`https://base-goerli.infura.io/v3/${l.lm}`,label:"Base Goerli",Icon:()=>(0,h.jsx)(i.su,{}),isSupported:!0,publicRpcUrl:"https://base-goerli.publicnode.com",isTestnet:!0},cannon:{id:13370,hexId:`0x${Number(13370).toString(16)}`,token:"ETH",name:"cannon",rpcUrl:"http://127.0.0.1:8545",label:"Cannon",Icon:()=>(0,h.jsx)(i.K7,{}),isSupported:"cannon"===window.localStorage.getItem("DEFAULT_NETWORK"),publicRpcUrl:"http://127.0.0.1:8545",isTestnet:!0}},f={"base-goerli":!0},g=window.localStorage.getItem("DEFAULT_NETWORK")||"optimism-mainnet",y=g in m?m[g]:m["optimism-mainnet"],b=[(0,c.ZP)(),(0,d.Z)({version:2,projectId:`${x.env.NEXT_PUBLIC_WC_PROJECT_ID}`,requiredChains:[m.mainnet.id,m["optimism-mainnet"].id]})],j=Object.values(m).map((e=>({id:e.hexId,token:e.token,label:e.label,rpcUrl:e.rpcUrl,publicRpcUrl:e.publicRpcUrl}))),w={name:"Synthetix",icon:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQwIiBoZWlnaHQ9IjI0MCIKICAgIHZpZXdCb3g9IjAgMCAzNDAgMjQwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogIDxwYXRoIGZpbGw9IiMwMEQxRkYiIGQ9Ik04Mi4xNDggNTUuOTJjLTIuMzc3LTIuNzItNS4zMDQtNC4wODMtOC43ODYtNC4wODNIMi4xMzRjLS42MzIgMC0xLjE1LS4yLTEuNTQtLjYtLjM5Ni0uMzk1LS41OTQtLjg0LS41OTQtMS4zMTl2LTQ4QzAgMS40NC4xOTggMS4wMDEuNTk0LjYwMS45ODQuMiAxLjUwMiAwIDIuMTM0IDBINzcuNGMxOC45OTIgMCAzNS4zNzcgNy43NjQgNDkuMTQ5IDIzLjI4bDE4LjI4MyAyMi4zMTctMzUuNjE0IDQzLjQ0LTI3LjA3LTMzLjExOFptMTMxLjU0LTMyLjg4QzIyNy40NTkgNy42OCAyNDMuOTIxIDAgMjYzLjA3MyAwaDc1LjAyOWMuNjMzIDAgMS4xMDYuMTYxIDEuNDI1LjQ3OC4zMTMuMzIzLjQ3My44MDEuNDczIDEuNDR2NDhjMCAuNDc4LS4xNi45MjQtLjQ3MyAxLjMxOC0uMzE5LjQtLjc5Mi42LTEuNDI1LjZoLTcxLjIyN2MtMy40ODMgMC02LjQxIDEuMzY0LTguNzg3IDQuMDgzbC01Mi40NzEgNjMuODM5IDUyLjcwOCA2NC4zMTZjMi4zNzcgMi41NjUgNS4yMjEgMy44NDQgOC41NSAzLjg0NGg3MS4yMjdjLjYzMyAwIDEuMTA2LjIgMS40MjUuNi4zMTMuNDAxLjQ3My45MjQuNDczIDEuNTU3djQ4YzAgLjQ3OC0uMTYuOTI0LS40NzMgMS4zMTgtLjMxOS40LS43OTIuNjAxLTEuNDI1LjYwMWgtNzUuMDI5Yy0xOS4xNTIgMC0zNS41MzctNy43NTgtNDkuMTQ5LTIzLjI4bC00My42ODQtNTMuMjc4LTQzLjY5MSA1My4yNzhjLTEzLjc3MiAxNS41MjItMzAuMjMzIDIzLjI4LTQ5LjM4NSAyMy4yOEgyLjEzNGMtLjYzMiAwLTEuMTEyLS4yMDEtMS40MjUtLjYwMS0uMzItLjQwMS0uNDczLS45MTctLjQ3My0xLjU2M3YtNDhjMC0uNDc4LjE1NC0uOTE4LjQ3My0xLjMxOC4zMTMtLjQwMS43OTMtLjYwMSAxLjQyNS0uNjAxaDcxLjIyOGMzLjMyMyAwIDYuMjUtMS4zNTYgOC43ODYtNC4wODJsNTEuNTItNjIuODc2IDgwLjAyLTk3LjkxMloiLz4KPC9zdmc+Cg==",logo:u,description:"Synthetix | The derivatives liquidity protocol.",recommendedInjectedWallets:[{name:"MetaMask",url:"https://metamask.io"},{name:"Brave Wallet",url:"https://brave.com/wallet"}],gettingStartedGuide:"https://synthetix.io",explore:"https://blog.synthetix.io"},C=(0,s.Z)({theme:"dark",wallets:b,chains:j,appMetadata:w,apiKey:l.Od,accountCenter:{desktop:{enabled:!1},mobile:{enabled:!1}},notify:{enabled:!1}}),v=o.createContext({onboardState:C.state.get(),network:y,setNetwork:()=>null}),S=({children:e})=>{const[t,a]=o.useState(C.state.get()),[n,r]=o.useState(y),i=o.useRef(!1);return o.useEffect((()=>(i.current=!0,()=>{i.current=!1})),[]),o.useEffect((()=>{const{unsubscribe:e}=C.state.select().subscribe((e=>{a(e);const[t]=e.wallets;if(t){const[e]=t.chains;if(e){const t=Object.values(m).find((t=>t.hexId===e.id));t&&(r(t),window.localStorage.setItem("DEFAULT_NETWORK",t.name))}}}));return()=>{i.current&&e()}}),[]),(0,h.jsx)(v.Provider,{value:{onboardState:t,network:n,setNetwork:r},children:e})};function A(){const{onboardState:e}=o.useContext(v),{wallets:t}=e;if(t.length<1)return;const[a]=t;return a}function k(){const{network:e}=o.useContext(v),t=A();if(!(t&&Array.isArray(t.chains)&&t.chains[0]&&t.chains[0].id&&t.chains[0].id!==e.hexId))return e;const a=Object.values(m).find((e=>e.hexId===t.chains[0].id));return a||p}function D(){const{setNetwork:e}=o.useContext(v),t=A(),a=Boolean(t);return o.useCallback((async t=>{a?await C.setChain({chainId:t.hexId}):(e(t),window.localStorage.setItem("DEFAULT_NETWORK",t.name))}),[e,a])}function I(){const e=A();return Boolean(e)}function T(){const e=A(),t=k();return e?new n.Q(e.provider,"any"):new r.r(t.rpcUrl)}function F(){const e=A();if(!e)return;return new n.Q(e.provider,"any").getSigner()}function L(){const e=A();if(!e)return;const[t]=e.accounts;return t}function M(){const e=C.state.select("wallets"),{unsubscribe:t}=e.subscribe((e=>{const t=e.map((({label:e})=>e));window.localStorage.setItem("connectedWallets",JSON.stringify(t))}));return t}async function z(){const e=window.localStorage.getItem("connectedWallets");if(e)try{const[t]=JSON.parse(e);await C.connectWallet({autoSelect:{label:t,disableModals:!0}})}catch(e){return}}async function N(){return window.localStorage.removeItem("connectedWallets"),await Promise.all(C.state.get().wallets.map((({label:e})=>C.disconnectWallet({label:e}))))}},19299:(e,t,a)=>{"use strict";a.d(t,{t:()=>y,T:()=>g});var n=a(99268),r=a(90711),o=a(79634),i=a(40109),l=a(30195),s=a(2784),c=a(55588),d=a(79929),u=a(5717),h=a(76885);const x=l.z.object({depositingEnabled:l.z.boolean(),issuanceRatioD18:c.rK.transform((e=>(0,d.wei)(e))),liquidationRatioD18:c.rK.transform((e=>(0,d.wei)(e))),liquidationRewardD18:c.rK.transform((e=>(0,d.wei)(e))),oracleNodeId:l.z.string(),tokenAddress:l.z.string().startsWith("0x"),minDelegationD18:c.rK.transform((e=>(0,d.wei)(e)))}),p=(x.extend({symbol:l.z.string(),displaySymbol:l.z.string()}),l.z.string()),m=new n.vU(["function symbol() view returns (string)"]);async function f({CoreProxy:e,Multicall3:t}){const a=(await e.getCollateralConfigurations(!0)).map((e=>x.parse({...e}))).filter((({depositingEnabled:e})=>e)),n=await async function({Multicall3:e,tokenConfigs:t}){const a=t.map((e=>({target:e.tokenAddress,callData:m.encodeFunctionData("symbol")})));return(await e.callStatic.aggregate(a)).returnData.map((e=>p.parse(m.decodeFunctionResult("symbol",e)[0])))}({Multicall3:t,tokenConfigs:a});return a.map(((e,t)=>({depositingEnabled:e.depositingEnabled,issuanceRatioD18:e.issuanceRatioD18,liquidationRatioD18:e.liquidationRatioD18,liquidationRewardD18:e.liquidationRewardD18,minDelegationD18:e.minDelegationD18,oracleNodeId:e.oracleNodeId,tokenAddress:e.tokenAddress,symbol:n[t],displaySymbol:"WETH"===n[t]?"ETH":n[t]})))}function g(e=!1){const t=(0,h.LN)(),{data:a}=(0,i.a)(),{data:n}=(0,u.b)();return(0,o.useQuery)({queryKey:[t.name,"CollateralTypes",{includeDelegationOff:e}],queryFn:async()=>{if(!a||!n)throw Error("Query should not be enabled when contracts missing");const t=await f({CoreProxy:a,Multicall3:n});return e?t:t.filter((e=>e.minDelegationD18.lt(r.Bz)))},staleTime:36e5,placeholderData:[],enabled:Boolean(a&&n)})}function y(e){const{data:t,isLoading:a,error:n}=g();return{isLoading:a,error:n,data:(0,s.useMemo)((()=>{if(t&&t?.length)return e?t.find((t=>`${t.symbol}`.toLowerCase()===`${e}`.toLowerCase())):t[0]}),[e,t])}}},97721:(e,t,a)=>{"use strict";a.d(t,{o:()=>c});a(95682),a(21045),a(17244),a(42068),a(75519),a(39432),a(73574),a(33619),a(53862),a(26881),a(35359),a(98208),a(13608),a(75676),a(5993),a(74456);var n=a(79155),r=a(50986),o=a(10528),i=a(49494),l=a(2784),s=a(86848);function c(e){return(0,l.useCallback)((t=>{if(e)try{const a=t?.error?.data?.data||t?.error?.error?.data;if(!a)return void console.error({error:t});const l=e.interface.format(n.pc.full),c=new r.CH(e.address,Array.from(new Set(l.concat(s.IN).concat(["error CannotSelfApprove(address addr)","error InvalidTransferRecipient(address addr)","error InvalidOwner(address addr)","error TokenDoesNotExist(uint256 id)","error TokenAlreadyMinted(uint256 id)"]))),e.signer||e.provider).interface.parseError(a),d=Object.fromEntries(Object.entries(c.args).filter((([e])=>`${parseInt(e)}`!==e)).map((([e,t])=>{if(t instanceof o.O$){const a=parseFloat(i.dF(t.toString()));return a>.001?[e,a]:t.toNumber()>new Date(2e3,1,1).getTime()/1e3&&t.toNumber(){"use strict";a.d(t,{k:()=>i,a:()=>l});var n=a(50986),r=a(79634),o=a(76885);async function i(e){switch(e){case"cannon":return a.e(2125).then(a.bind(a,32125));case"mainnet":return a.e(181).then(a.bind(a,50181));case"goerli":return a.e(6430).then(a.bind(a,46430));case"sepolia":return a.e(3162).then(a.bind(a,43162));case"optimism-mainnet":return a.e(3091).then(a.bind(a,3091));case"optimism-goerli":return a.e(666).then(a.bind(a,20666));case"base-goerli":return a.e(9341).then(a.bind(a,59341));default:throw new Error(`Unsupported chain ${e}`)}}function l(){const e=(0,o.LN)(),t=(0,o.yL)(),a=(0,o.mx)(),l=a||t,s=Boolean(a);return(0,r.useQuery)({queryKey:[e.name,"CoreProxy",{withSigner:s}],queryFn:async function(){const{address:t,abi:a}=await i(e.name);return new n.CH(t,a,l)},enabled:Boolean(l),staleTime:1/0,cacheTime:1/0})}},95042:(e,t,a)=>{"use strict";a.d(t,{G:()=>d});var n=a(79634),r=a(76885),o=a(55588),i=a(79929),l=a(74830),s=a(34406);const c=o.rK.transform((e=>(0,i.wei)(e)));function d(e){const t=(0,r.Os)(),a=(0,r.yL)(),o=(0,r.LN)();return(0,n.useQuery)({queryKey:[o.name,"EthBalance",{accountAddress:t?.address}],queryFn:async()=>{if(!t?.address)throw Error("useEthBalance should not be enabled");const n=e&&e!==o.id?new l.J(e,s.env.NEXT_PUBLIC_INFURA_PROJECT_ID):a;return c.parse(await n.getBalance(t.address))},enabled:Boolean((e??o.id)&&t?.address)})}},99:(e,t,a)=>{"use strict";a.d(t,{F:()=>l});var n=a(79929),r=a(42219);const o=(0,n.wei)(r.os,r.br);function i(e){return(0,n.wei)(e??0,r.br).mul(o).toBN()}function l({gasPrices:e,gasSpeed:t,gasLimit:a}){const n=e[t];if("baseFeePerGas"in n){const{baseFeePerGas:e,...t}=n;return{...t,gasLimit:i(a)}}return{...n,gasLimit:i(a)}}},35834:(e,t,a)=>{"use strict";a.d(t,{o:()=>d});a(76885),a(18423);var n=a(67640);const r=e=>"number"==typeof e&&e==e,o=(e,t)=>((e,t,a)=>{const n=e.length;if(t>1)return Array(n);if(1===t)return e.slice();const o=!Array.isArray(t),i=[];let l,s=0,c=0;for(;se.filter(((e,a)=>!t.includes(a))).map((e=>e[a].toNumber()));var l=a(79929),s=a(42219);const c=async(e,t="latest")=>{if(13370===e.network.chainId||84531===e.network.chainId)return(()=>{const e=(0,l.wei)(1,9).toBN(),t=(0,l.wei)(5,9).toBN(),a=(0,l.wei)(1,9).toBN();return{average:{maxPriorityFeePerGas:a,maxFeePerGas:t,baseFeePerGas:e},fast:{maxPriorityFeePerGas:a,maxFeePerGas:t,baseFeePerGas:e},fastest:{maxPriorityFeePerGas:a,maxFeePerGas:t,baseFeePerGas:e}}})();const a=await e.send("eth_feeHistory",[n.hexStripZeros(n.hexlify(10)),t,[15,30,45]]).then((e=>({baseFeePerGas:e.baseFeePerGas.map((e=>(0,l.wei)(e,s.br,!0))),reward:e.reward.map((e=>e.map((e=>(0,l.wei)(e,s.br,!0)))))}))),r=a.reward,c=a.baseFeePerGas.at(-1);if(!r.length)throw new Error("Error: block reward was empty");if(!c)throw new Error("Error: currentBaseFee was empty");const d=((e,t)=>{const a=[];return e.map((e=>e[t])).forEach(((e,t)=>{e.gt(5)&&a.push(t)})),a})(r,0),u=i(r,d,0),h=i(r,d,1),x=i(r,d,2),p=o(u,u.length)[u.length-1],m=o(h,h.length)[h.length-1],f=o(x,x.length)[x.length-1];if(void 0===p||void 0===m||void 0===f)throw new Error("Error: ema was undefined");const g=(0,l.wei)(Math.min(p,1),s.br),y=(0,l.wei)(Math.min(m,2),s.br),b=(0,l.wei)(Math.min(f,4),s.br),j=(e,t)=>e.mul((0,l.wei)(2,s.br)).add(t);return{average:{maxPriorityFeePerGas:g.toBN(),maxFeePerGas:j(c,g).toBN(),baseFeePerGas:c.toBN()},fast:{maxPriorityFeePerGas:y.toBN(),maxFeePerGas:j(c,y).toBN(),baseFeePerGas:c.toBN()},fastest:{maxPriorityFeePerGas:b.toBN(),maxFeePerGas:j(c,b).toBN(),baseFeePerGas:c.toBN()}}},d=async({provider:e})=>{try{return(await e.getBlock("latest")).baseFeePerGas?c(e):(async e=>{try{const t=await e.getGasPrice();return{fastest:{gasPrice:t},fast:{gasPrice:t},average:{gasPrice:t}}}catch(e){throw new Error("Could not retrieve gas price from provider")}})(e)}catch(e){throw new Error(`Could not fetch and compute network fee. ${e}`)}}},95772:(e,t,a)=>{"use strict";a.d(t,{G2:()=>i,jU:()=>l});var n=a(2784),r=a(52322);const o=(0,n.createContext)({gasSpeed:"average",setGasSpeed:()=>{}}),i=({children:e})=>{const[t,a]=(0,n.useState)("average");return(0,r.jsx)(o.Provider,{value:{gasSpeed:t,setGasSpeed:a},children:e})},l=()=>(0,n.useContext)(o)},5717:(e,t,a)=>{"use strict";a.d(t,{C:()=>i,b:()=>l});var n=a(50986),r=a(79634),o=a(76885);async function i(e){switch(e){case"cannon":return a.e(700).then(a.bind(a,70700));case"mainnet":return a.e(8984).then(a.bind(a,88984));case"goerli":return a.e(7283).then(a.bind(a,27283));case"sepolia":return a.e(3504).then(a.bind(a,13504));case"optimism-mainnet":return a.e(9492).then(a.bind(a,99492));case"optimism-goerli":return a.e(3290).then(a.bind(a,53290));case"base-goerli":return a.e(6741).then(a.bind(a,16741));default:throw new Error(`Unsupported chain ${e}`)}}function l(){const e=(0,o.LN)(),t=(0,o.yL)(),a=(0,o.mx)(),l=a||t,s=Boolean(a);return(0,r.useQuery)({queryKey:[e.name,"Multicall3",{withSigner:s}],queryFn:async function(){const{address:t,abi:a}=await i(e.name);return new n.CH(t,a,l)},enabled:Boolean(l),staleTime:1/0,cacheTime:1/0})}},89536:(e,t,a)=>{"use strict";a.d(t,{UO:()=>l});var n=a(73557),r=a(39857),o=a(2784);function i(e){const t=Object.entries(e).filter((([,e])=>void 0!==e));return Object.fromEntries(t)}const l=()=>{const e=(0,n.UO)(),[t]=(0,r.lr)();return(0,o.useMemo)((()=>{return a={...i(e),...(n=t,Object.fromEntries(Array.from(n)))},Object.fromEntries(Object.entries(a).sort((([e],[t])=>e.localeCompare(t))));var a,n}),[e,t])}},18914:(e,t,a)=>{"use strict";a.d(t,{AI:()=>h,Oh:()=>u});var n=a(79634),r=a(40109),o=a(76885),i=a(55588),l=a(30195);const s=i.rK.transform((e=>e.toString())),c=l.z.object({id:s,name:l.z.string().default("Unnamed Pool"),isPreferred:l.z.boolean()}),d=l.z.array(c);function u(){const e=(0,o.LN)(),{data:t}=(0,r.a)();return(0,n.useQuery)({enabled:Boolean(t),queryKey:[e.name,"Pools"],queryFn:async()=>{if(!t)throw"usePools is missing required data";const[e,a]=await t.callStatic.multicall([t.interface.encodeFunctionData("getPreferredPool"),t.interface.encodeFunctionData("getApprovedPools")]),[n]=t.interface.decodeFunctionResult("getPreferredPool",e),[r]=t.interface.decodeFunctionResult("getApprovedPools",a),o=[{id:n,isPreferred:!0}].concat(r.map((e=>({id:e,isPreferred:!1})))),i=(await t.callStatic.multicall(o.map((({id:e})=>t.interface.encodeFunctionData("getPoolName",[e]))))).map((e=>t.interface.decodeFunctionResult("getPoolName",e)[0])),l=o.map((({id:e,isPreferred:t},a)=>({id:e,isPreferred:t,name:i[a]})));return d.parse(l)}})}function h(e){const{isLoading:t,error:a,data:n}=u();return{isLoading:t,error:a,data:n?.find((t=>t.id===e))}}},97096:(e,t,a)=>{"use strict";a.d(t,{m:()=>h});var n=a(79929),r=a(79634),o=a(76885),i=a(50986),l=a(55588),s=a(74830),c=a(34406);const d=l.rK.transform((e=>(0,n.wei)(e))),u=["function balanceOf(address) view returns (uint256)"],h=(e,t)=>{const a=(0,o.Os)(),n=(0,o.yL)(),l=(0,o.LN)(),h=function(e){return!!e&&e.startsWith("0x")}(e)?e:void 0,x=t??l.id;return(0,r.useQuery)({queryKey:[l.name,"TokenBalance",{accountAddress:a?.address},{tokenAddress:h}],queryFn:async()=>{if(!h||!a?.address)throw Error("Query should not be enabled");const e=t&&t!==l.id?new s.J(t,c.env.NEXT_PUBLIC_INFURA_PROJECT_ID):n,r=new i.CH(h,u,e);return d.parse(await r.balanceOf(a.address))},enabled:Boolean(x&&a?.address&&h),refetchInterval:5e3})}},24269:(e,t,a)=>{"use strict";a.d(t,{a:()=>l});var n=a(50986),r=a(79634),o=a(76885);const i=Object.values(o.g5);function l(e){const t=(0,o.LN)(),l=(0,o.yL)(),s=(0,o.mx)(),c=s||(e||l),d=Boolean(s),u=i.find((t=>t.id===e?.network.chainId))?.name,h=u||t.name;return(0,r.useQuery)({queryKey:[h,"USDProxy",{withSigner:d}],queryFn:async function(){const{address:e,abi:t}=await async function(e){switch(e){case"cannon":return a.e(6414).then(a.bind(a,86414));case"mainnet":return a.e(3220).then(a.bind(a,53220));case"goerli":return a.e(5635).then(a.bind(a,55635));case"sepolia":return a.e(4669).then(a.bind(a,14669));case"optimism-mainnet":return a.e(9505).then(a.bind(a,99505));case"optimism-goerli":return a.e(3085).then(a.bind(a,43085));case"base-goerli":return a.e(6197).then(a.bind(a,86197));default:throw new Error(`Unsupported chain ${e}`)}}(h);return new n.CH(e,t,c)},enabled:Boolean(c),staleTime:1/0,cacheTime:1/0})}},47973:(e,t,a)=>{"use strict";a.d(t,{E:()=>h,a:()=>u});var n=a(76885),r=a(19299),o=a(95042),i=a(97096),l=a(50986),s=a(79634),c=a(2784);const d=["function deposit() payable","function withdraw(uint256 wad)"],u=()=>{const e=(0,n.mx)(),{data:t}=(0,r.t)("WETH"),{data:a,refetch:u}=(0,o.G)(),{data:h,refetch:x}=(0,i.m)(t?.tokenAddress),{mutateAsync:p,isLoading:m}=(0,s.useMutation)({mutationFn:async a=>{if(!t||!e)return;const n=new l.CH(t?.tokenAddress,d,e),r=await n.deposit({value:a.toBN()});await r.wait()}});return{exec:(0,c.useCallback)((async e=>{a&&(a.lt(e)||(await p(e),u(),x()))}),[a,p,u,x]),isLoading:m,wethBalance:h,ethBalance:a}},h=()=>{const e=(0,n.mx)(),{data:t}=(0,r.t)("WETH"),{data:a,refetch:u}=(0,o.G)(),{data:h,refetch:x}=(0,i.m)(t?.tokenAddress),{mutateAsync:p,isLoading:m}=(0,s.useMutation)({mutationFn:async a=>{if(!t||!e)return;const n=new l.CH(t?.tokenAddress,d,e),r=await n.withdraw(a.toBN());await r.wait()}});return{exec:(0,c.useCallback)((async e=>{h&&(h.lt(e)||(await p(e),await Promise.all([u(),x()])))}),[p,u,x,h]),isLoading:m,wethBalance:h,ethBalance:a}}},86848:(e,t,a)=>{"use strict";a.d(t,{IN:()=>f,Iy:()=>D,dI:()=>k});var n=a(99780),r=a(99268),o=a(10528),i=a(37753),l=a(49494),s=a(17123),c=a(30195),d=a(55588),u=a(42219),h=a(76885),x=a(5717);const p={};var m=a(40109);const f=["error OracleDataRequired(address oracleContract, bytes oracleQuery)","error FeeRequired(uint feeAmount)","function oracleId() view external returns (bytes32)","function fulfillOracleQuery(bytes calldata signedOffchainData) payable external"],g=(y=async(e,t,a)=>{const r=new s.O(t?u.DM:u.kw),o=c.z.tuple([c.z.number(),d.rK,c.z.array(c.z.string())]),i=n.$.decode(["uint8","uint64","bytes32[]"],e),[l,h,x]=o.parse(i);if(console.log(`[${a}] stale price for priceFeedId: ${x[0]}`),1!==l)throw new Error(`update type ${l} not supported`);const p=await r.getPriceFeedsUpdateData(x);return n.$.encode(["uint8","uint64","bytes32[]","bytes[]"],[l,h,x,p])},b=5e3,async(...e)=>{const t="no-cache"===e[e.length-1],a=t?e.slice(0,-1):e,n=JSON.stringify(a),r=Date.now();if(!t){const e=p[n];if(e&&r-e.timestamp({target:e.to,callData:e.data,value:e.value||o.O$.from(0),allowFailure:!1})))]);let l=o.O$.from(0);for(const t of e)l=l.add(t.value||o.O$.from(0));return{from:t,to:a,data:i,value:l}}const w=(e,t,a,n)=>{const i=new r.vU(n).encodeFunctionData("multicall",[e.map((e=>e.data))]);let l=o.O$.from(0);for(const t of e)l=l.add(t.value||o.O$.from(0));return{from:t,to:a,data:i,value:l}},C=c.z.union([c.z.object({name:c.z.literal("OracleDataRequired"),args:c.z.tuple([c.z.string(),c.z.string()])}),c.z.object({name:c.z.literal("FeeRequired"),args:c.z.tuple([d.rK])})]),v=new r.vU(f),S=async(e,t)=>{let a=e.data||e.error?.data?.data||e.error?.error?.data;if(!a)try{console.log("Error is missing revert data, trying provider.call, instead of estimate gas..");a=await t.call(e.transaction)}catch(t){console.log("provider.call(error.transaction) failed, trying to extract error"),a=e.data||e.error?.data?.data||e.error?.error?.data,console.log("Error data: ",a)}try{const e=v.parseError(a);return C.parse(e)}catch(t){throw console.error("Error is not a ERC7412 error, re-throwing original error, for better parsing. Parse error reason: ",t),e}},A=e=>{switch(e){case"cannon":case"optimism-mainnet":case"optimism-goerli":case"base-goerli":return"0x4200000000000000000000000000000000000006";case"mainnet":return"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2";case"goerli":return"0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6";case"sepolia":return"0x7b79995e5f793a07bc00c21412e50ecae098e7f9";default:throw new Error(`Unsupported chain ${e}`)}},k=async(e,t,a)=>{const n=Array.isArray(t)?t.length:1;let s=[t].flat();if(s.some((e=>!e.to)))throw Error("Make sure all txs have 'to' field set");if(s.some((e=>!e.from)))throw Error("Make sure all txs have 'from' field set");const c=s[0].from,{chainId:d}=await e.getNetwork(),u=Object.values(h.g5).find((e=>e.id===d)),p=u?.name||"mainnet",y=new i.r(u?.rpcUrl),b=c===A(p),C=u?.isTestnet||!1,v=!(h.RG[p]||!1)&&!b,{address:k,abi:D}=v?await(0,m.k)(u?.name||"mainnet"):await(0,x.C)(u?.name||"mainnet");for(;;)try{if(1==s.length){const e=s[0],t=await y.estimateGas(e);return console.log("Estimated gas succeeded, with no price updates"),{...e,gasLimit:t}}const e=v?w(s,c,k,D):j(s,c,k,D),t=await y.estimateGas(e);return console.log(`[${a}] Estimated gas succeeded, with ${s.length-n} price updates`),{...e,gasLimit:t}}catch(e){const t=await S(e,y);if("OracleDataRequired"===t.name){const[e,i]=t.args,d=!b,u=await g(i,C,a||"",d?"no-cache":void 0),h={from:c,to:e,data:new r.vU(f).encodeFunctionData("fulfillOracleQuery",[u]),value:b?l.fi("0.1"):o.O$.from(0)};s.splice(s.length-n,0,h)}else{if("FeeRequired"!==t.name)throw e;{const e=t.args[0],a=s.find((({value:t})=>e.gt(t||0)));if(void 0===a)throw Error(`Didn't find any tx with a value less than the required fee ${s}`);a.value=e}}}};async function D(e,t,a,n){const{chainId:o}=await e.getNetwork(),l=Object.values(h.g5).find((e=>e.id===o)),{address:s,abi:c}=await(0,x.C)(l?.name||"mainnet"),d=[t].flat();for(const e of d)e.from=A(l?.name||"mainnet");const u=new i.r(l?.rpcUrl),p=await k(u,d,n),m=await e.call(p);if(p.to===s){return a(new r.vU(c).decodeFunctionResult("aggregate3Value",m)[0].filter((({returnData:e})=>"0x"!==e)).map((({returnData:e})=>e)))}return a(m)}},55588:(e,t,a)=>{"use strict";a.d(t,{Rx:()=>l,LW:()=>s,rK:()=>i});var n=a(10528),r=a(30195),o=a(79929);const i=r.z.custom((e=>n.O$.isBigNumber(e))),l=i.transform((e=>(0,o.wei)(e,0).toNumber())),s=i.transform((e=>(0,o.wei)(e)))},78267:(e,t,a)=>{"use strict";a.r(t),a.d(t,{bootstrap:()=>ar});var n=a(17029),r=a(2784),o=a(39857),i=a(50019),l=a(17150),s=a(84586),c=a(74465),d=a(39279);const u={"green-cyan":{500:"linear(to-tr, green.500, cyan.500)",600:"linear(to-tr, green.600, cyan.600)",700:"linear(to-tr, green.700, cyan.800)"},grey:{900:"linear(to-tr, grey.900, blackAlpha.900)"},dark:{500:"linear(to-tr, #171923, #141414)"},"pink-purple":{500:"linear(to-tr, pink.500, purple.500)",600:"linear(to-tr, pink.600, purple.600)",700:"linear(to-tr, pink.700, purple.800)"},"pink-blue":{500:"linear(to-tr, pink.500, blue.500)",600:"linear(to-tr, pink.600, blue.600)",700:"linear(to-tr, pink.700, blue.800)"},"pink-cyan":{500:"linear(to-tr, pink.500, cyan.500)",600:"linear(to-tr, pink.600, cyan.600)",700:"linear(to-tr, pink.700, cyan.800)"},orange:{500:"linear(to-tr, orange.500, orange.300)",600:"linear(to-tr, orange.600, orange.400)",700:"linear(to-tr, orange.700, orange.500)"}},h={defaultProps:{colorScheme:"cyan"},variants:{solid:(0,s.k0)((e=>{const{colorScheme:t}=e;if("gray"===t){const t=(0,d.x)("gray.100","whiteAlpha.200")(e);return{color:(0,d.x)("black","whiteAlpha.900")(e),bg:t,_hover:{bg:(0,d.x)("gray.200","whiteAlpha.300")(e),_disabled:{bg:t}},_active:{bg:(0,d.x)("gray.300","whiteAlpha.400")(e)}}}if("cyan"===t)return{bgGradient:u["green-cyan"][500],color:"black",_hover:{bgGradient:u["green-cyan"][600],_disabled:{background:u["green-cyan"][500]}},_active:{bgGradient:u["green-cyan"][700]}};const a=`${t}.500`,n=`${t}.600`,r=`${t}.700`,o=(0,d.x)(a,`${t}.600`)(e);return{bg:o,color:(0,d.x)("white","white")(e),_hover:{bg:(0,d.x)(n,`${t}.500`)(e),_disabled:{bg:o}},_active:{bg:(0,d.x)(r,`${t}.400`)(e)}}})),outline:e=>"gray"===e.colorScheme?{color:"whiteAlpha.800",borderColor:"gray.900",_hover:{bg:"rgba(255, 255, 255, 0.12)"},_active:{bg:"rgba(255, 255, 255, 0.24)"}}:{color:"cyan.500",border:"1px solid",borderColor:"cyan.500",_hover:{bg:"rgb(0, 209, 255, 0.12)"},_active:{bg:"rgb(0, 209, 255, 0.24)"}},ghost:{color:"cyan.500",_hover:{bg:"rgb(0, 209, 255, 0.12)"},_active:{bg:"rgb(0, 209, 255, 0.24)"}}}},x=(0,c.B1)({useSystemColorMode:!1,initialColorMode:"dark",colors:{gray:{50:"#F6F6F6",100:"#F1F1F1",200:"#DDDDDF",300:"#C3C3C9",400:"#AAAAB2",500:"#91919B",600:"#7A7A85",700:"#63636E",800:"#4D4D57",900:"#303037"},red:{50:"#FFEDEF",100:"#FFC4CB",200:"#FF9BA7",300:"#FF7384",400:"#FF4A60",500:"#E4364B",600:"#C53030",700:"#9B2C2C",800:"#822727",900:"#63171B"},orange:{50:"#FFF3EB",100:"#FFD8BE",200:"#FFBE92",300:"#FFA365",400:"#FF9A54",500:"#FC8738",600:"#DC732D",700:"#96420A",800:"#743002",900:"#522100"},yellow:{50:"#FFFBEF",100:"#FFF2CA",200:"#FFF5A8",300:"#FFF889",400:"#FFF458",500:"#FAE527",600:"#EAD516",700:"#B5932B",800:"#776017",900:"#55430D"},green:{50:"#EDFFF9",100:"#C3FFEC",200:"#9AE6B4",300:"#72FFD3",400:"#47FAC2",500:"#34EDB3",600:"#2BD39F",700:"#11946B",800:"#077250",900:"#015037"},blue:{50:"#EDF6FF",100:"#C4E2FF",200:"#9CCFFF",300:"#73BBFF",400:"#479EF0",500:"#3182CE",600:"#1F68AC",700:"#11508A",800:"#073968",900:"#012546"},cyan:{50:"#E5FAFF",100:"#B7F2FF",200:"#8AEAFF",300:"#5CE1FF",400:"#2ED9FF",500:"#00D1FF",600:"#00B0D6",700:"#008EAD",800:"#006D85",900:"#004B5C"},purple:{50:"#F0EEFF",100:"#CFC9FF",200:"#AEA4FF",300:"#8D7EFF",400:"#6B59FF",500:"#5744EA",600:"#402FC8",700:"#2D1EA6",800:"#1D1084",900:"#10104E"},pink:{50:"#FDE8FF",100:"#F9B6FF",200:"#F583FF",300:"#F471FF",400:"#EB46FF",500:"#EE2EFF",600:"#BE02CE",700:"#8D0099",800:"#6E0077",900:"#4E0055"},navy:{50:"#522ED1",100:"#401FB7",200:"#3719A6",300:"#2F1298",400:"#1F0777",500:"#150942",600:"#0E052F",700:"#0B0B22",800:"#0A0A25",900:"#06061B"},error:"#FF4A60",success:"#34EDB3",warning:"#FC8738"},shadows:{outline:"0 0 0 3px rgba(0, 209, 255, 1)"},fonts:{heading:'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',body:'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',display:'"GT America Condensed", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',mono:'"GT America Mono", SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace'},components:{Popover:{variants:{responsive:{popper:{maxWidth:"unset",width:"unset"}}}},Button:h,Input:{defaultProps:{focusBorderColor:"cyan.500",errorBorderColor:"red.500"}},Select:{defaultProps:{focusBorderColor:"cyan.500",iconColor:"cyan.500",errorBorderColor:"red.500"}},NumberInput:{defaultProps:{focusBorderColor:"cyan.500",errorBorderColor:"red.500"}},Alert:{defaultProps:{variant:"left-accent"},variants:{"left-accent":e=>({container:{bg:`${e.colorScheme}.900`,borderInlineStartColor:`${e.colorScheme}.500`}}),solid:e=>({icon:{color:"white"},container:{bg:`${e.colorScheme}.500`,color:"white"}})}},Textarea:{defaultProps:{focusBorderColor:"cyan.500",colorScheme:"cyan",errorBorderColor:"red.500"}},Skeleton:{defaultProps:{startColor:"gray.900",endColor:"gray.800"}},Checkbox:{defaultProps:{colorScheme:"cyan"},baseStyle:{control:{borderColor:"cyan.500",_checked:{bg:"cyan.500",borderColor:"cyan.500",_hover:{bg:"cyan.600",borderColor:"cyan.600"}},_invalid:{borderColor:"red.500"},_disabled:{_hover:{borderColor:"transparent"}},_hover:{borderColor:"cyan.600"}}}},Radio:{defaultProps:{colorScheme:"cyan"},baseStyle:{control:{borderColor:"cyan.500",_checked:{bg:"cyan.500",borderColor:"cyan.500",_hover:{bg:"cyan.600",borderColor:"cyan.600"}},_invalid:{borderColor:"red.500"},_disabled:{_hover:{borderColor:"transparent"}},_hover:{borderColor:"cyan.600"}}}},Badge:{defaultProps:{colorScheme:"cyan"},variants:{subtle:e=>({color:`${e.colorScheme}.500`}),solid:e=>({background:`${e.colorScheme}.500`,color:"black"}),outline:e=>({borderColor:`${e.colorScheme}.500`,color:`${e.colorScheme}.500`}),percent:{color:"cyan.500",bg:"whiteAlpha.300",fontFamily:"heading",py:1,px:2,borderRadius:"base",borderWidth:"1px",borderColor:"transparent",width:"100%",textAlign:"center",userSelect:"none"}}},Tag:{defaultProps:{colorScheme:"cyan",variant:"solid"},variants:{solid:e=>({container:{background:`${e.colorScheme}.500`,color:"black"}})}},Accordion:{baseStyle:{container:{borderColor:"gray.900",borderWidth:"1px",borderRadius:"base"}}},Progress:{defaultProps:{colorScheme:"cyan",variant:"solid",borderRadius:"full"},variants:{solid:e=>({filledTrack:{background:`${e.colorScheme}.500`,borderRadius:"full"},track:{borderRadius:"full"}})}},Tabs:{defaultProps:{colorScheme:"cyan"},variants:{"solid-rounded":e=>({tab:{_selected:{background:`${e.colorScheme}.500`,color:"black"},color:`${e.colorScheme}.500`}}),"soft-rounded":{tab:{_selected:{background:"whiteAlpha.300",color:"cyan.500"},color:"cyan.500"}}}},Tooltip:{baseStyle:{textAlign:"center",bg:"gray.900",color:"white.500","--popper-arrow-bg":"var(--chakra-colors-gray-900)"}},Switch:{defaultProps:{colorScheme:"cyan"},baseStyle:{track:{_checked:{background:"cyan.500"}}}},Spinner:{baseStyle:{color:"cyan.500"}},Menu:{parts:["button","list","item"],baseStyle:{button:{color:"white",span:{display:"flex",alignItems:"center",px:2},height:"100%"},list:{mt:2,bgColor:"navy.900",padding:0,border:"none",borderRadius:"md",py:0},item:{bgColor:"blackAlpha.300",color:"whiteAlpha.900",p:3,_hover:{bgColor:"whiteAlpha.400"},_active:{bgColor:"navy.900"},_first:{borderTopLeftRadius:"md",borderTopRightRadius:"md"},_last:{borderBottomLeftRadius:"md",borderBottomRightRadius:"md"},_focus:{bgColor:"blackAlpha.400"}}}}},gradients:u,textStyles:{"heading-4xl":{fontSize:{base:"60px",lg:"72px"},fontFamily:"heading",lineHeight:{base:"57.6px",lg:"72px"},fontWeight:700},"heading-3xl":{fontSize:{base:"48px",md:"60px"},fontFamily:"heading",lineHeight:{base:"57.6px",md:"72px",lg:"60px"},fontWeight:700},"heading-2xl":{fontSize:{base:"36px",md:"48px"},fontFamily:"heading",lineHeight:{base:"120%"},fontWeight:700},"heading-xl":{fontSize:{base:"30px",lg:"36px"},fontFamily:"heading",lineHeight:{base:"36px",lg:"120%"},fontWeight:700},"heading-lg":{fontSize:{base:"24px",lg:"30px"},fontFamily:"heading",lineHeight:{base:"28.8px",lg:"36px"},fontWeight:700},"heading-md":{fontSize:{base:"20px",lg:"24px"},fontFamily:"heading",lineHeight:"24px",fontWeight:700},"heading-sm":{fontSize:"16px",fontFamily:"heading",lineHeight:"19.2px",fontWeight:700},"heading-xs":{fontSize:"14px",fontFamily:"heading",lineHeight:"16.8px",fontWeight:700}},sizes:{px:"1px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem",max:"max-content",min:"min-content",full:"100%","3xs":"14rem","2xs":"16rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem","8xl":"90rem",container:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px"}},styles:{global:{body:{bg:"navy.900"}}}});var p=a(28165),m=a(52322);const f=()=>(0,m.jsx)(p.xB,{styles:"\n @import url('https://fonts.googleapis.com/css2?family=Inter:wght@200..700&display=swap');\n @font-face {\n font-family: 'GT America Condensed';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold.woff2') format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold.woff') format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold.otf') format('opentype');\n }\n @font-face {\n font-family: 'GT America Condensed';\n font-style: italic;\n font-display: swap;\n font-weight: 700;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold%20Italic.woff2')\n format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold%20Italic.woff')\n format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Bold%20Italic.otf')\n format('opentype');\n }\n @font-face {\n font-family: 'GT America Condensed';\n font-style: normal;\n font-display: swap;\n font-weight: 100;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin.woff2') format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin.woff') format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin.otf') format('opentype');\n }\n @font-face {\n font-family: 'GT America Condensed';\n font-style: italic;\n font-display: swap;\n font-weight: 100;\n src: local('GT America Condensed'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin%20Italic.woff2')\n format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin%20Italic.woff')\n format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Condensed%20Thin%20Italic.otf')\n format('opentype');\n }\n @font-face {\n font-family: 'GT America Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: local('GT America Mono'),\n url('https://fonts.synthetix.io/GT%20America%20Mono%20Bold.woff2') format('woff2'),\n url('https://fonts.synthetix.io/GT%20America%20Mono%20Bold.woff') format('woff'),\n url('https://fonts.synthetix.io/GT%20America%20Mono%20Bold.otf') format('opentype');\n }\n @font-face {\n font-family: 'Lustra Text';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: local('Lustra Text'),\n url('https://fonts.synthetix.io/Lustra%20Text%20Thin.otf') format('opentype');\n }\n "});var g=a(42219),y=a(79634),b=a(92223),j=a(95772),w=a(76885),C=a(66901),v=a(26468),S=a(19433),A=a(54326),k=a(97217),D=a(59176),I=a(28535),T=a(9312),F=a(11082),L=a(84626);const M=({defaultOpen:e=!0})=>{const[t,a]=(0,r.useState)(e),[n,i]=(0,r.useState)(!1);return(0,m.jsxs)(C.u_,{isOpen:t,onClose:()=>{},children:[(0,m.jsx)(v.Z,{}),(0,m.jsxs)(S.h,{bgGradient:x.gradients.dark[500],pt:"10",pb:"3",borderWidth:"1px",borderColor:"gray.900","data-testid":"transaction modal",children:[(0,m.jsx)(A.x,{py:0,textAlign:"center",children:"Synthetix Terms of Service"}),(0,m.jsxs)(k.f,{fontSize:"xs",color:"gray.600",children:[(0,m.jsx)(D.x,{fontSize:"sm",children:"By clicking “I Agree” below, you agree to be bound by the terms of this Agreement. As such, you fully understand that:"}),(0,m.jsx)(I.xu,{onScroll:e=>{const t=e.currentTarget;t.scrollTop+10>=t.scrollHeight-t.offsetHeight?i(!0):i(!1)},as:"div",my:2,py:3,height:"350px",overflow:"auto",overflowX:"scroll",sx:{"::-webkit-scrollbar":{display:"block"},"::-webkit-scrollbar-track":{backgroundColor:"transparent"},"::-webkit-scrollbar-track-piece":{backgroundColor:"transparent"},"::-webkit-scrollbar-corner":{backgroundColor:"transparent"}},children:(0,m.jsx)(T.QI,{children:(0,m.jsxs)(D.x,{fontSize:"14px",children:[(0,m.jsxs)(T.HC,{children:[(0,m.jsxs)(F.r,{href:"https://synthetix.io/",target:"_blank",color:"cyan.500",_focusVisible:{outline:"none"},children:["Synthetix"," "]}),"is a blockchain-based decentralized finance project. You are participating at your own risk."]}),(0,m.jsx)(T.HC,{mt:2,children:"Synthetix is offered for use “as is” and without any guarantees regarding security. The protocol is made up of immutable code and can be accessed through a variety of user interfaces."}),(0,m.jsx)(T.HC,{mt:2,children:"No central entity operates the Synthetix protocol. Decisions related to the protocol are governed by a dispersed group of participants who collectively govern and maintain the protocol."}),(0,m.jsx)(T.HC,{mt:2,children:"Synthetix DAO does not unilaterally offer, maintain, operate, administer, or control any trading interfaces. The only user interfaces maintained by Synthetix DAO are the governance and liquidity interfaces herein."}),(0,m.jsxs)(T.HC,{mt:2,children:["You can participate in the governance process by staking SNX tokens in accordance with the rules and parameters summarized"," ",(0,m.jsx)(F.r,{href:"https://governance.synthetix.io/",target:"_blank",color:"cyan.500",_focusVisible:{outline:"none"},children:"here"}),", and/or joining the"," ",(0,m.jsx)(F.r,{color:"cyan.500",target:"_blank",href:"https://discord.com/invite/AEdUHzt",_focusVisible:{outline:"none"},children:"Synthetix Discord"})," ","and contributing to the conversation."]}),(0,m.jsx)(T.HC,{mt:2,children:"The rules and parameters associated with the Synthetix protocol and Synthetix DAO governance are subject to change at any time."}),(0,m.jsxs)(T.HC,{mt:2,children:["Your use of Synthetix is conditioned upon your acceptance to be bound by the Synthetix Term of Use, which can be found"," ",(0,m.jsx)(F.r,{as:o.rU,to:"/terms",target:"_blank",color:"cyan.500",_focusVisible:{outline:"none"},children:"here"}),"."]}),(0,m.jsx)(T.HC,{mt:2,children:"The laws that apply to your use of Synthetix may vary based upon the jurisdiction in which you are located. We strongly encourage you to speak with legal counsel in your jurisdiction if you have any questions regarding your use of Synthetix."}),(0,m.jsx)(T.HC,{mt:2,children:"By entering into this agreement, you are not agreeing to enter into a partnership. You understand that Synthetix is a decentralized protocol provided on an “as is” basis."}),(0,m.jsx)(T.HC,{mt:2,children:"You hereby release all present and future claims against Synthetix DAO related to your use of the protocol, the SNX token, SNX DAO governance, and any other facet of the protocol."}),(0,m.jsx)(T.HC,{mt:2,children:"You agree to indemnify and hold harmless SNX DAO and its affiliates for any costs arising out of or relating to your use of the Synthetix protocol."}),(0,m.jsx)(T.HC,{mt:2,children:"You are not accessing the protocol from Burma (Myanmar), Cuba, Iran, Sudan, Syria, the Western Balkans, Belarus, Côte d’Ivoire, Democratic Republic of the Congo, Iraq, Lebanon, Liberia, Libya, North Korea, Russia, certain sanctioned areas of Ukraine, Somalia, Venezuela, Yemen, or Zimbabwe (collectively, “Prohibited Jurisdictions”), or any other jurisdiction listed as a Specially Designated National by the United States Office of Foreign Asset Control (“OFAC”)."})]})})})]}),(0,m.jsx)(L.z,{variant:"outline",_focusVisible:{outline:"none"},my:4,mx:6,onClick:()=>{n&&(sessionStorage.setItem(g.sO.TERMS_CONDITIONS_ACCEPTED,JSON.stringify(!0)),a(!1))},isDisabled:!n,children:"I agree"})]})]})};var z=a(73557),N=a(81540),E=a(38035),P=a(17190);function B(){return(0,m.jsxs)(I.xu,{textAlign:"center",fontSize:"xs",p:"1",background:"whiteAlpha.200",mt:"4",children:["This is an experimental prototype for Synthetix V3. Provide feedback in"," ",(0,m.jsx)("a",{rel:"noreferrer",target:"_blank",href:"https://discord.gg/ngpjqNWW",children:(0,m.jsx)("u",{children:"#synthetix-v3"})})," ","on Discord. View on"," ",(0,m.jsx)("a",{rel:"noreferrer",target:"_blank",href:"https://github.com/Synthetixio/synthetix-v3",children:(0,m.jsx)("u",{children:"GitHub"})}),"."]})}var O=a(27234),_=a(10625),H=a(67046),R=a(99058),q=a(17383),U=a(14921),$=a(96596);function W(){const e=(0,w.Os)(),t=(0,w.LN)(),a=(0,w.fn)();return(0,m.jsxs)(E.k,{children:[(0,m.jsx)(_.v,{children:({isOpen:e})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(H.j,{as:L.z,variant:"outline",colorScheme:"gray",sx:{"> span":{display:"flex",alignItems:"center"}},mr:1,children:[(0,m.jsx)(t.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",fontSize:"sm",fontWeight:700,ml:1.5,mr:2,display:{base:"none",md:"initial"},children:t.label}),(0,m.jsx)(E.k,{display:{base:"none",md:"initial"},children:e?(0,m.jsx)(U.Kh,{color:"cyan"}):(0,m.jsx)(U._M,{color:"cyan.500"})})]}),(0,m.jsx)(R.q,{children:Object.values(w.g5).filter((e=>e.isSupported)).map((e=>(0,m.jsxs)(q.s,{disabled:!e.isSupported,onClick:()=>a(e),children:[(0,m.jsx)(e.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",ml:2,children:e.label})]},e.name)))})]})}),e?(0,m.jsxs)(_.v,{children:[(0,m.jsxs)(H.j,{as:L.z,variant:"outline",colorScheme:"gray",ml:2,height:10,py:"6px",px:"9.5px",whiteSpace:"nowrap",children:[(0,m.jsx)(U.o,{}),(0,m.jsx)(D.x,{as:"span",ml:1,color:"whiteAlpha.800",fontWeight:700,fontSize:"xs",userSelect:"none",children:e.ens?.name||(0,$.i_)(e.address)})]}),(0,m.jsxs)(R.q,{children:[(0,m.jsx)(q.s,{onClick:()=>{try{navigator.clipboard.writeText(e?.address)}catch(e){}},children:(0,m.jsx)(D.x,{variant:"nav",ml:2,children:"Copy address"})}),(0,m.jsx)(q.s,{onClick:w.zP,children:(0,m.jsx)(D.x,{variant:"nav",ml:2,children:"Disconnect"})})]})]}):(0,m.jsx)(L.z,{onClick:()=>w.IE.connectWallet(),type:"button",size:"sm",ml:2,py:5,"data-testid":"connect-wallet-button",children:"Connect Wallet"})]})}var V=a(26284),G=a(56317),Z=a(78071),Q=a(50986);function K(){const e=(0,w.LN)(),t=(0,w.yL)(),n=(0,w.mx)(),r=n||t,o=Boolean(n);return(0,y.useQuery)({queryKey:[e.name,"AccountProxy",{withSigner:o}],queryFn:async function(){const{address:t,abi:n}=await async function(e){switch(e){case"cannon":return a.e(9707).then(a.bind(a,29707));case"mainnet":return a.e(2789).then(a.bind(a,82789));case"goerli":return a.e(5106).then(a.bind(a,95106));case"sepolia":return a.e(6775).then(a.bind(a,86775));case"optimism-mainnet":return a.e(5996).then(a.bind(a,75996));case"optimism-goerli":return a.e(938).then(a.bind(a,40938));case"base-goerli":return a.e(4078).then(a.bind(a,4078));default:throw new Error(`Unsupported chain ${e}`)}}(e.name);return new Q.CH(t,n,r)},enabled:Boolean(e.isSupported&&r),staleTime:1/0,cacheTime:1/0})}var Y=a(40109);function X(){const e=(0,w.Os)(),{data:t}=K(),a=(0,w.LN)();return(0,y.useQuery)({queryKey:[a.name,"Accounts",{accountAddress:e?.address}],queryFn:async function(){if(!t||!e?.address)throw new Error("Should be disabled");const a=await t.balanceOf(e.address);if(a.eq(0))return[];const n=Array.from(Array(a.toNumber()).keys());return(await Promise.all(n.map((async a=>{if(!e?.address)throw new Error("OMG!");return await t.tokenOfOwnerByIndex(e.address,a)})))).map((e=>e.toString()))},enabled:Boolean(t?.address&&e?.address),placeholderData:[]})}var J=a(89536);function ee({accountId:e,isLoading:t,createAccount:a}){const{onCopy:n}=(0,V.V)(e||"");return(0,m.jsx)(m.Fragment,{children:t?(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",children:(0,m.jsx)(D.x,{children:"Loading..."})}):(0,m.jsx)(Z.p,{in:!t,children:(0,m.jsx)(L.z,{size:"sm",borderRadius:"4px",height:"40px",as:L.z,variant:"outline",w:"100%",maxW:"180px","data-testid":"current account id","data-account-id":e,onClick:e?n:()=>a(),children:(e?`Account #${(0,$.i_)(e,3,3)}`:"Create Account")+" "})})})}function te(){const e=(0,J.UO)(),{data:t,isLoading:a,isFetching:n}=X(),{mutate:o,isLoading:i,data:l}=function(){const{data:e}=(0,Y.a)();return(0,y.useMutation)({mutationFn:async function(){try{if(!e)throw new Error("CoreProxy undefined");const t=await e["createAccount()"]();let a;return(await t.wait()).logs.forEach((t=>{if(t.topics[0]===e.interface.getEventTopic("AccountCreated")){const n=e.interface.decodeEventLog("AccountCreated",t.data,t.topics)?.accountId;a=n?.toString()}})),[a]}catch(e){throw console.error(e),e}}})}();!function(){const e=X(),t=(0,z.s0)(),a=(0,z.TH)(),n=(0,r.useMemo)((()=>new URLSearchParams(a.search)),[a.search]);(0,r.useEffect)((()=>{const r=n.get("accountId")||void 0;if(e.isFetched&&e.data&&e.data.length>0)return void(r&&e.data.includes(r)||(n.set("accountId",e.data[0]),t({pathname:a.pathname,search:n.toString()},{replace:!0})));const{wallets:o}=w.IE.state.get();(o.length<1||e.isFetched&&(!e.data||e.data.length<1))&&r&&(n.delete("accountId"),t({pathname:a.pathname,search:n.toString()},{replace:!0}))}),[e.data,e.isFetched,t,a.pathname,n])}();const s=a||n||i||!t,c=l?l[0]:t?.includes(e?.accountId||"")?e.accountId:t?.[0];return(0,m.jsx)(ee,{isLoading:s,createAccount:o,accountId:c})}function ae(){const{onClose:e}=(0,O.q)(),t=(0,z.TH)();return(0,r.useEffect)((()=>{e()}),[t,e]),(0,m.jsx)(m.Fragment,{children:(0,m.jsx)(E.k,{mb:"8",py:"4",bg:"navy.900",borderBottomWidth:"1px",borderBottomColor:"gray.900",children:(0,m.jsxs)(P.W,{maxW:"1024px",as:E.k,justifyContent:"space-between",alignItems:"center",children:[(0,m.jsx)(I.xu,{display:{base:"none",md:"inline-block"},children:(0,m.jsx)(F.r,{to:{pathname:"/"},as:o.rU,py:4,pr:2,children:(0,m.jsx)(U.TR,{})})}),(0,m.jsx)(I.xu,{display:{md:"none"},children:(0,m.jsx)(F.r,{to:"/",as:o.rU,py:4,pr:2,children:(0,m.jsx)(U.K7,{})})}),(0,m.jsxs)(E.k,{justifyContent:"center",alignItems:"center",children:[(0,m.jsx)(I.xu,{display:{base:"none",md:"inline-block"},mr:3,children:(0,m.jsx)(te,{})}),(0,m.jsx)(W,{})]})]})})})}const ne=()=>(0,m.jsxs)(I.xu,{as:"main",minHeight:"100vh",color:"rgba(255,255,255,0.85)",display:"flex",flexDirection:"column",bg:"navy.900",children:[(0,m.jsxs)(E.k,{flex:"1",flexDirection:"column",children:[(0,m.jsx)(ae,{}),(0,m.jsx)(P.W,{display:"flex",flexDir:"column",maxW:"1024px",flex:"1",children:(0,m.jsx)(z.j3,{})})]}),(0,m.jsx)(B,{})]});var re=a(18671),oe=a(80774),ie=a(79443),le=a(74409),se=a(70189),ce=a(78534),de=a(5832),ue=a(66983),he=a(16060),xe=a(19299),pe=a(45071),me=a(79929),fe=a.n(me);const ge=e=>e?.configurations.reduce(((e,{market:t})=>e.add(t.pnl)),(0,me.wei)(0)),ye=e=>{const t=ge(e),a=e?.configurations.reduce(((e,{market:t})=>e.add(t.market_snapshots_by_week[1]?.pnl||(0,me.wei)(0))),(0,me.wei)(0));if(t&&a)return{value:t.sub(a),growthPercentage:a.eq(0)?void 0:t.sub(a).div(a.abs())}},be=(e,t)=>e.eq(0)||t.eq(0)?(0,me.wei)(0):t.div(e);function je({collateralType:e,liquidityPosition:t,poolId:a,isConnected:n,openConnectModal:r}){const i=(0,z.TH)(),l=be(t?.debt||(0,me.wei)(0),t?.collateralValue||(0,me.wei)(0)),s=t&&t.collateralAmount.gt(0);return(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)(ie.Td,{children:(0,m.jsxs)(E.k,{flexDir:"row",py:4,children:[(0,m.jsx)(U.l6,{width:"40px",height:"40px",symbol:e.symbol}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"center",ml:2,children:[(0,m.jsx)(D.x,{fontSize:"sm",lineHeight:"20px",fontWeight:"500",children:t?.collateralValue.gt(0)?(0,m.jsx)(pe.$,{value:t.collateralValue,prefix:"$"}):"-"}),(0,m.jsxs)(D.x,{fontSize:"xs",color:"gray.500",children:[t?.collateralAmount.gt(0)&&(0,m.jsx)(pe.$,{value:t.collateralAmount})," ",e.symbol]})]})]})}),(0,m.jsx)(ie.Td,{children:t?.debt.gt(0)?(0,m.jsx)(pe.$,{value:t.debt,prefix:"$"}):"-"}),(0,m.jsx)(ie.Td,{children:l.gt(0)?(0,m.jsx)(pe.$,{value:l.mul(100),suffix:"%"}):"-"}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(pe.$,{value:e.issuanceRatioD18.mul(100),suffix:"%"})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(pe.$,{value:e.liquidationRatioD18.mul(100),suffix:"%"})}),(0,m.jsxs)(ie.Td,{textAlign:"end",children:[n&&s?(0,m.jsx)(L.z,{as:o.rU,to:{pathname:(0,he.Gn)("/positions/:collateralSymbol/:poolId",{poolId:a,collateralSymbol:e.symbol}),search:i.search},children:"Manage"}):null,n&&!s?(0,m.jsx)(L.z,{as:o.rU,to:{pathname:(0,he.Gn)("/deposit/:collateralSymbol/:poolId",{poolId:a,collateralSymbol:e.symbol}),search:i.search},children:"Deposit"}):null,!n&&r?(0,m.jsx)(L.z,{onClick:r,children:"Connect"}):null]})]})}const we=({collateralType:e,poolId:t,liquidityPosition:a})=>{const n=(0,w.T9)();return(0,m.jsx)(je,{collateralType:e,liquidityPosition:a,poolId:t,isConnected:n,openConnectModal:()=>w.IE.connectWallet()})};var Ce=a(18914);const ve=e=>(0,m.jsx)(E.k,{bg:"navy.900",borderWidth:"1px",borderColor:"gray.900",borderRadius:"base",...e});a(18423);var Se=a(55588),Ae=a(30195),ke=a(86848);const De=Se.rK.transform((e=>(0,me.wei)(e)));async function Ie({CoreProxy:e,collateralAddresses:t}){const a=await Promise.all(t.map((t=>e.populateTransaction.getCollateralPrice(t))));if(0===a.length)return{calls:[],decoder:()=>[]};return{calls:a,decoder:t=>{if(Array.isArray(t))return t.map((t=>{const a=e.interface.decodeFunctionResult("getCollateralPrice",t)[0];return De.parse(a)}));throw Error("Expected array got: "+typeof t)}}}const Te=async({accountId:e,tokenAddresses:t,CoreProxy:a})=>{const n=t.flatMap((t=>[a.populateTransaction.getAccountAvailableCollateral(e,t),a.populateTransaction.getAccountCollateral(e,t)]));return{decoder:e=>{if(!Array.isArray(e))throw Error("Expected array");return t.map(((t,n)=>{const[r]=a.interface.decodeFunctionResult("getAccountAvailableCollateral",e[2*n]),{totalAssigned:o,totalDeposited:i,totalLocked:l}=a.interface.decodeFunctionResult("getAccountCollateral",e[2*n+1]);return{tokenAddress:t,availableCollateral:(0,me.wei)(r),totalAssigned:(0,me.wei)(o),totalDeposited:(0,me.wei)(i),totalLocked:(0,me.wei)(l)}}))},calls:await Promise.all(n)}};function Fe({accountId:e,includeDelegationOff:t}){const{data:a}=(0,Y.a)(),n=(0,w.LN)(),r=(0,xe.T)(t),o=r.data?.map((e=>e.tokenAddress))??[];return(0,y.useQuery)({queryKey:[n.name,{accountId:e},"AccountCollateral",{tokens:o}],enabled:Boolean(a&&e&&o.length>0),queryFn:async function(){if(!a||!e||o.length<1)throw"useAccountCollateral should be disabled";const{calls:t,decoder:n}=await Te({accountId:e,tokenAddresses:o,CoreProxy:a});return(await(0,ke.Iy)(a.provider,t,n,"useAccountCollateral")).map((e=>({...e,symbol:r.data?.find((t=>t.tokenAddress===e.tokenAddress))?.symbol??""})))}})}var Le=a(42614),Me=a(95522),ze=a(24269);const Ne=Ae.z.object({value:Se.rK.transform((e=>(0,me.wei)(e))).optional(),amount:Se.rK.transform((e=>(0,me.wei)(e)))}),Ee=Se.rK.transform((e=>(0,me.wei)(e))),Pe=async({CoreProxy:e,accountId:t,poolId:a,tokenAddress:n})=>({calls:await Promise.all([e.populateTransaction.getPositionCollateral(t,a,n),e.populateTransaction.getPositionDebt(t,a,n)]),decoder:t=>{if(Array.isArray(t)&&2===t.length){const a=e.interface.decodeFunctionResult("getPositionCollateral",t[0]),n=e.interface.decodeFunctionResult("getPositionDebt",t[1])[0];return{debt:Ee.parse(n),collateral:Ne.parse({...a})}}throw Error("Expected array with two items")}});function Be(e,t){return t.reduce(((t,a)=>(t[a[e]]=a,t)),{})}const Oe=({accountId:e})=>{const{data:t}=(0,Y.a)(),{data:a}=(0,Ce.Oh)(),{data:n}=(0,xe.T)(),{data:r}=(0,Le.L)(),o=(0,w.LN)();return(0,y.useQuery)({queryKey:[o.name,{accountId:e},"LiquidityPositions",{pools:a?a.map((e=>e.id)).sort():[],tokens:n?n.map((e=>e.tokenAddress)).sort():[],collateralPriceUpdatesLength:r?.length}],queryFn:async()=>{if(!(a&&n&&t&&e&&r))throw Error("Query should not be enabled");const i=(await Promise.all(a.map((async({id:a,name:r})=>Promise.all(n.map((async n=>{const{calls:o,decoder:i}=await Pe({CoreProxy:t,accountId:e,poolId:a,tokenAddress:n.tokenAddress});return{calls:o,decoder:i,poolName:r,collateralType:n,poolId:a}}))))))).flat(),{calls:l,decoder:s}=await Ie({collateralAddresses:n.map((e=>e.tokenAddress)),CoreProxy:t}),c=i.map((e=>e.calls)).flat(),d=(await(0,Me.$)(r,o.isTestnet).then((e=>(0,Me.x)("0x",r,e)))).concat(l.concat(c)),u=i.at(0)?.decoder;return await(0,ke.Iy)(t.provider,d,(t=>{if(!Array.isArray(t))throw Error("Expected array ");if(!u)return{};const a=Be("address",s(t.slice(0,l.length)).map(((e,t)=>({price:e,address:n[t].tokenAddress})))),r=t.slice(l.length);var o;return Be("id",(o=r,Array.from({length:o.length/2},((e,t)=>[o[2*t],o[2*t+1]]))).map((e=>u(e))).map((({debt:t,collateral:n},r)=>{const{poolName:o,collateralType:l,poolId:s}=i[r],c=n.amount,d=a?.[l.tokenAddress].price,u=d?c.mul(d):(0,me.wei)(0),h=be(t,u);return{id:`${s}-${l.symbol}`,accountId:e,poolId:s,poolName:o,collateralPrice:d,collateralAmount:c,collateralValue:u,collateralType:l,cRatio:h,debt:t}})))}),"useLiquidityPositions")},enabled:Boolean(r&&t&&n?.length&&e&&a?.length)})};var _e=a(47443),He=a(52929);const Re=()=>(0,m.jsx)(E.k,{alignItems:"flex-end",flexWrap:{base:"wrap",md:"nowrap"},children:(0,m.jsx)(I.xu,{flexGrow:1,children:(0,m.jsxs)(_e.b,{status:"warning",children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(I.xu,{children:["This is an experimental prototype for Synthetix V3."," ",(0,m.jsxs)(D.x,{fontWeight:"bold",display:"inline",children:["Any incentives (including voting power) are exclusively determined based on participation in"," ",(0,m.jsx)(F.r,{textDecoration:"underline",href:"https://staking.synthetix.io",children:"Synthetix V2"}),"."]})]})]})})});const qe=(e,t)=>{const a={style:"currency",currency:"USD",locales:"en-EN",...t};return new Intl.NumberFormat(a.locales,a).format(Number(e))},Ue=(e,t)=>{const a={minimumFractionDigits:2,maximumFractionDigits:2,locales:"en-EN",...t};return new Intl.NumberFormat(a.locales,a).format(Number(e))},$e=(e,t)=>{const a={minimumFractionDigits:0,maximumFractionDigits:2,locales:"en-EN",style:"percent",...t};return new Intl.NumberFormat(a.locales,a).format(Number(e))},We=({totalDebt:e,totalCollateral:t})=>(0,m.jsxs)(E.k,{justifyContent:"space-between",gap:4,flexDirection:{base:"column",md:"row"},children:[(0,m.jsxs)(ve,{p:4,width:"33%",flexDir:"column",children:[(0,m.jsx)(D.x,{fontSize:"xs",fontFamily:"heading",textTransform:"uppercase",color:"gray.500",textAlign:"center",fontWeight:"400",children:"Total Collateral"}),(0,m.jsx)(D.x,{fontFamily:"heading",fontWeight:"800",textAlign:"center",fontSize:"2xl",children:t?qe(t):"—"})]}),(0,m.jsxs)(ve,{p:4,flexDir:"column",width:"33%",children:[(0,m.jsx)(D.x,{fontSize:"xs",fontFamily:"heading",textTransform:"uppercase",color:"gray.500",textAlign:"center",fontWeight:"400",children:"Total debt"}),(0,m.jsx)(D.x,{fontFamily:"heading",fontWeight:"800",textAlign:"center",fontSize:"2xl",children:e?qe(e):"—"})]}),(0,m.jsxs)(ve,{p:4,flexDir:"column",width:"33%",children:[(0,m.jsx)(D.x,{fontSize:"xs",fontFamily:"heading",textTransform:"uppercase",color:"gray.500",textAlign:"center",fontWeight:"400",children:"Total Earnings Lifetime"}),(0,m.jsx)(D.x,{fontFamily:"heading",fontWeight:"800",textAlign:"center",fontSize:"2xl",children:"—"})]})]});var Ve=a(80877),Ge=a(74444),Ze=a(7987);function Qe({accountId:e}){const{data:t}=(0,Y.a)(),a=(0,w.LN)();return(0,y.useQuery)({queryKey:[a.name,{accountId:e},"AccountCollateralUnlockDate"],enabled:Boolean(t&&e),queryFn:async function(){if(!t||!e)throw"OMG";const[a,n]=await t.callStatic.multicall([t.interface.encodeFunctionData("getAccountLastInteraction",[e]),t.interface.encodeFunctionData("getConfigUint",[Ze.s("accountTimeoutWithdraw")])]),[r]=t.interface.decodeFunctionResult("getAccountLastInteraction",a),[o]=t.interface.decodeFunctionResult("getConfigUint",n),i=r.add(o);return new Date(1e3*i.toNumber())}})}var Ke=a(95509);const Ye=r.lazy((()=>(0,Ke.safeImport)((()=>a.e(9844).then(a.bind(a,49844))))));function Xe({accountCollateral:e,isDisabled:t}){const[a,n]=r.useState(!1);return(0,m.jsxs)(oe.Tr,{"data-testid":"available collateral row",children:[(0,m.jsx)(ie.Td,{children:(0,m.jsxs)(E.k,{flexDir:"row",py:4,children:[(0,m.jsx)(U.l6,{width:"32px",height:"32px",symbol:e.symbol}),(0,m.jsx)(E.k,{flexDirection:"column",justifyContent:"center",ml:2,children:(0,m.jsxs)(D.x,{fontSize:"lg",color:"gray.500",children:[(0,m.jsx)(pe.$,{value:e.availableCollateral})," ",e.symbol]})})]})}),(0,m.jsxs)(ie.Td,{textAlign:"end",children:[(0,m.jsx)(L.z,{isDisabled:t,onClick:()=>n(!0),children:"Withdraw"}),(0,m.jsx)(r.Suspense,{fallback:null,children:a?(0,m.jsx)(Ye,{accountCollateral:e,onClose:()=>n(!1),isOpen:a}):null})]})]})}function Je({accountCollateral:e,accountCollateralUnlockDate:t}){return(0,m.jsx)(Xe,{accountCollateral:e,isDisabled:!t||t.getTime()>Date.now()||e.availableCollateral.eq(0)})}var et=a(40541),tt=a(61295);function at({accountCollaterals:e,timeToUnlock:t,unlockDateString:a,unlockDate:n,AvailableCollateralRow:r}){return 0===e.length?null:(0,m.jsxs)(ve,{p:4,mt:8,flexDir:"column",children:[(0,m.jsx)(le.X,{fontSize:"2xl",mb:"2",children:"Available Collateral"}),(0,m.jsxs)(E.k,{alignItems:"center",mb:"0",children:[(0,m.jsx)(D.x,{color:"gray.500",children:"This collateral can be deposited to pools. As a security precaution, this collateral cannot be withdrawn until at least 1 day has elapsed since previous account activity."}),(0,m.jsxs)(_e.b,{ml:"auto",status:"—"===t?"loading":t?"error":"success",width:"540px",title:a,children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(I.xu,{width:"100%",children:[(0,m.jsx)(Ve.C,{children:"Withdrawals available"}),t?(0,m.jsx)(Ge.X,{display:"block",children:t}):null]})]})]}),(0,m.jsx)(I.xu,{overflowX:"auto",children:(0,m.jsxs)(se.i,{mt:8,size:"sm",variant:"unstyled",mb:"9",children:[(0,m.jsx)(ce.h,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:(0,m.jsx)(oe.Tr,{})}),(0,m.jsx)(ue.p,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:e.map((e=>(0,m.jsx)(r,{accountCollateralUnlockDate:n,accountCollateral:e},e.tokenAddress)))})]})})]})}function nt(){const{accountId:e}=(0,J.UO)(),t=Fe({accountId:e,includeDelegationOff:!0}),a=Qe({accountId:e}),n=r.useCallback((()=>a.isLoading?"—":!a.data||a.data.getTime()<=Date.now()?void 0:(0,et.Z)(a.data,{addSuffix:!0})),[a.data,a.isLoading]),[o,i]=r.useState(n());r.useEffect((()=>{const e=setInterval((()=>i(n())),1e3);return()=>clearInterval(e)}),[n]);const l=r.useMemo((()=>a.isLoading?"—":!a.data||a.data.getTime()<=Date.now()?void 0:(0,tt.Z)(a.data,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"})),[a.data,a.isLoading]);return(0,m.jsx)(at,{accountCollaterals:t.data||[],timeToUnlock:o,unlockDateString:l,unlockDate:a.data,AvailableCollateralRow:Je})}const rt=()=>(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(ie.Td,{children:(0,m.jsx)(G.O,{minWidth:16,height:8})})]});function ot({collateralTypes:e,pools:t,liquidityPositionsById:a,isLoading:n,VaultRow:r,Stats:i,AvailableCollateral:l}){const{totalCollateral:s,totalDebt:c}=Object.values(a||[]).reduce(((e,t)=>(e.totalCollateral=e.totalCollateral+t.collateralValue.toNumber(),e.totalDebt=e.totalDebt+t.debt.toNumber(),e)),{totalCollateral:0,totalDebt:0})||{},d=(0,z.TH)();return(0,m.jsxs)(E.k,{height:"100%",flexDirection:"column",children:[(0,m.jsx)(I.xu,{mb:"8",children:(0,m.jsx)(Re,{})}),(0,m.jsx)(i,{totalDebt:c,totalCollateral:s}),n?(0,m.jsx)(ve,{p:4,mt:8,flexDir:"column",children:(0,m.jsx)(E.k,{justifyContent:"space-between",flexWrap:{base:"wrap",md:"nowrap"},alignItems:"center",children:(0,m.jsx)(E.k,{alignItems:"baseline",justifyContent:"flex-start",flexDirection:{base:"column",md:"row"},children:(0,m.jsx)(G.O,{})})})}):(0,m.jsx)(m.Fragment,{children:t.map((t=>(0,m.jsxs)(ve,{p:4,mt:8,flexDir:"column",children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",flexWrap:{base:"wrap",md:"nowrap"},alignItems:"center",children:[(0,m.jsx)(E.k,{alignItems:"baseline",justifyContent:"flex-start",flexDirection:{base:"column",md:"row"},children:(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(le.X,{fontSize:"2xl",children:t.name})})}),t.id&&(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(L.z,{as:o.rU,mt:{base:2,md:0},size:"sm",to:{pathname:(0,he.Gn)("/pools/:poolId",{poolId:t.id}),search:d.search},variant:"outline",children:"Pool Info"})})]}),(0,m.jsx)(I.xu,{overflowX:"auto",children:(0,m.jsxs)(se.i,{mt:8,size:"sm",variant:"unstyled",mb:"9",children:[(0,m.jsx)(ce.h,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Collateral"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Debt"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"C-Ratio"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Issuance Ratio"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"3",textTransform:"initial",children:"Liquidation Ratio"}),(0,m.jsx)(de.Th,{color:"gray.500",fontSize:"xs",lineHeight:"4",pb:"2",textTransform:"initial"})]})}),(0,m.jsx)(ue.p,{sx:{tr:{borderBottomColor:"gray.900",borderBottomWidth:"1px"}},children:e?e.map((e=>(0,m.jsx)(r,{collateralType:e,poolId:t.id,liquidityPosition:a?.[`${t.id}-${e.symbol}`]},e.tokenAddress))):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(rt,{}),(0,m.jsx)(rt,{})]})})]})})]},t.id)))}),(0,m.jsx)(l,{})]})}function it(){const{accountId:e}=(0,J.UO)(),{data:t=[],isLoading:a}=(0,xe.T)(),{data:n,isLoading:r}=(0,Ce.Oh)(),{data:o,isLoading:i,isInitialLoading:l}=Oe({accountId:e}),s=a||r||i&&l;return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(re.q,{children:[(0,m.jsx)("title",{children:"Synthetix V3"}),(0,m.jsx)("meta",{name:"description",content:"Synthetix V3"})]}),(0,m.jsx)(ot,{isLoading:s,liquidityPositionsById:o,collateralTypes:t,pools:n||[],VaultRow:we,AvailableCollateral:nt,Stats:We})]})}var lt=a(74008),st=a(81554),ct=a(45501),dt=a(13797);const ut=({issuanceRatioD18:e,collateralAmount:t,collateralPrice:a,debt:n,collateralChange:r,debtChange:o})=>{const i=e||(0,me.wei)(1),l=(0,me.wei)(n||0).add(o),s=(0,me.wei)(t||0).add(r),c=s.mul(a||0),d=be(l,c),u=(0,me.wei)(s).mul(a||0).div(i).sub(n||0),h=u.gte(0)?u:(0,me.wei)(0);return{isValid:(d.gte(i)||d.lte(0))&&(l.eq(0)||s.gt(0)),hasChanges:!r.eq(0)||!o.eq(0),newCRatio:d,newDebt:l,newCollateralAmount:s,maxDebt:h}};var ht=a(85573);const xt=/^([0-9]*[.])?[0-9]{0,18}$/;function pt(e){const t=parseFloat(e.toString());return t===e.toNumber()?`${t}`:e.toString()}function mt({value:e,onChange:t,min:a,max:n,InputProps:o}){const[i,l]=(0,r.useState)(e.gt(0)?e.toString():""),s=(0,r.useCallback)((a=>{if(l(a.target.value),!t)return;if(!xt.test(`${a.target.value}`))return;let n=e;try{n=(0,me.wei)(a.target.value||0)}catch(e){}e.eq(n)||t(n)}),[t,e]),c=(0,r.useRef)(null);return(0,r.useEffect)((()=>{c.current&&(xt.test(`${i}`)?e&&e.eq(0)?c.current.setCustomValidity("Value required"):a&&a.gte(0)&&e&&e.lt(a)?c.current.setCustomValidity(`Value smaller than minimum of ${pt(a)}`):n&&n.gte(0)&&e&&e.gt(n)?c.current.setCustomValidity(`Value greater than maximum of ${pt(n)}`):c.current.setCustomValidity(""):c.current.setCustomValidity("Invalid number"))}),[i,a,n,e]),(0,r.useEffect)((()=>e.eq(0)?l(""):l(pt(e))),[e]),(0,m.jsx)(ht.I,{ref:c,flex:"1",type:"text",border:"none",borderWidth:"0px",textAlign:"end",p:0,outline:"none",fontFamily:"heading",fontSize:"xl",fontWeight:"black",lineHeight:"2xl",color:"white",height:"unset",autoFocus:!0,placeholder:"Enter Amount",_focus:{boxShadow:"none !important"},_placeholder:{color:"whiteAlpha.700"},value:i,onChange:s,...o})}const ft=({debtChange:e,setDebtChange:t,maxDebt:a})=>(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsx)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:"Borrow snxUSD"}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Take an interest-free loan of snxUSD against your collateral. This increases your debt and decreases your C-Ratio."}),(0,m.jsxs)(ve,{display:"flex",py:2,px:3,mb:"4",children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.RF,{}),"snxUSD"]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isRequired:!0,"data-testid":"borrow amount input","data-max":a.toString()},value:e,onChange:e=>t(e),max:a}),(0,m.jsx)(E.k,{flexDirection:"column",alignItems:"flex-end",fontSize:"xs",color:"whiteAlpha.700",children:(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{a&&t(a)},children:[(0,m.jsx)(D.x,{children:"Max:"}),(0,m.jsx)(pe.$,{value:a})," snxUSD"]})})]})]}),(0,m.jsx)(L.z,{"data-testid":"borrow submit",type:"submit",children:"Borrow snxUSD"})]}),gt=({liquidityPosition:e})=>{const t=(0,J.UO)(),{debtChange:a,collateralChange:n,setDebtChange:o}=(0,r.useContext)(dt.n),{data:i}=(0,xe.t)(t.collateralSymbol),{maxDebt:l}=ut({issuanceRatioD18:i?.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:e?.collateralPrice,debt:e?.debt,collateralChange:n,debtChange:a});return(0,m.jsx)(ft,{setDebtChange:o,debtChange:a,maxDebt:l})};var yt=a(8263),bt=a(97096);const jt=({debtChange:e,setDebtChange:t,max:a,currentDebt:n,snxUSDBalance:r,availableUSDCollateral:o})=>{const i=r&&o?r.add(o):void 0;return(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsx)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:"Repay snxUSD"}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Pay down your position’s debt with snxUSD. This decreases your debt and increases your C-Ratio."}),(0,m.jsxs)(ve,{display:"flex",py:2,px:3,mb:"4",children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.RF,{}),"snxUSD"]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isRequired:!0,"data-testid":"repay amount input","data-max":a?.toString()},value:e.abs(),onChange:e=>t(e.mul(-1)),max:a}),(0,m.jsxs)(E.k,{flexDirection:"row",justifyContent:"right",fontSize:"xs",color:"whiteAlpha.700",children:[(0,m.jsxs)(E.k,{gap:"1",mr:"3",cursor:"pointer",onClick:()=>{n&&t(n.neg())},children:[(0,m.jsx)(D.x,{children:"Debt:"}),(0,m.jsxs)(D.x,{display:"inline",children:["$",(0,m.jsx)(pe.$,{value:n,"data-testid":"current debt"})]})]}),(0,m.jsx)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{i&&t(i.neg())},children:(0,m.jsx)(yt.u,{label:(0,m.jsxs)(E.k,{direction:"column",alignItems:"flex-start",children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",width:"full",gap:1,children:["Wallet Balance: ",(0,m.jsx)(pe.$,{value:r,suffix:" sUSD"})]}),(0,m.jsxs)(E.k,{justifyContent:"space-between",width:"full",gap:1,children:["Collateral Balance: ",(0,m.jsx)(pe.$,{value:o,suffix:" sUSD"})]})]}),children:(0,m.jsxs)(E.k,{gap:1,children:[(0,m.jsx)(D.x,{children:"Balance:"}),(0,m.jsx)(D.x,{display:"inline",children:(0,m.jsx)(pe.$,{value:i,"data-testid":"available snxUSD balance",suffix:" sUSD"})})]})})})]})]})]}),(0,m.jsx)(L.z,{"data-testid":"repay submit",type:"submit",isDisabled:!(a&&r&&n&&o),children:"Repay snxUSD"})]})},wt=({liquidityPosition:e})=>{const{debtChange:t,setDebtChange:a}=(0,r.useContext)(dt.n),{data:n}=(0,ze.a)(),o=e?.usdCollateral.availableCollateral,{data:i}=(0,bt.m)(n?.address),l=e?.debt.gt(.01),s=i?.gt(.01)?i:(0,me.wei)(0);return(0,m.jsx)(jt,{setDebtChange:a,debtChange:t,snxUSDBalance:s,availableUSDCollateral:o,currentDebt:l?e?.debt:(0,me.wei)(0),max:fe().max(e?.debt||(0,me.wei)(0),o?.add(i||(0,me.wei)(0))||(0,me.wei)(0))})};var Ct=a(87651),vt=a(10528);const St=Ae.z.object({id:Se.Rx,weight:Se.LW,maxDebtShareValue:Se.LW,isLocked:Ae.z.boolean()}),At=Ae.z.object({id:Ae.z.number(),markets:St.array(),isAnyMarketLocked:Ae.z.boolean()}),kt=Ae.z.boolean(),Dt=({collateralChange:e,setCollateralChange:t,max:a,displaySymbol:n,symbol:o,currentCollateral:i,minDelegation:l,isLoadingRequiredData:s,isAnyMarketLocked:c})=>{const d=r.useCallback((()=>{a&&t(a.mul(-1))}),[a,t]),u=i?.add(e)||(0,me.wei)(0),h=u.gt(l||(0,me.wei)(0))||u.eq(0),x=!0===c;return(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsxs)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:["Remove ",n]}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Removing collateral from this position will transfer it to the account’s Available Collateral balance for withdrawal. Collateral may only be removed if the resulting C-Ratio is above the Issuance C-Ratio."}),(0,m.jsxs)(ve,{flexDirection:"column",py:2,px:3,mb:"4",children:[(0,m.jsxs)(E.k,{flexDirection:"row",justifyContent:"space-between",width:"100%",children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.l6,{symbol:o}),n]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isDisabled:x,isRequired:!0,"data-testid":"undelegate amount input","data-max":a?.toString()},value:e.abs(),onChange:e=>t(e.mul(-1)),max:a}),(0,m.jsx)(E.k,{flexDirection:"column",alignItems:"flex-end",fontSize:"xs",color:"whiteAlpha.700",children:(0,m.jsxs)(E.k,{gap:"1",cursor:x?"not-allowed":"pointer",onClick:x?void 0:d,children:[(0,m.jsx)(D.x,{display:"flex",alignItems:"center",gap:1,children:"Max:"}),(0,m.jsx)(pe.$,{value:a,"data-testid":"available to undelegate",suffix:` ${n}`})]})})]})]}),(0,m.jsx)(Ct.U,{in:x,animateOpacity:!0,children:(0,m.jsxs)(_e.b,{mt:2,status:"warning",children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(E.k,{direction:"column",children:[(0,m.jsx)(Ve.C,{children:"Credit capacity reached"}),(0,m.jsx)(Ge.X,{children:"One of the markets has reached its credit capacity and is currently in a locked state. You cannot remove collateral from the pool at this time."})]})]})}),(0,m.jsx)(Ct.U,{in:!h,animateOpacity:!0,children:(0,m.jsxs)(_e.b,{mt:2,status:"info",children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(E.k,{direction:"column",children:[(0,m.jsxs)(Ve.C,{children:["The minimal delegated amount is"," ",(0,m.jsx)(pe.$,{value:l,suffix:` ${o}`})]}),(0,m.jsx)(Ge.X,{children:"You can close your position by removing all the collateral."})]})]})})]}),(0,m.jsxs)(L.z,{"data-testid":"undelegate submit",type:"submit",isDisabled:s||!0===c,children:["Remove ",n]})]})},It=({liquidityPosition:e})=>{const{collateralChange:t,debtChange:a,setCollateralChange:n}=(0,r.useContext)(dt.n),o=(0,J.UO)(),{data:i}=(0,xe.t)(o.collateralSymbol),l=(e=>{const t=(0,w.LN)(),{data:a}=(0,Y.a)(),{data:n}=(0,Le.L)();return(0,y.useQuery)({enabled:Boolean(a&&e&&n),queryKey:[t.name,"PoolConfiguration",{poolId:e}],queryFn:async()=>{if(!a||!e||!n)throw Error("usePoolConfiguration should not be enabled");const r=(await a.getPoolConfiguration(vt.O$.from(e))).map((({marketId:e,maxDebtShareValueD18:t,weightD18:a})=>({id:e,weight:t,maxDebtShareValue:a}))),o=await(0,Me.$)(n,t.isTestnet).then((e=>(0,Me.x)("0x",n,e))),i=await Promise.all(r.map((e=>a.populateTransaction.isMarketCapacityLocked(e.id)))),l=await(0,ke.Iy)(a.provider,o.concat(i),(e=>{if(!Array.isArray(e))throw Error("Expected array");return e.map((e=>kt.parse(a.interface.decodeFunctionResult("isMarketCapacityLocked",e)[0])))}),"isMarketCapacityLocked");return At.parse({id:parseInt(e),markets:r.map(((e,t)=>({...e,isLocked:l[t]}))),isAnyMarketLocked:l.some(Boolean)})}})})(o.poolId);if(!i)return null;const s=e?.collateralPrice,{newDebt:c}=ut({issuanceRatioD18:i.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:s,debt:e?.debt,collateralChange:t,debtChange:a});const d=function(){if(!e||!i)return;const{collateralAmount:t,collateralValue:a}=e;if(c.lte(0))return t;const n=c.mul(i.issuanceRatioD18);if(a(0,m.jsxs)(E.k,{w:"100%",justifyContent:"space-between",mt:2,mb:1,children:[(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:t>=.25?"cyan.500":"whiteAlpha.300",color:t>=.25?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},mr:1,onClick:a?void 0:()=>e(.25),children:"25%"}),(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:t>=.5?"cyan.500":"whiteAlpha.300",color:t>=.5?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},mx:1,onClick:a?void 0:()=>e(.5),children:"50%"}),(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:t>=.75?"cyan.500":"whiteAlpha.300",color:t>=.75?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},mx:1,onClick:a?void 0:()=>e(.75),children:"75%"}),(0,m.jsx)(Tt.C,{variant:"percent",sx:{bg:1===t?"cyan.500":"whiteAlpha.300",color:1===t?"black":"cyan.500",cursor:a?"not-allowed":"pointer"},ml:1,onClick:a?void 0:()=>e(1),children:"100%"})]});var Lt=a(95042);function Mt(){const e=(0,w.LN)(),t=(0,w.Os)(),a=(0,w.yL)(),{data:n}=(0,xe.t)("SNX"),r=t?.address,o=n?.tokenAddress;return(0,y.useQuery)({enabled:Boolean(a&&r&&o),queryKey:[e.name,"TransferableSynthetix",{address:t?.address}],queryFn:async function(){if(!(a&&r&&o))throw"useTransferableSynthetix should not be enabled";const t=new Q.CH(o,["function balanceOf(address owner) view returns (uint256)","function transferableSynthetix(address account) view returns (uint256 transferable)","function collateral(address account) view returns (uint256 collateral)"],a);try{if("cannon"===e.name){const e=await t.balanceOf(r);return{transferable:(0,me.wei)(e)}}const[a,n]=await Promise.all([t.transferableSynthetix(r),t.collateral(r)]);return{transferable:(0,me.wei)(a),collateral:(0,me.wei)(n)}}catch(e){throw console.error(e),e}}})}const zt=({tokenBalance:e,...t})=>(0,m.jsxs)(_e.b,{borderLeftColor:"cyan.500",borderRadius:"6px",...t,children:[(0,m.jsx)(He.z,{color:"cyan.500"}),(0,m.jsxs)(D.x,{color:"white",fontFamily:"heading",fontSize:"16px",lineHeight:"24px",children:["You have a ",e.toString(2)," SNX active staking position on V2. You‘ll need to unstake on V2 before being able to deposit on V3."," ",(0,m.jsx)(F.r,{textDecor:"underline",href:"https://staking.synthetix.io/",target:"_blank",children:"Go to V2"})]})]}),Nt=({accountCollateral:e,collateralChange:t,setCollateralChange:a,displaySymbol:n,symbol:o,tokenBalance:i,ethBalance:l,snxBalance:s})=>{const[c,d]=(0,r.useState)(0),u=(0,r.useMemo)((()=>"SNX"===o?s?.transferable:"WETH"!==o?i:i&&l?i.add(l):void 0),[o,i,l,s?.transferable]);return(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsxs)(D.x,{fontSize:"md",fontWeight:"700",mb:"0.5",children:["Add ",n]}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",mb:"4",children:"Provide additional collateral to this position. This will increase the position’s C-Ratio."}),(0,m.jsxs)(ve,{display:"flex",flexDirection:"column",py:2,px:3,mb:"4",children:[(0,m.jsxs)(E.k,{children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",mx:"2",children:[(0,m.jsx)(U.l6,{symbol:o}),n]}),(0,m.jsx)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{"data-testid":"deposit amount input","data-max":u?.toString()},value:t,onChange:e=>{d(0),a(e)},max:u}),(0,m.jsxs)(E.k,{flexDirection:"column",alignItems:"flex-end",fontSize:"xs",color:"whiteAlpha.700",children:[e.availableCollateral.gt(0)?(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>a(e.availableCollateral),children:[(0,m.jsxs)(D.x,{children:["Available ",o," Collateral:"]}),(0,m.jsx)(pe.$,{value:e?.availableCollateral})]}):null,(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{const e="SNX"===o?s?.transferable:i;e&&a(e)},children:[(0,m.jsxs)(D.x,{children:[o," Balance:"]}),(0,m.jsx)(pe.$,{value:"SNX"===o?s?.transferable:i})]}),"WETH"===o?(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{l&&a(l)},children:[(0,m.jsx)(D.x,{children:"ETH Balance:"}),(0,m.jsx)(pe.$,{value:l})]}):null]})]})})]}),(0,m.jsx)(Ft,{disabled:!!u&&u.eq(0),onBadgePress:e=>{if(u){if(c===e)return a((0,me.wei)(0)),void d(0);d(e),a(u.mul(e))}},activeBadge:c})]}),s?.collateral&&s?.collateral.gt(0)&&"SNX"===o&&(0,m.jsx)(zt,{tokenBalance:s.collateral}),(0,m.jsxs)(L.z,{disabled:void 0===u,"data-testid":"deposit submit",type:"submit",children:["Add ",n]})]})},Et=({liquidityPosition:e})=>{const{collateralChange:t,setCollateralChange:a}=(0,r.useContext)(dt.n),n=(0,J.UO)(),{data:o}=(0,xe.t)(n.collateralSymbol),{data:i}=Mt(),{data:l}=(0,bt.m)(o?.tokenAddress),{data:s}=(0,Lt.G)();return o&&e?.accountCollateral?(0,m.jsx)(Nt,{accountCollateral:e.accountCollateral,displaySymbol:o.displaySymbol,tokenBalance:l,snxBalance:i,ethBalance:s,symbol:o.symbol,setCollateralChange:a,collateralChange:t}):null},Pt=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>a.e(6275).then(a.bind(a,26275)))))),Bt=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>a.e(3967).then(a.bind(a,3967)))))),Ot=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>Promise.resolve().then(a.bind(a,1085)))))),_t=(0,r.lazy)((()=>(0,Ke.safeImport)((()=>a.e(951).then(a.bind(a,70951)))))),Ht=Ae.z.enum(["borrow","deposit","repay","undelegate"]),Rt=({children:e,action:t,activeAction:a,onClick:n})=>(0,m.jsx)(ve,{as:L.z,fontWeight:"700",fontSize:"md",color:"gray.50",bg:"navy.900",_hover:{bg:"unset"},_active:{bg:"unset"},cursor:"pointer","data-testid":"manage action","data-action":t,"data-active":t===a?"true":void 0,onClick:()=>n(t),py:2,width:"50%",textAlign:"center",children:e}),qt=({manageAction:e,liquidityPosition:t})=>{switch(e){case"borrow":return(0,m.jsx)(gt,{liquidityPosition:t});case"deposit":return(0,m.jsx)(Et,{liquidityPosition:t});case"repay":return(0,m.jsx)(wt,{liquidityPosition:t});case"undelegate":return(0,m.jsx)(It,{liquidityPosition:t});default:return null}},Ut=({setActiveAction:e,manageAction:t,onSubmit:a,liquidityPosition:n})=>(0,m.jsxs)(I.xu,{as:"form",onSubmit:a,children:[(0,m.jsxs)(E.k,{mt:2,gap:2,children:[(0,m.jsxs)(Rt,{onClick:e,action:"deposit",activeAction:t,children:[(0,m.jsx)(st.v,{w:"15px",h:"15px",mr:1})," Add Collateral"]}),(0,m.jsxs)(Rt,{onClick:e,action:"repay",activeAction:t,children:[(0,m.jsx)(U.RF,{mr:1})," Repay snxUSD"]})]}),(0,m.jsxs)(E.k,{mt:2,gap:2,children:[(0,m.jsxs)(Rt,{onClick:e,action:"undelegate",activeAction:t,children:[(0,m.jsx)(ct.H,{w:"15px",h:"15px",mr:1})," Remove Collateral"]}),(0,m.jsxs)(Rt,{onClick:e,action:"borrow",activeAction:t,children:[(0,m.jsx)(U.TK,{mr:1})," Borrow snxUSD"]})]}),t?(0,m.jsx)(E.k,{direction:"column",mt:6,children:(0,m.jsx)(qt,{manageAction:t,liquidityPosition:n})}):null]}),$t=({liquidityPosition:e})=>{const t=(0,J.UO)(),a=(0,z.s0)(),n=(0,z.TH)(),[o,i]=(0,r.useState)(null),{debtChange:l,collateralChange:s,setCollateralChange:c,setDebtChange:d}=(0,r.useContext)(dt.n),{data:u}=(0,xe.t)(t.collateralSymbol),{isValid:h}=ut({issuanceRatioD18:u?.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:e?.collateralPrice,debt:e?.debt,collateralChange:s,debtChange:l}),x=Ht.safeParse(t.manageAction),p=x.success?x.data:null,f=(0,r.useCallback)((e=>{e.preventDefault();e.target.reportValidity()&&h&&i(p)}),[h,p]);return(0,r.useEffect)((()=>{const t=new URLSearchParams(n.search);if(t.get("manageAction"))return;if(!e)return;if(!u)return;const r=be(e.debt,e.collateralValue);if(e.debt.eq(0)||r.gt(u.issuanceRatioD18))return t.set("manageAction","borrow"),void a({pathname:n.pathname,search:t.toString()},{replace:!0});if(r.mul(.9).lt(u.liquidationRatioD18))return t.set("manageAction","repay"),void a({pathname:n.pathname,search:t.toString()},{replace:!0});t.set("manageAction","deposit"),a({pathname:n.pathname,search:t.toString()},{replace:!0})}),[u,e,n.pathname,n.search,a]),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Ut,{liquidityPosition:e,onSubmit:f,setActiveAction:e=>{c((0,me.wei)(0)),d((0,me.wei)(0));const t=new URLSearchParams(n.search);t.set("manageAction",e),a({pathname:n.pathname,search:t.toString()},{replace:!0})},manageAction:p||void 0}),(0,m.jsxs)(r.Suspense,{fallback:null,children:["repay"===o?(0,m.jsx)(Pt,{availableCollateral:e?.usdCollateral.availableCollateral,onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"repay"===o}):null,"borrow"===o?(0,m.jsx)(Bt,{onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"borrow"===o}):null,"deposit"===o?(0,m.jsx)(Ot,{currentCollateral:e?.collateralAmount??(0,me.wei)(0),collateralChange:s,onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"deposit"===o}):null,"undelegate"===o?(0,m.jsx)(_t,{liquidityPosition:e,onClose:()=>{c((0,me.wei)(0)),d((0,me.wei)(0)),i(null)},isOpen:"undelegate"===o}):null]})]})};var Wt=a(7754),Vt=a(84471);const Gt=({formatFn:e,value:t,newValue:a,hasChanges:n})=>(0,m.jsxs)(E.k,{gap:1,color:"gray.50",fontSize:"2xl",fontWeight:"800",alignItems:"center",lineHeight:"32px",children:[(0,m.jsx)(D.x,{children:e(t)}),n&&!t.eq(a)?(0,m.jsxs)(D.x,{children:[(0,m.jsx)(Wt.m,{})," ",e(a)]}):null]}),Zt=({liquidityPosition:e,collateralType:t,collateralValue:a,cRatio:n,newCollateralAmount:r,newCratio:o,newDebt:i,hasChanges:l})=>(0,m.jsxs)(E.k,{direction:"column",children:[(0,m.jsxs)(ve,{py:4,px:6,flexDirection:"column",bg:"navy.700",mb:4,children:[(0,m.jsxs)(E.k,{alignItems:"center",mb:"4px",children:[(0,m.jsx)(D.x,{color:"gray.500",fontSize:"xs",fontFamily:"heading",lineHeight:"16px",children:"COLLATERAL"}),(0,m.jsx)(yt.u,{label:"Your total amount of collateral locked in this pool.",textAlign:"start",py:2,px:3,children:(0,m.jsx)(E.k,{height:"12px",width:"12px",ml:"4px",alignItems:"center",justifyContent:"center",children:(0,m.jsx)(Vt.s,{color:"white",height:"9px",width:"9px"})})})]}),e&&t?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",alignItems:"center","data-testid":"manage stats collateral",children:[(0,m.jsx)(Gt,{value:e.collateralAmount,newValue:r,formatFn:e=>`${(0,$.Aq)(e)} ${t.displaySymbol}`,hasChanges:l}),(0,m.jsx)(D.x,{fontWeight:"400",color:"gray.500",fontSize:"md",fontFamily:"heading",lineHeight:"24px",children:(0,$.Aq)(e.collateralValue,{currency:"USD",style:"currency"})})]}),(0,m.jsxs)(D.x,{fontWeight:"400",color:"gray.500",fontSize:"xs",children:["Current Value:"," ",(0,$.Aq)(a,{currency:"USD",style:"currency"})]})]}):(0,m.jsx)(G.O,{width:"100%",children:"Lorem ipsum (this wont be displayed) "})]}),(0,m.jsx)(ve,{py:4,px:6,flexDirection:"row",bg:"navy.700",justifyContent:"space-between",mb:4,children:(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"space-between",width:"100%",children:[(0,m.jsxs)(E.k,{alignItems:"center",mb:"4px",children:[(0,m.jsx)(D.x,{color:"gray.500",fontSize:"xs",fontFamily:"heading",lineHeight:"16px",children:"DEBT"}),(0,m.jsx)(yt.u,{label:"Your minted debt balance.",textAlign:"start",py:2,px:3,children:(0,m.jsx)(E.k,{height:"12px",width:"12px",ml:"4px",alignItems:"center",justifyContent:"center",children:(0,m.jsx)(Vt.s,{color:"white",height:"9px",width:"9px"})})})]}),(0,m.jsx)(E.k,{width:"100%","data-testid":"manage stats debt",children:e&&t?(0,m.jsx)(Gt,{value:e.debt.lt(.01)?(0,me.wei)(0):e.debt,newValue:i,formatFn:e=>(0,$.Aq)(e,{currency:"USD",style:"currency",maximumFractionDigits:2}),hasChanges:l}):(0,m.jsx)(G.O,{width:"100%",children:"Lorem ipsum (this wont be displaye debt) "})})]})}),(0,m.jsxs)(ve,{py:4,px:6,flexDirection:"column",bg:"navy.700",my:0,mb:4,children:[(0,m.jsx)(D.x,{color:"gray.500",fontSize:"xs",fontFamily:"heading",lineHeight:"16px",mb:"4px",children:"C-RATIO"}),(0,m.jsx)(E.k,{justifyContent:"space-between",alignItems:"center","data-testid":"manage stats collateral",children:e&&t?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Gt,{value:n.lt(.01)||n.gt(5e4)?(0,me.wei)(0):n,newValue:o,formatFn:e=>(0,$.Aq)(e,{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2}),hasChanges:l}),(0,m.jsxs)(D.x,{fontWeight:"400",color:"gray.500",fontSize:"md",fontFamily:"heading",lineHeight:"24px",children:["Minimum"," ",(0,$.Aq)(t.issuanceRatioD18,{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2})]})]}):(0,m.jsx)(G.O,{width:"100%",children:"Lorem ipsum (this wont be displayed) "})})]})]}),Qt=({liquidityPosition:e})=>{const t=(0,J.UO)(),{debtChange:a,collateralChange:n}=(0,r.useContext)(dt.n),{data:o}=(0,xe.t)(t.collateralSymbol),i=e?.collateralValue||(0,me.wei)(0),l=be(e?.debt||(0,me.wei)(0),i),{newCRatio:s,newCollateralAmount:c,newDebt:d,hasChanges:u}=ut({issuanceRatioD18:o?.issuanceRatioD18,collateralAmount:e?.collateralAmount,collateralPrice:e?.collateralPrice,debt:e?.debt,collateralChange:n,debtChange:a});return(0,m.jsx)(Zt,{hasChanges:u,newCratio:s,newDebt:d,newCollateralAmount:c,liquidityPosition:e,collateralType:o,cRatio:l,collateralValue:i})};var Kt=a(75429);const Yt=()=>{const e=(0,z.TH)();return(0,m.jsxs)(F.r,{width:"fit-content",display:"flex",alignItems:"center",color:"cyan.500",as:o.rU,to:{pathname:"/",search:e.search},fontSize:"sm",fontWeight:700,mb:2,children:[(0,m.jsx)(Kt.R,{mr:1})," Home"]})};var Xt=a(64565),Jt=a(17716);var ea=a(21832),ta=a(5438),aa=a(93611);function na({chain:e,address:t}){switch(e){case"goerli":return`https://goerli.etherscan.io/address/${t}`;case"sepolia":return`https://sepolia.etherscan.io/address/${t}`;case"optimism-goerli":return`https://goerli-optimism.etherscan.io/address/${t}`;case"optimism":return`https://optimistic.etherscan.io/address/${t}`;case"base":return`https://basescan.org/tx/${t}`;case"base-goerli":return`https://goerli.basescan.org/tx/${t}`;default:return`https://etherscan.io/address/${t}`}}const ra=({collateralSymbol:e,amount:t,txnStatus:a,txnHash:n})=>{const[o,i]=(0,r.useState)(!1),l=(0,w.LN)();return(0,r.useEffect)((()=>{"prompting"===a&&i(!0),"error"===a&&i(!1),"success"===a&&setTimeout((()=>{i(!1)}),1200)}),[a]),(0,m.jsxs)(C.u_,{isOpen:o,onClose:()=>i(!1),children:[(0,m.jsx)(v.Z,{bg:"#06061B80"}),(0,m.jsx)(S.h,{bg:"navy.700",mt:"10%",borderWidth:"1px",borderColor:"gray.900",minWidth:"384px",children:(0,m.jsxs)(k.f,{p:4,children:[(0,m.jsx)(E.k,{onClick:()=>i(!1),justifyContent:"flex-end",border:"none",boxShadow:"none",_focus:{outline:"none"},children:(0,m.jsx)(ea.T,{_hover:{cursor:"pointer"}})}),(0,m.jsx)(A.x,{pl:0,py:1,color:"whiteAlpha.900",fontSize:"20px",fontWeight:700,lineHeight:"120%",textAlign:"left",children:"Transaction Pending"}),(0,m.jsx)(D.x,{p:3,pl:0,color:"gray.600",fontFamily:"heading",fontSize:"12px",lineHeight:"150%",mb:2,children:"Follow the Metamask prompts to execute the following transactions."}),(0,m.jsxs)(E.k,{px:3,py:3,borderRadius:"5px",border:"1px solid",borderColor:"success"===a?"green.500":"gray.900",children:[(0,m.jsx)(E.k,{justifyContent:"center",alignItems:"center",borderRadius:"100px",bg:"success"===a?"green.600":"gray.900",width:"40px",height:"40px",p:3,children:"success"===a?(0,m.jsx)(ta.n,{color:"white"}):(0,m.jsx)(aa.D,{size:"25px",isIndeterminate:!0,color:"gray.700"})}),(0,m.jsxs)(E.k,{flexDirection:"column",alignItems:"space-between",justifyContent:"space-between",ml:2,children:[(0,m.jsxs)(D.x,{fontSize:"14px",fontWeight:700,lineHeight:"20px",color:"white",children:["Claiming ",t||""," ",e||""]}),(0,m.jsx)(D.x,{fontSize:"12px",lineHeight:"16px",color:"gray.500",children:"Claim your rewards"})]})]}),"success"===a&&(0,m.jsx)(L.z,{mt:5,variant:"solid",justifyContent:"center",px:3,py:3,width:"100%",textAlign:"center",children:"Done"}),n&&(0,m.jsx)(E.k,{justifyContent:"center",px:3,py:3,mt:6,mb:1,borderTop:"1px solid",borderTopColor:"gray.900",children:(0,m.jsx)(F.r,{variant:"outline",href:na({chain:l.name,address:n}),fontFamily:"heading",color:"cyan.500",fontWeight:700,lineHeight:"20px",fontSize:"14px",target:"_blank",mt:3,children:"View Transaction"})})]})})]})};const oa=(e,t=5,a=5)=>e.length<=t+a?e:`${e.slice(0,t)}...${e.slice(-a)}`,ia=({symbol:e,projectedAmount:t,frequency:a,claimableAmount:n,lifetimeClaimed:o,hasClaimed:i,address:l,readOnly:s,total:c})=>{const{accountId:d,collateralSymbol:u,poolId:h}=(0,J.UO)(),{data:x}=(0,xe.t)(u),{exec:p,txnState:f}=function(e,t,a,n,o){const{data:i}=(0,Y.a)(),[l,s]=(0,r.useReducer)(Jt.I,Jt.E),c=(0,y.useQueryClient)(),d=(0,y.useMutation)({mutationFn:async function(){try{if(!o)return;if(!(e&&t&&a&&n))throw new Error("Parameters Undefined");if(!i)throw new Error("CoreProxy undefined");s({type:"prompting"});const r=await i.claimRewards(vt.O$.from(a),vt.O$.from(e),t,n);let l;return s({type:"pending",payload:{txnHash:r.hash}}),(await r.wait()).logs.forEach((e=>{if(e.topics[0]===i.interface.getEventTopic("RewardsClaimed")){const{amount:t}=i.interface.decodeEventLog("RewardsClaimed",e.data,e.topics);l=t}})),s({type:"success"}),c.invalidateQueries(["Rewards"]),l}catch(e){return s({type:"error",payload:{error:e}}),0}}});return{mutation:d,txnState:l,settle:()=>s({type:"settled"}),isLoading:d.isLoading,exec:d.mutateAsync}}(h||"",x?.tokenAddress||"",d,l,n),{txnStatus:g,txnHash:b}=f,j=function(e){const t=3600,a=604800,n=2592e3;if(0===e)return null;if(e%n==0){const t=e/n;return 1===t?"every month":`every ${t} months`}if(e%a==0){const t=e/a;return 1===t?"every week":`every ${t} weeks`}if(e%86400==0){const t=e/86400;return 1===t?"every day":`every ${t} days`}if(e%t==0){const a=e/t;return 1===a?"every hour":`every ${a.toFixed(1)} hours`}return`every ${(e/t).toFixed(1)} hours`}(a);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ra,{amount:n,collateralSymbol:e,txnStatus:g,txnHash:b}),(0,m.jsxs)(oe.Tr,{children:[(0,m.jsxs)(ie.Td,{display:"flex",alignItems:"center",px:"14px",border:"none",w:"100%",children:[(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(U.l6,{height:"30px",width:"30px",symbol:e})}),(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsxs)(E.k,{flexDirection:"column",ml:"12px",children:[(0,m.jsx)(yt.u,{label:`Distributed by ${oa(l)}`,children:(0,m.jsxs)(D.x,{color:"gray.50",fontSize:"14px",fontFamily:"heading",fontWeight:500,lineHeight:"20px",children:[s?c:t,` ${e}`]})}),j&&(0,m.jsx)(D.x,{color:"gray.500",fontSize:"12px",fontFamily:"heading",lineHeight:"16px",children:j})]})})]}),(0,m.jsx)(ie.Td,{alignItems:"center",px:"14px",border:"none",children:(0,m.jsxs)(Z.p,{in:!0,children:[(0,m.jsxs)(D.x,{color:"gray.50",fontSize:"14px",fontFamily:"heading",fontWeight:500,lineHeight:"20px",children:[n,` ${e}`]}),o>0?(0,m.jsx)(yt.u,{label:"Total claimed over lifetime",children:(0,m.jsx)(D.x,{color:"gray.500",fontSize:"12px",fontFamily:"heading",lineHeight:"16px",children:`Lifetime: ${o} ${e}`})}):null]})}),!s&&(0,m.jsx)(ie.Td,{border:"none",px:"0px",children:(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(L.z,{w:"100%",size:"sm",variant:"solid",isDisabled:0===n,_disabled:{bg:"gray.900",backgroundImage:"none",color:"gray.500",opacity:.5,cursor:"not-allowed"},onClick:()=>{p()},children:n>0?"Claim":i?"Claimed":"Claim"})})})]})]})};var la=a(76364);const sa=()=>(0,m.jsxs)(ue.p,{width:"100%",children:[(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(la.s,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",h:"30px",w:"30px"})}),(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{mr:4,children:"Loading"})})}),(0,m.jsx)(ie.Td,{textAlign:"end",pr:"0px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{children:"Loading"})})})]}),(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(la.s,{startColor:"whiteAlpha.200",endColor:"whiteAlpha.500",h:"30px",w:"30px"})}),(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.200",endColor:"whiteAlpha.500",height:"30px",children:(0,m.jsx)(D.x,{mr:4,children:"Loading"})})}),(0,m.jsx)(ie.Td,{textAlign:"end",pr:"0px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.200",endColor:"whiteAlpha.500",height:"30px",children:(0,m.jsx)(D.x,{children:"Loading"})})})]}),(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(la.s,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",h:"30px",w:"30px"})}),(0,m.jsx)(ie.Td,{pl:"16px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{mr:4,children:"Loading"})})}),(0,m.jsx)(ie.Td,{textAlign:"end",pr:"0px",border:"none",children:(0,m.jsx)(G.O,{startColor:"whiteAlpha.500",endColor:"whiteAlpha.200",height:"30px",children:(0,m.jsx)(D.x,{children:"Loading"})})})]})]}),ca=({rewards:e,isLoading:t,readOnly:a=!1,...n})=>{const r=e&&0===e.length;return(0,m.jsxs)(ve,{bg:"navy.700",py:4,px:6,flexDir:"column",...n,children:[(0,m.jsx)(D.x,{color:"gray.500",fontFamily:"heading",lineHeight:"4",fontSize:"xs",mb:"8px",children:"REWARDS"}),(0,m.jsx)(Xt.x,{width:"100%",mb:"8px",children:r?(0,m.jsx)(Z.p,{in:!0,children:(0,m.jsx)(E.k,{mt:"20px",mb:"8px",justifyContent:"center",children:(0,m.jsx)(D.x,{color:"gray.500",fontFamily:"heading",lineHeight:"4",fontSize:"xs",children:"No Rewards Available"})})}):(0,m.jsxs)(se.i,{children:[(0,m.jsx)(ce.h,{children:(0,m.jsxs)(oe.Tr,{borderBottom:"1px solid #2D2D38",children:[(0,m.jsxs)(de.Th,{textTransform:"unset",color:"gray.600",border:"none",fontFamily:"heading",fontSize:"12px",lineHeight:"16px",letterSpacing:.6,fontWeight:700,px:4,py:3,children:["Estimated Rate",(0,m.jsx)(yt.u,{label:"Estimated rewards based on your position size",children:(0,m.jsx)(Vt.s,{ml:1,mb:"1px"})})]}),(0,m.jsx)(de.Th,{textTransform:"unset",color:"gray.600",border:"none",fontFamily:"heading",fontSize:"12px",lineHeight:"16px",letterSpacing:.6,fontWeight:700,px:4,py:3,children:"Earnings"}),(0,m.jsx)(de.Th,{textTransform:"unset",color:"transparent",border:"none",fontFamily:"heading",fontSize:"12px",lineHeight:"16px",letterSpacing:.6,fontWeight:700,px:4,py:3,children:"Claim"})]})}),t?(0,m.jsx)(sa,{}):(0,m.jsx)(ue.p,{children:e?.map((e=>(0,m.jsx)(ia,{symbol:e.symbol,claimableAmount:e.claimableAmount.toNumber(),frequency:e.duration,projectedAmount:e.rate/e.duration||0,lifetimeClaimed:e.lifetimeClaimed,hasClaimed:e.lifetimeClaimed>0,address:e.distributorAddress,readOnly:a,total:e.total},e.address)))})]})})]})},da=Ae.z.string().transform((e=>(0,me.wei)(e,18,!0))),ua=Ae.z.string().transform((e=>(0,me.wei)(e,18,!0))),ha=(e,t)=>t.add(e).mul(-1),xa=Ae.z.object({id:Ae.z.string(),usd_deposited:ua,usd_withdrawn:ua,net_issuance:ua,reported_debt:ua,updated_at:Ae.z.string(),updates_in_period:Ae.z.string()}).transform((e=>({...e,pnl:ha(e.net_issuance,e.reported_debt)}))),pa=Ae.z.object({id:Ae.z.string(),address:Ae.z.string(),usd_deposited:ua,usd_withdrawn:ua,net_issuance:ua,reported_debt:ua,updated_at:Ae.z.string(),market_snapshots_by_week:Ae.z.array(xa)}).transform((e=>({...e,pnl:ha(e.net_issuance,e.reported_debt)}))),ma=Ae.z.object({id:Ae.z.string(),market:pa,weight:da,max_debt_share_value:ua}),fa=Ae.z.object({id:Ae.z.string(),total_distributed:Ae.z.string(),rewards_distributions:Ae.z.array(Ae.z.object({amount:Ae.z.string(),duration:Ae.z.string()})).default([])}),ga=Ae.z.object({id:Ae.z.string(),name:Ae.z.union([Ae.z.string(),Ae.z.null()]).transform((e=>e||"Unnamed Pool")),total_weight:Ae.z.union([Ae.z.null(),da]),configurations:Ae.z.array(ma),registered_distributors:Ae.z.array(fa).default([])}),ya=Ae.z.object({data:Ae.z.object({pool:Ae.z.union([ga,Ae.z.null()])})}),ba=(e=>e[0])` query pool($id: String) { pool(id: $id) { id @@ -38,4 +38,4 @@ } } `,ja=e=>{const t=(0,w.LN)();return(0,y.useQuery)({queryKey:[t.name,"Pool",{pool:e}],queryFn:async()=>{if(!e)throw Error("OMG!");const a=await(async(e,t)=>{const a=await fetch((0,g.Q4)(e),{method:"POST",body:JSON.stringify({query:ba,variables:{id:t}})}),n=await a.json();if(n.errors){const{message:e}=n.errors[0];throw new Error(e)}return ya.parse(n)})(t.name,e);if(!a.data.pool)throw Error(`Pool ${e} not found`);return a.data.pool},enabled:Boolean(e&&parseInt(e)>0)})};var wa=a(5717),Ca=a(99268);const va=Ae.z.array(Ae.z.object({address:Ae.z.string(),name:Ae.z.string(),symbol:Ae.z.string(),claimableAmount:Ae.z.instanceof(me.Wei),distributorAddress:Ae.z.string(),rate:Ae.z.number(),duration:Ae.z.number(),lifetimeClaimed:Ae.z.number(),total:Ae.z.number(),decimals:Ae.z.number()})),Sa=["function name() view returns (string)","function symbol() view returns (string)","function balanceOf(address) view returns (uint256)","function deposit() payable","function decimals() view returns (uint8)"];function Aa(e,t,n,r){const o=(0,w.LN)(),{data:i}=(0,wa.b)(),{data:l}=(0,Y.a)();return(0,y.useQuery)({enabled:Boolean(i&&l&&e&&t&&n&&r),queryKey:["Rewards",o.name,{distributors:e,accountId:r,collateralAddress:n}],queryFn:async()=>{if(!(i&&l&&t&&n&&r&&e))throw"useRewards is missing required data";if(0===e.length)return[];const{abi:s}=await async function(e){switch(e){case"cannon":return a.e(8272).then(a.bind(a,8272));case"mainnet":return a.e(6405).then(a.bind(a,76405));case"goerli":return a.e(2041).then(a.bind(a,22041));case"sepolia":return a.e(4764).then(a.bind(a,44764));case"optimism-mainnet":return a.e(2098).then(a.bind(a,82098));case"optimism-goerli":return a.e(4698).then(a.bind(a,94698));case"base-goerli":return a.e(3872).then(a.bind(a,43872));default:throw new Error(`Unsupported chain ${e}`)}}(o.name),c=new Ca.vU(s),d=new Ca.vU(Sa),[{returnData:u},...h]=await Promise.all([await i.callStatic.aggregate(e.flatMap((({id:e})=>[{target:e,callData:c.encodeFunctionData("name",[])},{target:e,callData:c.encodeFunctionData("token",[])}]))),...e.map((async({id:e})=>await fetch((0,g.Q4)(o.name),{method:"POST",body:JSON.stringify({query:"\n query RewardsData($accountId: String!, $distributor: String!) {\n rewardsClaimeds(where: { distributor: $distributor, account: $accountId }) {\n id\n amount\n }\n }\n",variables:{accountId:r,distributor:e}})}).then((e=>e.json()))))]),x=e.map((({id:e,total_distributed:t,rewards_distributions:a},n)=>{const r=c.decodeFunctionResult("name",u[2*n])[0],o=c.decodeFunctionResult("token",u[2*n+1])[0];let i=0;a.length>0&&(i=parseInt(a[0].duration));return{address:e,name:r,token:o,duration:i,total:t,lifetimeClaimed:h[n].data.rewardsClaimeds.reduce(((e,t)=>e+parseInt(t.amount)),0)}})),{returnData:p}=await i.callStatic.aggregate(x.flatMap((({token:e})=>[{target:e,callData:d.encodeFunctionData("name",[])},{target:e,callData:d.encodeFunctionData("symbol",[])},{target:e,callData:d.encodeFunctionData("decimals",[])}]))),m=await Promise.all(x.map((async({address:e})=>await l.callStatic.getRewardRate(vt.O$.from(t),n,e)))),f=x.map(((e,t)=>{const a=d.decodeFunctionResult("name",p[3*t])[0],n=d.decodeFunctionResult("symbol",p[3*t+1])[0],r=d.decodeFunctionResult("decimals",p[3*t+2])[0],o=parseInt(e.total);return{...e,name:a,symbol:n,decimals:r,rewardRate:(0,me.wei)(m[t]),total:o}})),y=[];for(const e of f)try{const a=await l.callStatic.claimRewards(vt.O$.from(r),vt.O$.from(t),n,e.address);y.push({...e,claimableAmount:(0,me.wei)(a),distributorAddress:e.address,rate:e.rewardRate.toNumber()})}catch(t){y.push({...e,claimableAmount:(0,me.wei)(0),distributorAddress:e.address,rate:e.rewardRate.toNumber()})}const b=[...y].sort(((e,t)=>t.claimableAmount.toNumber()-e.claimableAmount.toNumber()));return va.parse(b)}})}var ka=a(50899);const Da=({collateralType:e,isLoading:t,rewards:a,liquidityPosition:n})=>(0,m.jsxs)(I.xu,{mb:12,children:[(0,m.jsx)(ka.$,{}),(0,m.jsx)(I.xu,{mb:"4",children:(0,m.jsx)(Yt,{})}),(0,m.jsxs)(E.k,{alignItems:"center",mb:"8px",children:[(0,m.jsx)(E.k,{bg:"linear-gradient(180deg, #08021E 0%, #1F0777 100%)",height:"34px",width:"34px",justifyContent:"center",alignItems:"center",borderRadius:"100%",children:(0,m.jsx)(U.l6,{symbol:e?.symbol,width:"28px",height:"28px",fill:"#0B0B22",color:"#00D1FF"})}),(0,m.jsxs)(le.X,{ml:4,fontWeight:700,fontSize:"3xl",color:"gray.50",display:"flex",alignItems:"center",children:[e?.symbol," Liquidity Position"]})]}),(0,m.jsxs)(D.x,{color:"gray.500",fontFamily:"heading",fontSize:"14px",lineHeight:"20px",width:"80%",children:["Deposit your collateral to borrow snxUSD and contribute to the network collateral. If you've never staked on Synthetix V3 before, please read through this"," ",(0,m.jsx)(F.r,{fontWeight:"600",color:"cyan.500",href:"https://docs.synthetix.io/v/v3/for-liquidity-providers/delegating-collateral",target:"_blank",children:"quick introduction"})," ","first."]}),(0,m.jsx)(lt.i,{mt:"31px",mb:"24px",color:"gray.900"}),(0,m.jsxs)(E.k,{gap:4,children:[(0,m.jsxs)(ve,{p:6,flexDirection:"column",bg:"navy.700",height:"fit-content",children:[(0,m.jsx)(D.x,{fontWeight:"700",fontSize:"xl",color:"gray.50",mb:"1",fontFamily:"heading",children:"Manage C-Ratio"}),(0,m.jsxs)(D.x,{color:"gray.400",fontSize:"sm",mb:"2",children:["The Collateralization Ratio (C-Ratio) is calculated by dividing the value of the position’s collateral by the value of the position’s debt."," ",(0,m.jsx)(D.x,{as:"span",fontWeight:"700",display:"inline",color:"white",children:"This position will be liquidated if the C-Ratio drops below the Liquidation C-Ratio."})]}),(0,m.jsx)($t,{liquidityPosition:n})]}),(0,m.jsxs)(I.xu,{minW:"450px",children:[(0,m.jsx)(Qt,{liquidityPosition:n}),(0,m.jsx)(ca,{isLoading:t,rewards:a})]})]})]}),Ia=()=>{const{accountId:e,collateralSymbol:t,poolId:a}=(0,J.UO)(),{isLoading:n,data:r}=(0,xe.t)(t),{isLoading:o,data:i}=ja(a),{isLoading:l,data:s}=Aa(i?.registered_distributors,a,r?.tokenAddress,e),{data:c}=(({tokenAddress:e,accountId:t,poolId:a})=>{const{data:n}=(0,Le.L)(),{data:r}=(0,Y.a)(),{data:o}=(0,ze.a)(),i=(0,w.LN)();return(0,y.useQuery)({queryKey:[i.name,"LiquidityPosition",{accountId:t},{pool:a,token:e,collateralPriceUpdatesLength:n?.length}],enabled:Boolean(r&&o&&a&&t&&e&&n),queryFn:async()=>{if(!(r&&t&&a&&e&&n&&o))throw Error("useLiquidityPosition should not be enabled");const{calls:l,decoder:s}=await Ie({collateralAddresses:[e],CoreProxy:r}),{calls:c,decoder:d}=await Pe({CoreProxy:r,accountId:t,poolId:a,tokenAddress:e}),{calls:u,decoder:h}=await Te({accountId:t,tokenAddresses:[e,o.address],CoreProxy:r}),x=(await(0,Me.$)(n,i.isTestnet).then((e=>(0,Me.x)("0x",n,e)))).concat(l.concat(c).concat(u));return await(0,ke.Iy)(r.provider,x,(t=>{if(!Array.isArray(t))throw Error("Expected array ");const a=l.length,n=a,r=n+c.length,o=r,[i]=s(t.slice(0,a)),u=d(t.slice(n,r)),[x,p]=h(t.slice(o));return{collateralPrice:i,collateralAmount:u.collateral.amount,collateralValue:u.collateral.amount.mul(i),debt:u.debt,tokenAddress:e,accountCollateral:x,usdCollateral:p}}),"useLiquidityPosition")}})})({tokenAddress:r?.tokenAddress,accountId:e,poolId:a}),d=l||n||o;return(0,m.jsx)(dt.T,{children:(0,m.jsx)(Da,{isLoading:d,collateralType:r,rewards:s,liquidityPosition:c})})};var Ta=a(89815);const Fa=({collateralTypes:e,collateralType:t,onChange:a})=>(0,m.jsxs)(_.v,{children:[(0,m.jsx)(H.j,{minHeight:"48px",alignItems:"center",cursor:"pointer",type:"button",children:(0,m.jsxs)(E.k,{children:[t?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(U.l6,{fill:"#0B0B22",color:"#00D1FF",symbol:t.symbol,width:"24px",height:"24px"}),(0,m.jsx)(D.x,{fontWeight:"600",mx:"2",children:t.displaySymbol})]}):null,(0,m.jsx)(Ta.v,{opacity:"0.66",w:"6",h:"6",ml:"auto",mr:"2"})]})}),(0,m.jsx)(R.q,{p:1,minW:"0",w:"125px",bg:"black",border:"1px solid rgba(255,255,255,0.33)",children:e.map((e=>(0,m.jsx)(q.s,{alignItems:"left",py:2,borderRadius:"sm",flexDirection:"column",_hover:{bg:"gray.800"},_focus:{bg:"gray.800"},_active:{bg:"gray.800"},onClick:()=>a(e.symbol),children:(0,m.jsxs)(E.k,{flexDirection:"row",children:[(0,m.jsx)(U.l6,{fill:"#0B0B22",color:"#00D1FF",symbol:e.symbol,width:"24px",height:"24px"}),(0,m.jsx)(D.x,{ml:"2",fontWeight:"600",children:e?.displaySymbol})]})},e.symbol)))})]}),La=({collateralSymbol:e,onChange:t})=>{const{data:a=[]}=(0,xe.T)(),{data:n}=(0,xe.t)(e);return(0,m.jsx)(Fa,{onChange:t,collateralType:n,collateralTypes:a})};var Ma=a(1085);function za({collateralType:e,accountCollateral:t,ethBalance:a,snxBalance:n,isConnected:o,openConnectModal:i,staticCollateral:l,poolId:s,navigate:c,DepositModal:d,CollateralTypeSelector:u,tokenBalance:h}){const x=(0,r.useRef)(null),[p,f]=(0,r.useState)((0,me.wei)(0)),[g,y]=(0,r.useState)((0,me.wei)(0)),[b,j]=(0,r.useState)(0),w=(0,z.TH)(),C=(0,r.useMemo)((()=>"SNX"===e?.symbol?n?.transferable:"WETH"!==e?.symbol?h:h&&a?h.add(a):void 0),[e?.symbol,h,a,n?.transferable]),[v,S]=(0,r.useState)(!1),A=(0,r.useCallback)((async e=>{e.preventDefault();e.target.reportValidity()&&(y((0,me.wei)(p)),S(!0))}),[p]),k=(0,r.useCallback)((t=>{s&&`${e?.symbol}`.toLowerCase()!==`${t}`.toLowerCase()&&(j(0),y((0,me.wei)(0)),f((0,me.wei)(0)),x.current?.focus(),c({pathname:(0,he.Gn)("/deposit/:collateralSymbol/:poolId",{poolId:s,collateralSymbol:t}),search:w.search}))}),[w.search,c,e?.symbol,s]);return!o&&i?(0,m.jsx)(E.k,{flexGrow:1,alignItems:"flex-end",children:(0,m.jsx)(L.z,{width:"100%",size:"md",px:"8",onClick:i,children:"Connect Wallet"})}):s&&e?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(I.xu,{as:"form",bg:"navy.900",mb:"8",onSubmit:A,children:[(0,m.jsxs)(I.xu,{borderWidth:"1px",borderColor:"gray.900",borderRadius:"base",p:2,children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",children:[(0,m.jsx)(E.k,{alignItems:"center",children:l?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(U.l6,{fill:"#0B0B22",color:"#00D1FF",symbol:e.symbol,width:"24px",height:"24px"}),(0,m.jsx)(D.x,{fontWeight:"600",mx:"2",children:e.displaySymbol})]}):(0,m.jsx)(u,{collateralSymbol:e.symbol,onChange:k})}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{value:p,onChange:e=>{j(0),f(e)},InputProps:{"data-testid":"deposit amount input"},min:e.minDelegationD18,max:C}),(0,m.jsxs)(E.k,{flexDirection:"column",alignItems:"flex-end",fontSize:"xs",color:"whiteAlpha.700",children:[t&&t?.availableCollateral.gt(0)?(0,m.jsx)(F.r,{onClick:()=>f(t?.availableCollateral),children:(0,m.jsx)(pe.$,{prefix:`Available ${e.symbol} Collateral: `,value:t?.availableCollateral})}):null,(0,m.jsx)(F.r,{onClick:()=>{if(!h||!n)return;const t="SNX"===e.symbol?n.transferable:h;f(t)},children:(0,m.jsx)(pe.$,{prefix:`${e.symbol} Wallet Balance: `,value:"SNX"===e.symbol?n?.transferable:h})}),"WETH"===e?.symbol?(0,m.jsxs)(E.k,{gap:"1",cursor:"pointer",onClick:()=>{a&&f(a)},children:[(0,m.jsx)(D.x,{children:"ETH Wallet Balance:"}),(0,m.jsx)(pe.$,{value:a})]}):null]})]})]}),(0,m.jsx)(Ft,{disabled:!!C&&C.eq(0),onBadgePress:e=>{if(C){if(b===e)return f((0,me.wei)(0)),void j(0);j(e),f(1===e?C:C.mul(e))}},activeBadge:b}),(0,m.jsx)(Ct.U,{in:p.gt(0)&&p.lt(e.minDelegationD18),animateOpacity:!0,children:(0,m.jsxs)(_e.b,{mt:2,status:"info",children:[(0,m.jsx)(He.z,{}),(0,m.jsxs)(Ge.X,{children:["You need to deposit"," ",(0,m.jsx)(pe.$,{value:e.minDelegationD18,suffix:` ${e.symbol}`})," ","minimum"]})]})})]}),(0,m.jsx)(L.z,{mt:4,size:"md",px:"8",type:"submit",w:"full","data-testid":"deposit collateral",children:"Deposit Collateral"})]}),n?.collateral&&n?.collateral.gt(0)&&"SNX"===e.symbol&&(0,m.jsx)(zt,{tokenBalance:n.collateral}),g.gt(0)?(0,m.jsx)(d,{availableCollateral:t?.availableCollateral||(0,me.wei)(0),currentCollateral:(0,me.wei)(0),collateralChange:g,isOpen:v,onClose:()=>S(!1)}):null]}):null}const Na=e=>{const t=(0,z.s0)(),a=(0,w.T9)(),n=(0,J.UO)(),{data:r}=(0,xe.t)(n.collateralSymbol),o=(0,Lt.G)(),i=Mt(),{data:l}=(0,bt.m)(r?.tokenAddress),{data:s}=function(e,t){const{data:a}=(0,Y.a)(),n=(0,w.LN)();return(0,y.useQuery)({queryKey:[n.name,"AccountSpecificCollateral",{accountId:e},{token:t}],enabled:Boolean(a&&e&&t),queryFn:async function(){if(!a||!e||!t)throw"useAccountSpecificCollateral should not be enabled";const{calls:n,decoder:r}=await Te({accountId:e,tokenAddresses:[t],CoreProxy:a});return(await(0,ke.Iy)(a.provider,n,r,"useAccountSpecificCollateral")).at(0)}})}(n.accountId,r?.tokenAddress);return(0,m.jsx)(za,{staticCollateral:e.staticCollateral,isConnected:a,openConnectModal:()=>w.IE.connectWallet(),collateralType:r,accountCollateral:s,tokenBalance:l,snxBalance:i.data,ethBalance:o.data,poolId:n.poolId,navigate:t,DepositModal:Ma.DepositModal,CollateralTypeSelector:La})},Ea=e=>(0,m.jsx)(D.x,{color:(0,me.wei)(e.value).gte(0)?"success":"error",...e}),Pa=({poolName:e,poolId:t,sevenDaysPoolPerformanceGrowth:a})=>{const n=(0,z.TH)();return(0,m.jsxs)(ve,{h:"100%",p:4,flexDirection:"column",children:[t?(0,m.jsx)(E.k,{justifyContent:"space-between",children:(0,m.jsxs)(E.k,{flexDirection:"column",children:[(0,m.jsx)(le.X,{fontSize:"xl",children:e}),(0,m.jsxs)(D.x,{fontSize:"sm",color:"gray.400",children:["Pool #",t]})]})}):(0,m.jsxs)(E.k,{justifyContent:"space-between",children:[(0,m.jsxs)(I.xu,{children:[(0,m.jsx)(G.O,{w:16,height:8}),(0,m.jsx)(G.O,{mt:1,w:8,height:6})]}),(0,m.jsx)(G.O,{w:16,height:6})]}),a&&(0,m.jsxs)(ve,{mt:4,p:4,flexDirection:"column",children:[(0,m.jsxs)(le.X,{fontSize:"md",alignItems:"center",display:"flex",children:["Performance Last 7 Days"," ",(0,m.jsx)(yt.u,{label:"Average growth of all markets in the pool for the last 7 days",children:(0,m.jsx)(Vt.s,{width:"12px",height:"12px",ml:1})})]}),(0,m.jsx)(Ea,{fontSize:"2xl",fontWeight:"bold",value:a,children:(0,$.Aq)(a,{style:"percent"})})]}),t&&(0,m.jsx)(L.z,{as:o.rU,mt:4,size:"md",to:{pathname:(0,he.Gn)("/pools/:poolId",{poolId:t}),search:n.search},variant:"outline",children:"See Pool"})]})},Ba=()=>{const{poolId:e}=(0,J.UO)(),{data:t}=ja(e),a=ye(t),{data:n}=(0,Ce.AI)(e);return(0,m.jsx)(Pa,{poolName:n?.name,poolId:n?.id,sevenDaysPoolPerformanceGrowth:a?.growthPercentage})};function Oa({collateralDisplaySymbol:e,PoolBox:t,DepositForm:a}){return(0,m.jsxs)(E.k,{height:"100%",flexDirection:"column",children:[(0,m.jsx)(ka.$,{}),(0,m.jsx)(Yt,{}),(0,m.jsx)(E.k,{alignItems:"flex-end",flexWrap:{base:"wrap",md:"nowrap"},children:(0,m.jsxs)(I.xu,{flexGrow:1,mr:12,children:[(0,m.jsx)(E.k,{mb:2,children:(0,m.jsxs)(E.k,{alignItems:"center",children:[(0,m.jsx)(I.xu,{mr:2,bg:"linear-gradient(180deg, #08021E 0%, #1F0777 146.21%)",p:"3px",borderRadius:"50px",children:(0,m.jsx)(U.l6,{width:"30px",height:"30px",symbol:e||"SNX",fill:"#0B0B22",color:"#00D1FF"})}),(0,m.jsxs)(le.X,{children:[e," Vault"]})]})}),(0,m.jsxs)(D.x,{color:"gray.500",fontSize:"sm",children:["Deposit your collateral to borrow snxUSD and contribute to the network collateral. If you have never staked on Synthetix before, please review"," ",(0,m.jsx)(F.r,{color:"cyan.500",href:"https://docs.synthetix.io/",target:"_blank",children:"the documentation"}),"."]})]})}),(0,m.jsx)(lt.i,{my:8,bg:"gray.900"}),(0,m.jsxs)(E.k,{alignItems:"stretch",flexWrap:{base:"wrap",md:"nowrap"},gap:4,children:[(0,m.jsxs)(ve,{flexGrow:1,p:4,flexDirection:"column",children:[(0,m.jsx)(le.X,{fontSize:"xl",color:"gray.50",children:"Deposit Collateral"}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.500",my:1,children:"Take an interest-free loan against your collateral. This increases your debt and decreases your C-Ratio."}),(0,m.jsxs)(le.X,{mt:4,mb:2,size:"sm",color:"gray.50",children:["Deposit ",e]}),(0,m.jsx)(a,{})]}),(0,m.jsx)(I.xu,{maxW:{base:"full",md:"400px"},width:"full",children:(0,m.jsx)(t,{})})]})]})}function _a(){const e=(0,J.UO)(),{data:t}=(0,xe.t)(e.collateralSymbol);return(0,m.jsx)(Oa,{collateralDisplaySymbol:t?.displaySymbol,DepositForm:Na,PoolBox:Ba})}const Ha=()=>{const e=(0,J.UO)(),{data:t}=(0,Ce.AI)(e.poolId);return(0,m.jsx)(E.k,{gap:2,alignItems:"flex-end",children:(0,m.jsx)(le.X,{fontWeight:700,fontSize:"3xl",children:t?t.name:"Unknown Pool"})})};var Ra=a(83100);const qa=Ae.z.array(Ae.z.string()),Ua=new Ca.vU(["function name(uint128 marketId) external view returns (string memory)"]),$a=e=>(0,m.jsx)(de.Th,{textTransform:"none",sx:{paddingBottom:1,paddingTop:4,borderColor:"gray.900",borderTop:"none",paddingLeft:2,paddingRight:2},...e}),Wa=({isLastItem:e,...t})=>(0,m.jsx)(ie.Td,{sx:{borderBottom:e?"none":"1px",borderBottomColor:"gray.900",paddingLeft:2,paddingRight:2},...t}),Va=()=>(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)(Wa,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(Wa,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(Wa,{children:(0,m.jsx)(G.O,{w:"full",height:8})}),(0,m.jsx)(Wa,{children:(0,m.jsx)(G.O,{w:"full",height:8})})]}),Ga=({value:e,isLoading:t,formatter:a=qe,...n})=>t?(0,m.jsx)(G.O,{w:16,h:8,mt:1}):e?(0,m.jsxs)(Ea,{value:e,display:"flex",alignItems:"center",fontSize:"2xl",fontWeight:"800",...n,children:[a(e.toNumber())," "]}):(0,m.jsx)(m.Fragment,{children:"-"});function Za({poolData:e,marketNamesById:t,poolId:a,poolDataFetched:n}){const r=ye(e),o=ge(e);return n&&!e?(0,m.jsx)(ve,{padding:4,children:(0,m.jsxs)(D.x,{children:["Pool with id: ",a," does not exist"]})}):(0,m.jsxs)(ve,{bg:"navy.700",padding:4,flexDirection:"column","data-testid":"pool markets",children:[(0,m.jsx)(D.x,{fontSize:"xl",fontWeight:700,children:"Markets"}),(0,m.jsxs)(E.k,{mt:4,gap:4,flexDirection:{base:"column",sm:"row"},children:[(0,m.jsxs)(ve,{paddingY:2,paddingX:4,flexGrow:"1",flexDirection:"column",children:[(0,m.jsxs)(D.x,{fontSize:"md",color:"white",display:"flex",gap:1,alignItems:"center",fontWeight:700,children:["Last 7 Days"," ",(0,m.jsx)(yt.u,{label:"Market's performance in the last seven days",children:(0,m.jsx)(Ra.h,{w:"10px",h:"10px"})})]}),(0,m.jsx)(Ga,{value:r?.value,isLoading:!n}),(0,m.jsx)(Ga,{value:r?.growthPercentage,isLoading:!n,fontSize:"md",formatter:$e})]}),(0,m.jsxs)(ve,{paddingY:2,paddingX:4,flexGrow:"1",flexDirection:"column",children:[(0,m.jsxs)(D.x,{fontWeight:700,fontSize:"md",color:"white",display:"flex",gap:1,alignItems:"center",children:["Performance Lifetime",(0,m.jsx)(yt.u,{label:"Market's lifetime performance",children:(0,m.jsx)(Ra.h,{w:"10px",h:"10px"})})]}),(0,m.jsx)(Ga,{value:o,isLoading:!n})]})]}),(0,m.jsx)(E.k,{children:(0,m.jsx)(Xt.x,{w:"100%",children:(0,m.jsxs)(se.i,{variant:"simple",children:[(0,m.jsx)(ce.h,{children:(0,m.jsxs)(oe.Tr,{children:[(0,m.jsx)($a,{children:"Market"}),(0,m.jsx)($a,{children:"Pool Allocation"}),(0,m.jsx)($a,{children:"Last 7 Days"}),(0,m.jsx)($a,{children:"Lifetime"})]})}),(0,m.jsxs)(ue.p,{children:[!e&&(0,m.jsx)(Va,{}),0===e?.configurations.length?(0,m.jsx)(oe.Tr,{w:"full",children:(0,m.jsx)(ie.Td,{colSpan:4,border:"none",children:(0,m.jsx)(D.x,{textAlign:"center",mt:4,children:"No markets configured for the pool"})})}):e?.configurations.map((({id:a,market:n,weight:r},o)=>{const i=o+1===e.configurations.length,l=(e=>{if(!e||0===e.length)return;const t=e[0].pnl,a=e[1]?.pnl||(0,me.wei)(0);return{value:t.sub(a),percentage:a.eq(0)?void 0:t.sub(a).div(a.abs())}})(n.market_snapshots_by_week);return(0,m.jsxs)(oe.Tr,{onClick:()=>(e=>{console.log("Market:"),console.table({market:e.id,usd_deposited:e.usd_deposited.toNumber(),usd_withdrawn:e.usd_withdrawn.toNumber(),net_issuance:e.net_issuance.toNumber(),reported_debt:e.reported_debt.toNumber(),pnl:e.pnl.toNumber(),updated_at:new Date(1e3*Number(e.updated_at))}),console.log("Snapshots:"),console.table(e.market_snapshots_by_week.map((e=>({...e,pnl:e.pnl.toNumber(),usd_deposited:e.usd_deposited.toNumber(),usd_withdrawn:e.usd_withdrawn.toNumber(),net_issuance:e.net_issuance.toNumber(),reported_debt:e.reported_debt.toNumber(),updated_at:new Date(1e3*Number(e.updated_at))}))))})(n),"data-testid":"pool market","data-market":a,children:[(0,m.jsxs)(Wa,{isLastItem:i,children:[(0,m.jsx)(D.x,{fontSize:"sm",display:"block","data-testid":"market name",children:t?.[n.id]?t[n.id]:"-"}),(0,m.jsxs)(D.x,{fontSize:"xs",color:"gray.500","data-testid":"market id",children:["ID: ",n.id]})]}),(0,m.jsx)(Wa,{isLastItem:i,fontSize:"sm","data-testid":"pool allocation",children:e.total_weight?(0,m.jsx)(m.Fragment,{children:(0,m.jsx)(D.x,{display:"block",children:$e(r.div(e.total_weight).toNumber())})}):"-"}),(0,m.jsx)(Wa,{isLastItem:i,"data-testid":"market growth",children:l?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(yt.u,{hasArrow:!0,label:(0,m.jsxs)(E.k,{flexDirection:"column",alignItems:"flex-start",textAlign:"left",children:[(0,m.jsxs)(D.x,{children:["Last 7 days calculated by ",(0,m.jsx)("br",{}),' "this week\'s pnl" - "last week\'s pnl"']}),(0,m.jsxs)(D.x,{children:["Last Week PnL:"," ",qe(n.market_snapshots_by_week[1]?.pnl.toNumber()||0)]}),(0,m.jsxs)(D.x,{children:["This Week PnL:"," ",qe(n.market_snapshots_by_week[0]?.pnl.toNumber()||0)]})]}),children:(0,m.jsx)(D.x,{fontSize:"sm",display:"block",color:"gray.50",children:qe(l.value.toNumber())})}),l.percentage?(0,m.jsx)(Ea,{fontSize:"xs",value:l.percentage,display:"block","data-testid":"market growth percentage",children:$e(l.percentage.toNumber())}):null]}):"-"}),(0,m.jsx)(Wa,{isLastItem:i,children:(0,m.jsx)(yt.u,{hasArrow:!0,label:(0,m.jsxs)(E.k,{flexDirection:"column",alignItems:"flex-start",textAlign:"left",children:[(0,m.jsxs)(D.x,{color:"gray.50",children:["Withdrawn: ",qe(n.usd_withdrawn.toNumber())]}),(0,m.jsxs)(D.x,{color:"gray.50",children:["Deposited: ",qe(n.usd_deposited.toNumber())," "]}),(0,m.jsxs)(D.x,{color:"gray.50",children:["Reported Debt: ",qe(n.reported_debt.toNumber())]}),(0,m.jsxs)(D.x,{color:"gray.50",children:["Net Issuance ",(0,m.jsx)("br",{})," (withdrawn - deposited):"," ",qe(n.net_issuance.toNumber())]}),(0,m.jsxs)(D.x,{color:"gray.50",children:["PnL ",(0,m.jsx)("br",{})," (reported debt + net issuance) * -1:"," ",qe(n.pnl.toNumber())]})]}),children:(0,m.jsx)(D.x,{color:"gray.50","data-testid":"market pnl",children:qe(n.pnl.toNumber())})})})]},a)}))]})]})})})]})}const Qa=()=>{const e=(0,J.UO)(),{data:t,isFetched:a}=ja(e.poolId),n=t?.configurations.map((({market:e})=>({marketId:e.id,address:e.address}))),{data:r}=(e=>{const{data:t}=(0,wa.b)(),a=(0,w.LN)();return(0,y.useQuery)({queryKey:[a.name,"MarketNamesById",{markets:e?e.map((e=>e.marketId)).sort():[]}],queryFn:async()=>{if(!e||!t)throw Error("Query should not be enable when contract or marketIdsAndAddresses missing");const a=e.map((e=>({target:e.address,callData:Ua.encodeFunctionData("name",[e.marketId])}))),n=(await t.callStatic.aggregate(a)).returnData.map((e=>Ua.decodeFunctionResult("name",e)[0]));return qa.parse(n)},select:t=>t.reduce(((t,a,n)=>{const r=e?.[n].marketId;return r?(t[r]=a,t):t}),{}),enabled:Boolean(t&&e&&e.length>0)})})(n);return(0,m.jsx)(Za,{poolId:e.poolId,poolDataFetched:a,poolData:t,marketNamesById:r})},Ka=Ae.z.object({value:Se.rK,amount:Se.rK}).transform((({value:e,amount:t})=>({value:(0,me.wei)(e),amount:(0,me.wei)(t)}))),Ya=Se.rK.transform((e=>(0,me.wei)(e))),Xa=({vaultsData:e,collateralPriceByAddress:t})=>{const{collateral:a,debt:n}=(e=>{const t={collateral:{value:(0,me.wei)(0),amount:(0,me.wei)(0)},debt:(0,me.wei)(0)};return e?e.reduce(((e,{collateral:t,debt:a})=>(e.collateral={value:e.collateral.value.add(t.value),amount:e.collateral.amount.add(t.amount)},e.debt=e.debt.add(a),e)),t):t})(e);return(0,m.jsxs)(ve,{padding:4,bg:"navy.700",flexDirection:"column","data-testid":"pool collateral types",children:[(0,m.jsx)(D.x,{fontWeight:700,fontSize:"xl",children:"Pool Collateralization"}),(0,m.jsxs)(ve,{padding:4,mt:4,flexDirection:"column",children:[(0,m.jsxs)(E.k,{justifyContent:"space-between",flexDirection:{base:"row",md:"column",lg:"row"},children:[(0,m.jsx)(D.x,{display:"flex",alignItems:"center",fontWeight:700,fontSize:"md",gap:1,color:"white",children:"Total TVL"}),void 0===e?(0,m.jsx)(G.O,{w:16,h:6}):(0,m.jsx)(D.x,{fontWeight:700,fontSize:"xl",color:"white","data-testid":"pool tvl",children:qe(a.value.toNumber())})]}),(0,m.jsxs)(E.k,{justifyContent:"space-between",flexDirection:{base:"row",md:"column",lg:"row"},children:[(0,m.jsx)(D.x,{display:"flex",alignItems:"center",fontWeight:700,fontSize:"md",gap:1,color:"white",children:"Total Debt"}),void 0===e?(0,m.jsx)(G.O,{mt:1,w:16,h:6}):(0,m.jsx)(D.x,{fontWeight:700,fontSize:"xl",color:"white","data-testid":"pool total debt",children:qe(n.toNumber())})]})]}),(0,m.jsx)(E.k,{flexDirection:"column",justifyContent:"space-between",children:e?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(lt.i,{mt:6,mb:4}),e.map((e=>{const a=t?.[e.collateralType.tokenAddress];return(0,m.jsx)(r.Fragment,{children:(0,m.jsxs)(I.xu,{display:"flex",px:4,mb:2,flexDirection:"column",borderBottom:"1px",borderColor:"gray.900",_last:{borderBottom:"none"},"data-testid":"pool collateral","data-collateral":e.collateralType.symbol,children:[(0,m.jsxs)(E.k,{color:"white",display:"flex",gap:1,alignItems:"center",children:[(0,m.jsx)(U.l6,{width:"30px",height:"30px",fill:"#0B0B22",color:"#00D1FF",symbol:e.collateralType.symbol}),(0,m.jsx)(D.x,{fontWeight:700,fontSize:"xl",children:e.collateralType.displaySymbol}),(0,m.jsx)(D.x,{fontSize:"sm",color:"gray.400",fontWeight:"400","data-testid":"collateral price",children:a?qe(a.toNumber()):"-"})]}),(0,m.jsxs)(E.k,{gap:2,justifyContent:"space-between",children:[(0,m.jsxs)(E.k,{flexBasis:"50%",flexDirection:"column",children:[(0,m.jsx)(D.x,{mt:2,fontSize:"sm",color:"gray.500",textTransform:"uppercase",whiteSpace:"nowrap",children:"TVL"}),(0,m.jsx)(D.x,{fontSize:"md",fontWeight:700,color:"white","data-testid":"collateral value",children:qe(e.collateral.value.toNumber())}),(0,m.jsxs)(D.x,{fontSize:"sm",color:"gray.500",fontWeight:"400","data-testid":"collateral amount",children:[Ue(e.collateral.amount.toNumber())," ",e.collateralType.displaySymbol]})]}),(0,m.jsxs)(E.k,{flexBasis:"50%",flexDirection:"column",children:[(0,m.jsx)(D.x,{mt:2,fontSize:"sm",color:"gray.500",textTransform:"uppercase",whiteSpace:"nowrap",children:"Debt"}),(0,m.jsx)(D.x,{fontSize:"md",fontWeight:700,color:"white","data-testid":"collateral debt",children:qe(e.debt.toNumber())}),(0,m.jsxs)(D.x,{fontSize:"sm",color:"gray.500",fontWeight:"400","data-testid":"collateral cratio",children:["VAULT C-RATIO:"," ",e.debt.eq(0)?"-":$e(e.collateral.value.div(e.debt).toNumber(),{maximumFractionDigits:0})]})]})]})]})},e.collateralType.tokenAddress)}))]}):(0,m.jsxs)(I.xu,{children:[(0,m.jsx)(G.O,{mt:4,w:"full",height:24}),(0,m.jsx)(G.O,{mt:2,w:"full",height:24})]})})]})},Ja=()=>{const e=(0,J.UO)(),{data:t}=(e=>{const t=(0,w.LN)(),{data:a}=(0,xe.T)(),{data:n}=(0,Y.a)(),{data:r}=(0,Le.L)();return(0,y.useQuery)({queryKey:[t.name,"VaultCollaterals",{pool:e,tokens:a?a?.map((e=>e.tokenAddress)).sort():[]}],queryFn:async()=>{if(!(n&&a&&e&&r))throw Error("useVaultsData should not be enabled when missing data");const o=Promise.all(a.map((t=>n.populateTransaction.getVaultCollateral(e,t.tokenAddress)))),i=Promise.all(a.map((t=>n.populateTransaction.getVaultDebt(e,t.tokenAddress)))),l=(0,Me.$)(r,t.isTestnet).then((e=>(0,Me.x)("0x",r,e))),s=await Promise.all([l,o,i]);return await(0,ke.Iy)(n.provider,s.flat(),(e=>{if(!Array.isArray(e))throw Error("Expected array");const t=e.slice(0,a.length),r=e.slice(a.length);return t.map(((e,t)=>{const o=r[t],i=n.interface.decodeFunctionResult("getVaultDebt",o),l=n.interface.decodeFunctionResult("getVaultCollateral",e),s=Ka.parse({...l});return{debt:Ya.parse(i[0]),collateral:s,collateralType:a[t]}}))}),"useVaultsData")},enabled:Boolean(a?.length&&n&&e&&r)})})(e.poolId?parseFloat(e.poolId):void 0),{data:a}=(()=>{const e=(0,w.LN)(),{data:t}=(0,Y.a)(),{data:a}=(0,xe.T)(),n=a?.map((e=>e.tokenAddress));return(0,y.useQuery)({enabled:Boolean(t&&n&&n?.length>0),queryKey:[e.name,"CollateralPrices",{collateralAddresses:n}],queryFn:async()=>{if(!t||!n||0==n.length)throw"useCollateralPrices missing required data";const{calls:e,decoder:a}=await Ie({CoreProxy:t,collateralAddresses:n}),r=await(0,ke.Iy)(t.provider,e,a,"useCollateralPrices");return n.reduce(((e,t,a)=>(e[t]=r[a],e)),{})}})})();return(0,m.jsx)(Xa,{vaultsData:t,collateralPriceByAddress:a})},en=({PoolHeader:e,CollateralSection:t,MarketSection:a,isLoading:n,rewards:r})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Yt,{}),(0,m.jsx)(e,{}),(0,m.jsx)(lt.i,{my:8,bg:"gray.900"}),(0,m.jsxs)(E.k,{gap:4,flexDirection:{base:"column",lg:"row"},children:[(0,m.jsx)(I.xu,{flexGrow:1,children:(0,m.jsx)(t,{})}),(0,m.jsxs)(I.xu,{flexGrow:1,children:[(0,m.jsx)(a,{}),(0,m.jsx)(ca,{mt:4,isLoading:n,rewards:r,readOnly:!0})]})]})]}),tn=()=>{const e=(0,J.UO)(),{data:t}=(0,Ce.AI)(e.poolId),{accountId:a,collateralSymbol:n,poolId:r}=(0,J.UO)(),{isLoading:o,data:i}=(0,xe.t)(n),{isLoading:l,data:s}=ja(r),{isLoading:c,data:d}=Aa(s?.registered_distributors,r,i?.tokenAddress,a),u=c||o||l,h=t?`Pool #${t.id} / ${t.name}`:"Pool";return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(re.q,{children:[(0,m.jsx)("title",{children:h}),(0,m.jsx)("meta",{name:"description",content:h})]}),(0,m.jsx)(en,{PoolHeader:Ha,CollateralSection:Ja,MarketSection:Qa,isLoading:u,rewards:d})]})};var an=a(82770),nn=a(88115),rn=a(90711),on=a(49494),ln=a(51380),sn=a(97721),cn=a(99581);function dn(){const e=(0,J.UO)(),{data:t=[]}=X(),a=(0,z.s0)();return(0,m.jsx)(an.P,{placeholder:"Select Account",value:e.accountId,onChange:t=>{a({pathname:(0,he.Gn)("/playground"),search:(0,o.fW)({...e,accountId:t.target.value}).toString()})},display:"inline-block",width:"20em",mr:"1em",children:t.map((e=>(0,m.jsx)("option",{value:e,children:e},e)))})}function un(){const e=(0,J.UO)(),{data:t=[]}=(0,Ce.Oh)(),a=(0,z.s0)();return(0,m.jsx)(an.P,{placeholder:"Select pool",value:e.poolId,onChange:t=>{a({pathname:(0,he.Gn)("/playground"),search:(0,o.fW)({...e,poolId:t.target.value}).toString()})},display:"inline-block",width:"20em",mr:"1em",children:t.map((e=>(0,m.jsxs)("option",{value:e.id,children:[e.isPreferred?"* ":null,e.name,e.isPreferred?" (preferred)":null]},e.id)))})}function hn(){const e=(0,J.UO)(),{data:t=[]}=(0,xe.T)(),a=(0,z.s0)();return(0,m.jsx)(an.P,{placeholder:"Select Collateral",value:e.symbol,onChange:t=>{a({pathname:(0,he.Gn)("/playground"),search:(0,o.fW)({...e,symbol:t.target.value}).toString()})},display:"inline-block",width:"20em",mr:"1em",children:t.map((e=>(0,m.jsx)("option",{value:e.symbol,children:e.symbol},e.symbol)))})}function xn(){const e=(0,w.mx)(),{data:t}=(0,Y.a)(),a=(0,J.UO)(),{data:n=[],refetch:o}=X(),[i]=n.filter((e=>e===a.accountId)),{data:l=[]}=(0,xe.T)(),s=a.symbol,[{tokenAddress:c}={tokenAddress:void 0}]=l.filter((e=>e.symbol===s)),{data:d}=(0,Ce.AI)(a.poolId),u=Fe({accountId:i}),h=u.data?.find((e=>e.tokenAddress===c)),x=Qe({accountId:i}),p=(0,ln.y)({contractAddress:c,spender:t?.address}),f=(0,bt.m)(c),g=r.useCallback((()=>x.data&&x.data.getTime()>Date.now()?(0,et.Z)(x.data,{addSuffix:!0}):"~"),[x.data]),[y,b]=(0,r.useState)(g());(0,r.useEffect)((()=>{const e=setInterval((()=>b(g())),1e3);return()=>clearInterval(e)}),[g]);const j=(0,nn.p)({isClosable:!0,duration:9e3}),C=(0,sn.o)(t);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(I.xu,{p:1,verticalAlign:"middle",children:[(0,m.jsx)(dn,{}),(0,m.jsx)(L.z,{onClick:async()=>{if(i||!t)throw"OMG";try{const e=parseInt(`31337${Math.floor(1e10*Math.random())}`),a=await t["createAccount(uint128)"](e);console.log({tx:a});const n=await a.wait();console.log({result:n}),o()}catch(e){console.error(e);const t=C(e);t&&console.error(new Error(t.name),t),j.closeAll(),j({title:"Create account failed",description:t?(0,m.jsx)(cn.M,{contractError:t}):"Please try again.",status:"error"})}},children:"Create account"})]}),(0,m.jsxs)(I.xu,{p:1,verticalAlign:"middle",children:[(0,m.jsx)(hn,{}),c?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(ht.I,{disabled:!0,type:"text",name:"accountId",value:p.data?.toString()||"No allowance",width:"20em",mr:"1em"}),(0,m.jsxs)(L.z,{onClick:async()=>{if(!t||!e||!c)throw"OMG";const a=new Q.CH(c,["function approve(address spender, uint256 amount) returns (bool)"],e),n=await a.approve(t.address,rn.Bz);console.log({tx:n});const r=await n.wait();console.log({result:r}),p.refetch()},children:["Approve ",s]})]}):null]}),h?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(I.xu,{p:1,children:[(0,m.jsxs)(D.x,{children:[s," address:"," ",(0,m.jsx)("code",{onClick:()=>{try{navigator.clipboard.writeText(h.tokenAddress)}catch(e){}},style:{cursor:"pointer"},children:c})]}),(0,m.jsxs)(D.x,{children:["Wallet Balance: ",(0,m.jsx)(pe.$,{value:f.data})," ",s]})]}),(0,m.jsxs)(I.xu,{mt:10,p:1,verticalAlign:"middle",children:[(0,m.jsx)(ht.I,{type:"number",step:1,min:0,name:"deposit",width:"20em",mr:"1em"}),(0,m.jsx)(L.z,{onClick:async()=>{const e=document.querySelector('[name="deposit"]');if(!(e&&i&&c&&t))throw"OMG";try{const a=await t.deposit(vt.O$.from(i),c,on.fi(e.value));console.log({tx:a});const n=await a.wait();console.log({result:n}),f.refetch(),u.refetch()}catch(e){console.error(e);const t=C(e);t&&console.error(new Error(t.name),t),j.closeAll(),j({title:"Deposit failed",description:t?(0,m.jsx)(cn.M,{contractError:t}):"Please try again.",status:"error"})}},children:"Deposit"})]}),(0,m.jsx)(I.xu,{p:1,children:(0,m.jsxs)(D.x,{children:["Deposited: ",(0,m.jsx)(pe.$,{value:h.totalDeposited})," ",s]})}),(0,m.jsxs)(I.xu,{mt:10,p:1,verticalAlign:"middle",children:[(0,m.jsx)(un,{}),(0,m.jsx)(ht.I,{isDisabled:!d,type:"number",step:1,min:0,name:"delegate",width:"20em",mr:"1em"}),(0,m.jsx)(L.z,{isDisabled:!d,onClick:async()=>{const e=document.querySelector('[name="delegate"]');if(!(e&&d?.id&&i&&c&&t))throw"OMG";try{const a=await t.delegateCollateral(vt.O$.from(i),vt.O$.from(d.id),c,on.fi(e.value),on.fi("1"));console.log({tx:a});const n=await a.wait();console.log({result:n}),u.refetch()}catch(e){console.error(e);const t=C(e);t&&console.error(new Error(t.name),t),j.closeAll(),j({title:"Delegate failed",description:t?(0,m.jsx)(cn.M,{contractError:t}):"Please try again.",status:"error"})}},children:"Update delegated"})]}),(0,m.jsx)(I.xu,{p:1,children:(0,m.jsxs)(D.x,{children:["Delegated: ",(0,m.jsx)(pe.$,{value:h.totalAssigned})," ",s]})}),(0,m.jsx)(I.xu,{mt:10,p:1,children:(0,m.jsxs)(D.x,{title:x.data?(0,tt.Z)(x.data,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"}):"~",children:["Collateral unlocks: ",y]})}),(0,m.jsxs)(I.xu,{p:1,verticalAlign:"middle",children:[(0,m.jsx)(ht.I,{type:"number",step:1,min:0,max:parseFloat(h.availableCollateral?.toString()||"0"),name:"withdraw",width:"20em",mr:"1em"}),(0,m.jsx)(L.z,{onClick:async()=>{const e=document.querySelector('[name="withdraw"]');if(!(e&&i&&c&&t))throw"OMG";try{const a=await t.withdraw(vt.O$.from(i),c,on.fi(e.value));console.log({tx:a});const n=await a.wait();console.log({result:n}),f.refetch(),u.refetch()}catch(e){console.error(e);const t=C(e);t&&console.error(new Error(t.name),t),j.closeAll(),j({title:"Withdraw failed",description:t?(0,m.jsx)(cn.M,{contractError:t}):"Please try again.",status:"error"})}},children:"Withdraw"})]}),(0,m.jsx)(I.xu,{p:1,children:(0,m.jsxs)(D.x,{children:["Available collateral:"," ",(0,m.jsx)(pe.$,{value:h.availableCollateral,suffix:` ${s}`})]})})]}):null]})}function pn({balance:e,symbol:t,address:a,onMax:n,hideBuyButton:o}){const i=(0,w.LN)(),l=(0,r.useMemo)((()=>{switch(i.name){case"goerli":return`https://goerli.etherscan.io/address/${a}#writeContract`;case"sepolia":return`https://sepolia.etherscan.io/address/${a}#writeContract`;case"optimism-goerli":return`https://goerli-optimism.etherscan.io/address/${a}#writeContract`;case"optimism":return`https://app.1inch.io/#/10/unified/swap/ETH/${t.toUpperCase()}`;default:return`https://app.1inch.io/#/1/unified/swap/ETH/${t.toUpperCase()}`}}),[a,i.name,t]);return(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontSize:"xs",children:["Balance:",(0,m.jsx)(pe.$,{value:e,suffix:` ${t}`}),e&&e.eq(0)&&l&&!o&&(0,m.jsx)(F.r,{href:l,isExternal:!0,children:(0,m.jsxs)(Tt.C,{ml:"1",variant:"outline",transform:"translateY(-1px)",children:["Buy ",t]})}),n&&e?.gt(0)&&(0,m.jsx)(Tt.C,{as:"button",type:"button",variant:"outline",onClick:()=>n(e),children:"Use Max"})]})}var mn=a(2338),fn=a(25042),gn=a(85649),yn=a(99),bn=a(35834);var jn=a(97737),wn=a(9875),Cn=a(97386);const vn="SET_REQUIRE_APPROVAL",Sn="SET_INFINITE_APPROVAL",An="RETRY",kn="RUN",Dn="RESET",In="idle",Tn="approve",Fn="teleport",Ln="failed",Mn="success",zn={[Tn]:Tn,[Fn]:Fn},Nn="approve",En="teleport",Pn={error:null,requireApproval:!1,infiniteApproval:!1},Bn=(0,wn.C)({id:"TeleportMachine",initial:In,predictableActionArguments:!0,context:Pn,on:{[kn]:{target:Fn,actions:(0,Cn.f0)({error:e=>Pn.error,requireApproval:e=>Pn.requireApproval,infiniteApproval:e=>Pn.infiniteApproval})},[vn]:{actions:(0,Cn.f0)({requireApproval:(e,t)=>t.requireApproval})},[Sn]:{actions:(0,Cn.f0)({infiniteApproval:(e,t)=>t.infiniteApproval})}},states:{[In]:{on:{[kn]:[{target:Tn,cond:e=>e.requireApproval},{target:Fn}]}},[Tn]:{invoke:{src:Nn,onDone:{target:Fn},onError:{target:Ln,actions:(0,Cn.f0)({error:(e,t)=>({error:t.data,step:zn.approve})})}}},[Fn]:{invoke:{src:En,onDone:{target:Mn},onError:{target:Ln,actions:(0,Cn.f0)({error:(e,t)=>({error:t.data,step:zn.teleport})})}}},[Ln]:{on:{[Dn]:[{target:In}],[An]:[{target:Tn,cond:e=>e.error?.step===zn.approve,actions:(0,Cn.f0)({error:e=>null})},{target:Fn,cond:e=>e.error?.step===zn.teleport,actions:(0,Cn.f0)({error:e=>null})}]}},[Mn]:{}}});var On=a(79155);const _n=({amount:e,isOpen:t,onClose:a,setInfiniteApproval:n,onSubmit:r,state:o,toNetworkName:i,txnHash:l})=>{const s=o.context.infiniteApproval,c=o.context.requireApproval,d=o.context.error,u=o.matches(Tn)||o.matches(Fn);return(0,m.jsxs)(C.u_,{size:"lg",isOpen:t,onClose:a,closeOnOverlayClick:!1,children:[(0,m.jsx)(v.Z,{}),(0,m.jsxs)(S.h,{bg:"black",color:"white",children:[(0,m.jsx)(A.x,{children:"Complete this action"}),(0,m.jsx)(mn.o,{}),(0,m.jsxs)(k.f,{children:[(0,m.jsx)(D.x,{mb:"2",children:"Please execute the following transactions:"}),(0,m.jsx)(fn.P0,{step:1,title:"Approve snxUSD",status:{failed:d?.step===Tn,success:!c||o.matches(Mn),loading:o.matches(Tn)&&!d},checkboxLabel:"Approve unlimited",checkboxProps:{isChecked:s,onChange:e=>n(e.target.checked)}}),(0,m.jsx)(fn.P0,{step:2,title:"Teleport snxUSD",subtitle:(0,m.jsx)(m.Fragment,{children:o.matches(Mn)?(0,m.jsxs)(D.x,{children:["Teleport for ",(0,m.jsx)(pe.$,{value:e,suffix:" snxUSD"})," to ",i," ","executed. Check"," ",(0,m.jsx)(F.r,{color:"cyan.500",href:`https://ccip.chain.link/tx/${l}`,target:"_blank",children:"ccip explorer"})," ","for status."]}):(0,m.jsxs)(D.x,{children:["This will teleport ",(0,m.jsx)(pe.$,{value:e,suffix:" snxUSD"})," to"," ",i]})}),status:{failed:d?.step===Fn,disabled:o.matches(Mn)&&c,success:o.matches(Mn),loading:o.matches(Fn)&&!d}}),(0,m.jsx)(L.z,{isDisabled:u,onClick:r,width:"100%",my:"4",children:(()=>{switch(!0){case Boolean(d):return"Retry";case u:return"Processing...";case o.matches(Mn):return"Done";default:return"Start"}})()})]})]})]})},Hn=["error TokenMaxCapacityExceeded(uint256 capacity, uint256 requested, address tokenAddress)","error TokenRateLimitReached(uint256 minWaitInSeconds, uint256 available, address tokenAddress)","error AggregateValueMaxCapacityExceeded(uint256 capacity, uint256 requested)","error AggregateValueRateLimitReached(uint256 minWaitInSeconds, uint256 available)","error UnsupportedDestinationChain(uint64 destinationChainSelector)","error SenderNotAllowed(address sender)","error InsufficientFeeTokenAmount()","error InvalidMsgValue()"],Rn=({onClose:e,isOpen:t,amount:a,toNetworkName:n,toNetworkId:o})=>{const{data:i}=(0,Y.a)(),{data:l}=(0,ze.a)(),{data:s}=(0,Lt.G)(),{approve:c,requireApproval:d,refetchAllowance:u}=(0,gn.y)({contractAddress:l?.address,amount:a.toBN(),spender:i?.address}),h=(0,nn.p)({isClosable:!0,duration:9e3}),{exec:x,txnState:p}=(({toNetworkId:e,amount:t,ethBalance:a})=>{const[n,o]=(0,r.useReducer)(Jt.I,Jt.E),{data:i}=(0,Y.a)(),l=(0,w.mx)(),{gasSpeed:s}=(0,j.jU)(),c=(0,w.yL)(),d=(0,y.useMutation)({mutationFn:async()=>{if(l&&i&&a&&!a.eq(0)&&!t.eq(0))try{o({type:"prompting"});const n=await(async({CoreProxy:e,toNetworkId:t,amount:a,ethBalance:n})=>await e.callStatic.transferCrossChain(t,a.toBN(),{value:n.mul(.9).toBN()}))({CoreProxy:i,toNetworkId:e,amount:t,ethBalance:a}),r=(0,bn.o)({provider:c}),d=i.estimateGas.transferCrossChain(e,t.toBN(),{value:n}),u=i.populateTransaction.transferCrossChain(e,t.toBN(),{gasLimit:d,value:n}),[h,x,p]=await Promise.all([r,d,u]),m=(0,yn.F)({gasLimit:x,gasPrices:h,gasSpeed:s}),f=await l.sendTransaction({...p,...m});o({type:"pending",payload:{txnHash:f.hash}}),await f.wait(),o({type:"success"})}catch(e){throw o({type:"error",payload:{error:e}}),e}}});return{mutation:d,txnState:n,settle:()=>o({type:"settled"}),isLoading:d.isLoading,exec:d.mutateAsync}})({amount:a,toNetworkId:o,ethBalance:s}),f=i?.interface.format(On.pc.full)||[],g=new Q.CH("0x0000000000000000000000000000000000000000",Hn.concat(f)),b=(0,sn.o)(g),[C,v]=(0,jn.e)(Bn,{services:{[Nn]:async()=>{try{h({title:"Approve snxUSD",description:"The next transaction will teleport.",status:"info"}),await c(Boolean(C.context.infiniteApproval)),await u()}catch(e){const t=b(e);throw t&&console.error(new Error(t.name),t),h.closeAll(),h({title:"Approval failed",description:t?(0,m.jsx)(cn.M,{contractError:t}):"Please try again.",status:"error"}),Error("Approve failed",{cause:e})}},[En]:async()=>{try{h.closeAll(),h({title:"Teleporting",description:""}),await x(),h.closeAll(),h({title:"Success",description:"Teleportation executed.",status:"success",duration:5e3})}catch(e){const t=b(e);throw t&&console.error(new Error(t.name),t),h({title:"Teleport failed",description:t?(0,m.jsx)(cn.M,{contractError:t}):"Please try again.",status:"error"}),Error("Teleport failed",{cause:e})}}}});(0,r.useEffect)((()=>{v(vn,{requireApproval:d})}),[d,v]);const S=(0,r.useCallback)((()=>{v(Dn),e()}),[v,e]),A=(0,r.useCallback)((async()=>{C.matches(Mn)?S():C.context.error?v(An):v(kn)}),[S,v,C]);return(0,m.jsx)(_n,{amount:a,isOpen:t,onClose:e,toNetworkName:n,state:C,setInfiniteApproval:e=>{v(Sn,{infiniteApproval:e})},txnHash:p.txnHash,onSubmit:A})};var qn=a(74830),Un=a(34406);const $n=Object.values(w.g5).filter((e=>e.isSupported)),Wn=({connectedWallet:e,amount:t,setAmount:a,activeNetwork:n,setActiveNetwork:r,balance:o,toNetworkBalance:i,toNetwork:l,setToNetwork:s,usdProxyAddress:c,onTeleportClick:d})=>(0,m.jsxs)(I.xu,{maxW:"600px",children:[(0,m.jsx)(Yt,{}),(0,m.jsx)(re.Z,{children:(0,m.jsx)("title",{children:"Teleport snxUSD"})}),(0,m.jsxs)(E.k,{justifyContent:"space-between",children:[(0,m.jsx)(le.X,{size:"lg",children:"Teleport snxUSD"}),(0,m.jsx)(U.FZ,{})]}),(0,m.jsxs)(D.x,{mt:2,color:"gray.500",children:["Teleport your assets between layers using the teleporter. This transaction can take up to 30 minutes."," ",(0,m.jsx)(F.r,{color:"cyan.500",target:"_blank",href:"https://blog.synthetix.io/synthetix-launches-teleporters-with-chainlinks-ccip",children:"Read more"})," ","about teleporter and CCIP."]}),(0,m.jsx)(lt.i,{mt:4,mb:4}),(0,m.jsxs)(ve,{flexDirection:"column",p:"4",children:[(0,m.jsxs)(ve,{flexDirection:"column",p:"4",children:[(0,m.jsx)(_.v,{children:({isOpen:e})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(E.k,{alignItems:"center",gap:2,children:[(0,m.jsx)(D.x,{children:"From"}),(0,m.jsxs)(H.j,{as:L.z,variant:"outline",colorScheme:"gray",sx:{"> span":{display:"flex",alignItems:"center"}},mr:1,width:"fit-content",children:[(0,m.jsx)(n.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",fontSize:"sm",fontWeight:700,ml:1.5,mr:2,display:{base:"none",md:"initial"},children:n.label}),(0,m.jsx)(E.k,{display:{base:"none",md:"initial"},children:e?(0,m.jsx)(U.Kh,{color:"cyan"}):(0,m.jsx)(U._M,{color:"cyan.500"})})]})]}),(0,m.jsx)(R.q,{background:"black",children:$n.filter((e=>"goerli"!==e.name)).filter((e=>e.id!==n.id)).map((e=>(0,m.jsxs)(q.s,{onClick:()=>{r(e),e.id===l?.id&&s(void 0)},display:"flex",alignItems:"center",children:[(0,m.jsx)(e.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",ml:2,children:e.label})]},e.id)))})]})}),(0,m.jsxs)(E.k,{children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",fontWeight:"600",children:[(0,m.jsx)(U.RF,{width:"35px",height:"35px"}),"snxUSD"]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",alignItems:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isRequired:!0,"data-max":o?.toString(),autoFocus:!0},value:t,onChange:e=>a(e),max:o}),(0,m.jsx)(pn,{onMax:a,balance:o,symbol:"snxUSD",address:c||""})]})]}),(0,m.jsx)(E.k,{alignItems:"center",justifyContent:"flex-end"})]}),(0,m.jsxs)(ve,{flexDirection:"column",p:"4",mt:4,children:[(0,m.jsx)(_.v,{children:({isOpen:e})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(E.k,{alignItems:"center",gap:2,children:[(0,m.jsx)(D.x,{children:"To"}),(0,m.jsxs)(H.j,{as:L.z,variant:"outline",colorScheme:"gray",sx:{"> span":{display:"flex",alignItems:"center"}},mr:1,width:"fit-content",children:[l?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(l.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",fontSize:"sm",fontWeight:700,ml:1.5,mr:2,display:{base:"none",md:"initial"},children:l.label})]}):"Select Network",(0,m.jsx)(E.k,{display:{base:"none",md:"initial"},children:e?(0,m.jsx)(U.Kh,{color:"cyan"}):(0,m.jsx)(U._M,{color:"cyan.500"})})]})]}),(0,m.jsx)(R.q,{background:"black",children:$n.filter((e=>"goerli"!==e.name)).filter((e=>e.id!==n.id)).filter((e=>n.isTestnet?e.isTestnet:!e.isTestnet)).map((e=>(0,m.jsxs)(q.s,{onClick:()=>{s(e)},display:"flex",alignItems:"center",children:[(0,m.jsx)(e.Icon,{}),(0,m.jsx)(D.x,{variant:"nav",ml:2,children:e.label})]},e.id)))})]})}),(0,m.jsxs)(E.k,{children:[(0,m.jsxs)(D.x,{display:"flex",gap:2,alignItems:"center",children:[(0,m.jsx)(U.RF,{width:"35px",height:"35px"}),"snxUSD"]}),(0,m.jsxs)(E.k,{flexDirection:"column",justifyContent:"flex-end",alignItems:"flex-end",flexGrow:1,children:[(0,m.jsx)(mt,{InputProps:{isRequired:!0,"data-max":o?.toString()},value:t,onChange:e=>a(e),max:o}),(0,m.jsx)(pn,{hideBuyButton:!0,onMax:a,balance:i,symbol:"snxUSD",address:c||""})]})]})]}),e?(0,m.jsx)(L.z,{onClick:d,isDisabled:!Boolean(o?.gt(0)&&l),children:"Teleport"}):(0,m.jsx)(L.z,{type:"submit",onClick:()=>w.IE.connectWallet(),children:"Connect Wallet"})]})]}),Vn=()=>{const{data:e}=(0,ze.a)(),[t,a]=(0,r.useState)((0,me.wei)(0)),[n,o]=(0,r.useState)(!1),i=(0,w.Os)(),l=(0,w.LN)(),s=(0,w.fn)(),[c,d]=(0,r.useState)(),{data:u}=(0,ze.a)(c?.id?new qn.J(c?.id,Un.env.NEXT_PUBLIC_INFURA_PROJECT_ID):void 0),{data:h}=(0,bt.m)(e?.address),{data:x}=(0,bt.m)(u?.address,c?.id);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(Wn,{connectedWallet:i?.address,activeNetwork:l,balance:h,amount:t,setAmount:a,toNetwork:c,setToNetwork:d,setActiveNetwork:s,toNetworkBalance:c?x:void 0,usdProxyAddress:e?.address,onTeleportClick:()=>o(!0)}),c&&(0,m.jsx)(Rn,{isOpen:n,onClose:()=>{o(!1),a((0,me.wei)(0))},toNetworkId:c.id,toNetworkName:c.name,amount:t})]})};var Gn=a(68588);const Zn=()=>{const{t:e}=(0,Gn.$G)();return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(re.Z,{children:(0,m.jsx)("title",{children:e("not-found.page-title")})}),(0,m.jsxs)(E.k,{height:"100%",direction:"column",position:"relative",alignItems:"center",justifyContent:"center",flex:"1",children:[(0,m.jsx)(le.X,{fontSize:"5xl",children:"Not found"}),(0,m.jsx)(o.rU,{to:"/",children:(0,m.jsx)(F.r,{color:"cyan.500",children:"Return to Home"})})]})]})},Qn=()=>(0,m.jsx)(r.Suspense,{fallback:(0,m.jsx)(N.$,{}),children:(0,m.jsx)(z.Z5,{children:(0,m.jsxs)(z.AW,{element:(0,m.jsx)(ne,{}),children:[(0,m.jsx)(z.AW,{path:"/positions/:collateralSymbol/:poolId",element:(0,m.jsx)(Ia,{})}),(0,m.jsx)(z.AW,{path:"/deposit/:collateralSymbol/:poolId",element:(0,m.jsx)(_a,{})}),(0,m.jsx)(z.AW,{path:"/pools/:poolId",element:(0,m.jsx)(tn,{})}),(0,m.jsx)(z.AW,{path:"/teleporter",element:(0,m.jsx)(Vn,{})}),(0,m.jsx)(z.AW,{path:"/playground",element:(0,m.jsx)(xn,{})}),(0,m.jsx)(z.AW,{path:"/",element:(0,m.jsx)(it,{})}),(0,m.jsx)(z.AW,{path:"*",element:(0,m.jsx)(Zn,{})})]})})});var Kn=a(24991);const Yn=JSON.parse('{"common":{"learnMore":"Learn more","none":"None","fund":"Fund","connectWallet":"Connect Wallet","unknownFund":"Unknown Fund","deposit":"Deposit","insufficientFunds":"Insufficient Funds","name":"Name","ticker":"Ticker","category":"Category","fees":"Fees","verified":"Verified","crypto":"Crypto","price":"Price"},"home":{"createAccount":{"description":"Deposit with Synthetix to back synthetic assets on-chain. You can earn yield but must maintain your collateralization ratio."},"deposit":{"selectFund":"Select Fund","receiveToken":"Receive an snxAccount token","receiveTokenTooltip":"You will be minted an NFT that represents your account. You can easily transfer it between wallets."}},"synths":{"createSynth":{"title":"Create a Synth","deploySynth":"Deploy a New Synth","iconURI":"Icon URI","priceFeedAddress":"Price Feed Contract Address","priceFeedAddressHelp":"This contract must implement the Synthetix Price Feed Interface. <0>Review the documentation","cta":"Create Synth","feesInfo":"No fees will be applied when this synth is minted or burned.","addFee":"Add a Fee","flat":"Flat","dynamicExchange":"Dynamic Exchange","simulatedLiquidity":"Simulated Liquidity","custom":"Custom"},"synth":{"title":"Synth","description":"Synth"}},"position":{"manage":{"maintain":"Maintain C-Ratio","borrow":"Borrow snxUSD","repay":"Repay snxUSD","custom":"Custom"}},"not-found":{"page-title":"Not Found | Synthetix Depositing","title":"404","subtitle":"Page not found"}}');Kn.ZP.use(Gn.Db).init({supportedLngs:["en"],lng:"en",fallbackLng:"en",ns:["common"],defaultNS:"common",interpolation:{escapeValue:!1},react:{useSuspense:!1},resources:{en:{translation:Yn}}});const Xn=new y.QueryClient({defaultOptions:{queries:{refetchInterval:!1,staleTime:g.yq,refetchOnWindowFocus:!1}}});function Jn(){const{colorMode:e,toggleColorMode:t}=(0,i.If)();return(0,r.useEffect)((()=>{"light"===e&&t()}),[e,t]),null}const er=()=>{const e="true"===sessionStorage.getItem(g.sO.TERMS_CONDITIONS_ACCEPTED);return(0,m.jsx)(y.QueryClientProvider,{client:Xn,children:(0,m.jsxs)(l.x,{theme:x,children:[(0,m.jsx)(Jn,{}),(0,m.jsx)(f,{}),(0,m.jsxs)(w.Bl,{children:[(0,m.jsx)(j.G2,{children:(0,m.jsxs)(o.UT,{children:[(0,m.jsx)(M,{defaultOpen:!e}),(0,m.jsx)(Qn,{})]})}),(0,m.jsx)(b.t,{})]})]})})},tr=document.querySelector("#app");async function ar(){if(!tr)throw new Error("Container #app does not exist");(0,w.ll)(),await(0,w.IO)();n.createRoot(tr).render((0,m.jsx)(er,{}))}},95509:(e,t,a)=>{const{safeLazy:n}=a(97551),{safeImport:r}=a(16577);e.exports={safeLazy:n,safeImport:r}},97551:(e,t,a)=>{const{lazy:n}=a(2784),{safeImport:r}=a(16577);e.exports={safeLazy:function(e){return n((()=>r(e)))}}},75477:()=>{},33196:()=>{}}]); -//# sourceMappingURL=app.359c245f.js.map \ No newline at end of file +//# sourceMappingURL=app.ff44880f.js.map \ No newline at end of file diff --git a/chunk/app.359c245f.js.map b/chunk/app.ff44880f.js.map similarity index 75% rename from chunk/app.359c245f.js.map rename to chunk/app.ff44880f.js.map index 0edb539..1d25d73 100644 --- a/chunk/app.359c245f.js.map +++ b/chunk/app.ff44880f.js.map @@ -1 +1 @@ -{"version":3,"file":"chunk/app.359c245f.js","mappings":"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","sources":["webpack://@snx-v3/liquidity/../components/Amount/Amount.tsx","webpack://@snx-v3/liquidity/../components/ContractError/ContractError.tsx","webpack://@snx-v3/liquidity/../components/DepositModal/DepositMachine.ts","webpack://@snx-v3/liquidity/../components/DepositModal/DepositModal.tsx","webpack://@snx-v3/liquidity/../lib/useDeposit/useDeposit.tsx","webpack://@snx-v3/liquidity/../components/DepositModal/index.ts","webpack://@snx-v3/liquidity/../components/Multistep/StepIcon.tsx","webpack://@snx-v3/liquidity/../components/Multistep/statusColor.ts","webpack://@snx-v3/liquidity/../components/Multistep/Step.tsx","webpack://@snx-v3/liquidity/../components/Multistep/Multistep.tsx","webpack://@snx-v3/liquidity/../components/WithdrawIncrease/WithdrawIncrease.tsx","webpack://@snx-v3/liquidity/../components/icons/Logo/Logo.tsx","webpack://@snx-v3/liquidity/../components/icons/EthereumIcon/EthereumIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/SNXIcon/SNXIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/OptimismIcon/OptimismIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/DollarCircle/DollarCircle.tsx","webpack://@snx-v3/liquidity/../components/icons/BitcoinIcon/BitcoinIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/CollateralIcon/CollateralIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/ChevronDown/ChevronDown.tsx","webpack://@snx-v3/liquidity/../components/icons/ChevronUp/ChevronUp.tsx","webpack://@snx-v3/liquidity/../components/icons/FailedIcon/FailedIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/WalletIcon/WalletIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/LogoIcon/LogoIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/BorrowIcon/BorrowIcon.tsx","webpack://@snx-v3/liquidity/../components/icons/CCIP/CCIP.tsx","webpack://@snx-v3/liquidity/../components/icons/BaseIcon/BaseIcon.tsx","webpack://@snx-v3/liquidity/../lib/ManagePositionContext/ManagePositionContext.tsx","webpack://@snx-v3/liquidity/../lib/constants/constants.ts","webpack://@snx-v3/liquidity/../lib/fetchPythPrices/fetchPythPrices.ts","webpack://@snx-v3/liquidity/../lib/format/format.ts","webpack://@snx-v3/liquidity/../lib/format/currency.ts","webpack://@snx-v3/liquidity/../lib/tsHelpers/notNill.ts","webpack://@snx-v3/liquidity/../lib/txnReducer/txnReducer.ts","webpack://@snx-v3/liquidity/../lib/useOracleManagerProxy/useOracleManagerProxy.ts","webpack://@snx-v3/liquidity/../lib/useAllCollateralPriceIds/useAllCollateralPriceIds.ts","webpack://@snx-v3/liquidity/../lib/useAllowance/useAllowance.ts","webpack://@snx-v3/liquidity/../lib/useApprove/useApprove.ts","webpack://@snx-v3/liquidity/../lib/useBlockchain/useBlockchain.tsx","webpack://@snx-v3/liquidity/../lib/useCollateralTypes/useCollateralTypes.ts","webpack://@snx-v3/liquidity/../lib/useContractErrorParser/useContractErrorParser.ts","webpack://@snx-v3/liquidity/../lib/useCoreProxy/useCoreProxy.ts","webpack://@snx-v3/liquidity/../lib/useEthBalance/useEthBalance.ts","webpack://@snx-v3/liquidity/../lib/useGasOptions/useGasOptions.ts","webpack://@snx-v3/liquidity/../lib/feeSuggestion/math.ts","webpack://@snx-v3/liquidity/../lib/feeSuggestion/utils.ts","webpack://@snx-v3/liquidity/../lib/feeSuggestion/feeSuggestion.ts","webpack://@snx-v3/liquidity/../lib/useGasPrice/useGasPrice.ts","webpack://@snx-v3/liquidity/../lib/useGasSpeed/GasSpeedContext.tsx","webpack://@snx-v3/liquidity/../lib/useMulticall3/useMulticall3.ts","webpack://@snx-v3/liquidity/../lib/useParams/useParams.ts","webpack://@snx-v3/liquidity/../lib/usePools/usePools.ts","webpack://@snx-v3/liquidity/../lib/useTokenBalance/useTokenBalance.ts","webpack://@snx-v3/liquidity/../lib/assertAddressType/assertAddressType.ts","webpack://@snx-v3/liquidity/../lib/useUSDProxy/useUSDProxy.ts","webpack://@snx-v3/liquidity/../lib/useWrapEth/useWrapEth.ts","webpack://@snx-v3/liquidity/../lib/withERC7412/withMemoryCache.ts","webpack://@snx-v3/liquidity/../lib/withERC7412/withERC7412.ts","webpack://@snx-v3/liquidity/../lib/zod/zod.ts","webpack://@snx-v3/liquidity/../../theme/src/theme.ts","webpack://@snx-v3/liquidity/../../theme/src/fonts.tsx","webpack://@snx-v3/liquidity/../components/TermsModal/TermsModal.tsx","webpack://@snx-v3/liquidity/./src/layouts/Default/Footer.tsx","webpack://@snx-v3/liquidity/./src/layouts/Default/NetworkController.tsx","webpack://@snx-v3/liquidity/../lib/useAccountProxy/useAccountProxy.ts","webpack://@snx-v3/liquidity/../lib/useAccounts/useAccounts.ts","webpack://@snx-v3/liquidity/../components/AccountsSelector/AccountsSelector.tsx","webpack://@snx-v3/liquidity/./src/layouts/Default/Header.tsx","webpack://@snx-v3/liquidity/./src/layouts/Default/DefaultLayout.tsx","webpack://@snx-v3/liquidity/../lib/calculations/calculations.ts","webpack://@snx-v3/liquidity/./src/pages/Home/VaultRow.tsx","webpack://@snx-v3/liquidity/../components/BorderBox/BorderBox.tsx","webpack://@snx-v3/liquidity/../lib/useCollateralPrices/useCollateralPrices.ts","webpack://@snx-v3/liquidity/../lib/useAccountCollateral/useAccountCollateral.ts","webpack://@snx-v3/liquidity/../lib/useLiquidityPosition/useLiquidityPosition.ts","webpack://@snx-v3/liquidity/../lib/tsHelpers/keyBy.ts","webpack://@snx-v3/liquidity/../lib/useLiquidityPositions/useLiquidityPositions.ts","webpack://@snx-v3/liquidity/./src/components/Shared/Welcome/Welcome.tsx","webpack://@snx-v3/liquidity/../lib/formatters/number.ts","webpack://@snx-v3/liquidity/./src/pages/Home/Stats.tsx","webpack://@snx-v3/liquidity/../lib/useAccountCollateralUnlockDate/useAccountCollateralUnlockDate.ts","webpack://@snx-v3/liquidity/./src/pages/Home/AvailableCollateralRow.tsx","webpack://@snx-v3/liquidity/./src/pages/Home/AvailableCollateral.tsx","webpack://@snx-v3/liquidity/./src/pages/Home/Home.tsx","webpack://@snx-v3/liquidity/../lib/validatePosition/validatePosition.ts","webpack://@snx-v3/liquidity/../components/NumberInput/NumberInput.tsx","webpack://@snx-v3/liquidity/./src/pages/Manage/Borrow.tsx","webpack://@snx-v3/liquidity/./src/pages/Manage/Repay.tsx","webpack://@snx-v3/liquidity/../lib/usePoolConfiguration/usePoolConfiguration.ts","webpack://@snx-v3/liquidity/./src/pages/Manage/Undelegate.tsx","webpack://@snx-v3/liquidity/../components/PercentBadges/PercentBadges.tsx","webpack://@snx-v3/liquidity/../lib/useTransferableSynthetix/useTransferableSynthetix.ts","webpack://@snx-v3/liquidity/./src/components/CollateralAlert/CollateralAlert.tsx","webpack://@snx-v3/liquidity/./src/pages/Manage/Deposit.tsx","webpack://@snx-v3/liquidity/./src/pages/Manage/ManageActions.tsx","webpack://@snx-v3/liquidity/./src/pages/Manage/ManageStats.tsx","webpack://@snx-v3/liquidity/../components/HomeLink/HomeLink.tsx","webpack://@snx-v3/liquidity/../lib/etherscanLink/etherscanLink.ts","webpack://@snx-v3/liquidity/./src/components/Rewards/RewardsModal.tsx","webpack://@snx-v3/liquidity/../lib/formatters/string.ts","webpack://@snx-v3/liquidity/./src/components/Rewards/RewardsRow.tsx","webpack://@snx-v3/liquidity/../lib/useClaimRewards/useClaimRewards.ts","webpack://@snx-v3/liquidity/../lib/formatters/date.ts","webpack://@snx-v3/liquidity/./src/components/Rewards/RewardsLoading.tsx","webpack://@snx-v3/liquidity/./src/components/Rewards/Rewards.tsx","webpack://@snx-v3/liquidity/../lib/usePoolData/usePoolData.tsx","webpack://@snx-v3/liquidity/../lib/useRewards/useRewards.ts","webpack://@snx-v3/liquidity/./src/pages/Manage/Manage.tsx","webpack://@snx-v3/liquidity/../components/CollateralTypeSelector/CollateralTypeSelector.tsx","webpack://@snx-v3/liquidity/./src/components/Accounts/Deposit/DepositForm.tsx","webpack://@snx-v3/liquidity/../components/TrendText/TrendText.tsx","webpack://@snx-v3/liquidity/../components/PoolBox/PoolBox.tsx","webpack://@snx-v3/liquidity/./src/pages/Deposit/Deposit.tsx","webpack://@snx-v3/liquidity/./src/pages/Pool/PoolHeader.tsx","webpack://@snx-v3/liquidity/../lib/useMarketNamesById/useMarketNamesById.ts","webpack://@snx-v3/liquidity/./src/pages/Pool/MarketSection.tsx","webpack://@snx-v3/liquidity/../lib/useVaultsData/useVaultsData.ts","webpack://@snx-v3/liquidity/./src/pages/Pool/CollateralSection.tsx","webpack://@snx-v3/liquidity/./src/pages/Pool/Pool.tsx","webpack://@snx-v3/liquidity/./src/pages/Playground/Playground.tsx","webpack://@snx-v3/liquidity/../components/Balance/Balance.tsx","webpack://@snx-v3/liquidity/./src/pages/Teleporter/TeleporterMachine.ts","webpack://@snx-v3/liquidity/./src/pages/Teleporter/TeleporterModal.tsx","webpack://@snx-v3/liquidity/../lib/useTeleport/useTeleport.tsx","webpack://@snx-v3/liquidity/./src/pages/Teleporter/Teleporter.tsx","webpack://@snx-v3/liquidity/./src/pages/404.tsx","webpack://@snx-v3/liquidity/./src/Router.tsx","webpack://@snx-v3/liquidity/./src/i18n.ts","webpack://@snx-v3/liquidity/./src/App.tsx","webpack://@snx-v3/liquidity/./src/index.tsx","webpack://@snx-v3/liquidity/../../tools/safe-import/index.js","webpack://@snx-v3/liquidity/../../tools/safe-import/safeLazy.js"],"sourcesContent":["import { Tooltip } from '@chakra-ui/react';\nimport { useMemo } from 'react';\nimport { currency } from '@snx-v3/format';\nimport { Wei, wei } from '@synthetixio/wei';\n\nexport function Amount({\n value,\n prefix = '',\n suffix = '',\n 'data-testid': testid,\n}: {\n prefix?: string;\n value?: Wei;\n suffix?: string;\n 'data-testid'?: string;\n}) {\n const { formattedValue, preciseValue } = useMemo(() => {\n if (!value) {\n return { formattedValue: '-', preciseValue: '-' };\n }\n const formattedValue = currency(value);\n const cleanNumber = wei(formattedValue.replaceAll(',', ''));\n\n return {\n formattedValue,\n preciseValue: value.eq(cleanNumber) ? formattedValue : value.toString(),\n };\n }, [value]);\n\n return (\n \n {prefix}\n {preciseValue}\n {suffix}\n \n }\n isDisabled={formattedValue === preciseValue}\n >\n \n {prefix}\n {formattedValue}\n {suffix}\n \n \n );\n}\n","import React from 'react';\nimport { Button, Collapse, Text } from '@chakra-ui/react';\nimport format from 'date-fns/format';\nimport { ContractErrorType } from '@snx-v3/useContractErrorParser';\n\nconst defaultOpen = window?.localStorage?.CONTRACT_ERROR_OPEN === 'true';\n\nexport function ContractError({ contractError }: { contractError: ContractErrorType }) {\n const [isOpen, setIsOpen] = React.useState(defaultOpen);\n\n return (\n <>\n {!isOpen ? (\n setIsOpen(true)}\n color=\"inherit\"\n fontWeight=\"normal\"\n fontStyle=\"italic\"\n >\n details...\n \n ) : null}\n \n \n {contractError.name}\n \n \n {Object.entries(contractError.args)\n .map(\n ([key, val]) =>\n `${key}: ${val instanceof Date ? format(val, 'yyyy-MM-dd HH:mm:ss') : val}`\n )\n .join('\\n')}\n \n \n \n );\n}\n","import { Wei, wei } from '@synthetixio/wei';\nimport { createMachine, assign } from 'xstate';\n\nexport const Events = {\n SET_REQUIRE_APPROVAL: 'SET_REQUIRE_APPROVAL',\n SET_WRAP_AMOUNT: 'SET_WRAP_AMOUNT',\n SET_INFINITE_APPROVAL: 'SET_INFINITE_APPROVAL',\n RETRY: 'RETRY',\n RUN: 'RUN',\n SUCCESS: 'SUCCESS',\n FAILURE: 'FAILURE',\n RESET: 'RESET',\n} as const;\n\nexport const State = {\n idle: 'idle',\n wrap: 'wrap',\n approve: 'approve',\n deposit: 'deposit',\n failed: 'failed',\n success: 'success',\n} as const;\n\nconst FailedSteps = {\n [State.approve]: State.approve,\n [State.wrap]: State.wrap,\n [State.deposit]: State.deposit,\n} as const;\n\nexport const ServiceNames = {\n wrapEth: 'wrapEth',\n approveWETH: 'approveWETH',\n executeDeposit: 'executeDeposit',\n} as const;\n\ntype Context = {\n error: {\n error: Error;\n step: keyof typeof FailedSteps;\n } | null;\n requireApproval: boolean;\n wrapAmount: Wei;\n infiniteApproval: boolean;\n};\n\ntype EventNamesType = typeof Events;\n\ntype DepositEvents =\n | { type: EventNamesType['SET_REQUIRE_APPROVAL']; requireApproval: boolean }\n | { type: EventNamesType['SET_WRAP_AMOUNT']; wrapAmount: Wei }\n | { type: EventNamesType['SET_INFINITE_APPROVAL']; infiniteApproval: boolean }\n | { type: EventNamesType['RETRY'] }\n | { type: EventNamesType['RUN'] }\n | { type: EventNamesType['SUCCESS'] }\n | { type: EventNamesType['FAILURE'] }\n | { type: EventNamesType['RESET'] };\n\ntype StateType = typeof State;\ntype MachineState =\n | {\n value: StateType['idle'];\n context: Context & { error: null };\n }\n | {\n value: StateType['wrap'];\n context: Context & { error: null };\n }\n | {\n value: StateType['approve'];\n context: Context & { error: null };\n }\n | {\n value: StateType['deposit'];\n context: Context & { error: null };\n }\n | {\n value: StateType['failed'];\n context: Context & { error: { error: Error; step: keyof typeof FailedSteps } };\n }\n | {\n value: StateType['success'];\n context: Context & {\n error: null;\n };\n };\n\nconst initialContext = {\n wrapAmount: wei(0),\n error: null,\n requireApproval: false,\n infiniteApproval: false,\n};\n\nexport const DepositMachine = createMachine({\n id: 'DepositMachine',\n initial: State.idle,\n predictableActionArguments: true,\n context: initialContext,\n on: {\n [Events.RUN]: {\n target: State.deposit,\n actions: assign({\n wrapAmount: (_) => initialContext.wrapAmount,\n error: (_) => initialContext.error,\n requireApproval: (_) => initialContext.requireApproval,\n infiniteApproval: (_) => initialContext.infiniteApproval,\n }),\n },\n [Events.SET_REQUIRE_APPROVAL]: {\n actions: assign({ requireApproval: (_context, event) => event.requireApproval }),\n },\n [Events.SET_WRAP_AMOUNT]: {\n actions: assign({ wrapAmount: (_context, event) => event.wrapAmount }),\n },\n [Events.SET_INFINITE_APPROVAL]: {\n actions: assign({ infiniteApproval: (_context, event) => event.infiniteApproval }),\n },\n },\n states: {\n [State.idle]: {\n on: {\n [Events.RUN]: [\n { target: State.wrap, cond: (context) => context.wrapAmount.gt(0) },\n { target: State.approve, cond: (context) => context.requireApproval },\n { target: State.deposit },\n ],\n },\n },\n [State.wrap]: {\n invoke: {\n src: ServiceNames.wrapEth,\n onError: {\n target: State.failed,\n actions: assign({\n error: (_context, event) => ({ error: event.data, step: FailedSteps.wrap }),\n }),\n },\n onDone: [\n { target: State.approve, cond: (context) => context.requireApproval },\n { target: State.deposit },\n ],\n },\n },\n [State.approve]: {\n invoke: {\n src: ServiceNames.approveWETH,\n onDone: {\n target: State.deposit,\n },\n onError: {\n target: State.failed,\n actions: assign({\n error: (_context, event) => ({ error: event.data, step: FailedSteps.approve }),\n }),\n },\n },\n },\n [State.deposit]: {\n invoke: {\n src: ServiceNames.executeDeposit,\n onDone: {\n target: State.success,\n },\n onError: {\n target: State.failed,\n actions: assign({\n error: (_context, event) => ({ error: event.data, step: FailedSteps.deposit }),\n }),\n },\n },\n },\n [State.failed]: {\n on: {\n [Events.RETRY]: [\n {\n target: State.approve,\n cond: (c) => c.error?.step === FailedSteps.approve,\n actions: assign({ error: (_) => null }),\n },\n {\n target: State.wrap,\n cond: (c) => c.error?.step === FailedSteps.wrap,\n actions: assign({ error: (_) => null }),\n },\n {\n target: State.deposit,\n cond: (c) => c.error?.step === FailedSteps.deposit,\n actions: assign({ error: (_) => null }),\n },\n ],\n },\n },\n [State.success]: {},\n },\n});\n","import {\n Button,\n Modal,\n ModalBody,\n ModalCloseButton,\n ModalContent,\n ModalHeader,\n ModalOverlay,\n Text,\n useToast,\n} from '@chakra-ui/react';\nimport { FC, useCallback, useEffect, useMemo } from 'react';\nimport { CollateralType, useCollateralType } from '@snx-v3/useCollateralTypes';\nimport { Amount } from '@snx-v3/Amount';\n\nimport { generatePath, useNavigate, useLocation } from 'react-router-dom';\nimport { useApprove } from '@snx-v3/useApprove';\nimport { useWrapEth } from '@snx-v3/useWrapEth';\nimport { Multistep } from '@snx-v3/Multistep';\nimport { Wei, wei } from '@synthetixio/wei';\nimport { useCoreProxy } from '@snx-v3/useCoreProxy';\nimport { useDeposit } from '@snx-v3/useDeposit';\nimport { useParams } from '@snx-v3/useParams';\nimport { DepositMachine, Events, ServiceNames, State } from './DepositMachine';\nimport { useMachine } from '@xstate/react';\nimport type { StateFrom } from 'xstate';\nimport { useContractErrorParser } from '@snx-v3/useContractErrorParser';\nimport { ContractError } from '@snx-v3/ContractError';\nimport { usePool } from '@snx-v3/usePools';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useNetwork } from '@snx-v3/useBlockchain';\n\nexport const DepositModalUi: FC<{\n collateralChange: Wei;\n isOpen: boolean;\n onClose: () => void;\n collateralType?: CollateralType;\n state: StateFrom;\n setInfiniteApproval: (x: boolean) => void;\n onSubmit: () => void;\n availableCollateral: Wei;\n poolName: string;\n}> = ({\n collateralChange,\n isOpen,\n onClose,\n collateralType,\n setInfiniteApproval,\n onSubmit,\n state,\n availableCollateral,\n poolName,\n}) => {\n const wrapAmount = state.context.wrapAmount;\n const infiniteApproval = state.context.infiniteApproval;\n const requireApproval = state.context.requireApproval;\n const error = state.context.error;\n const isProcessing =\n state.matches(State.approve) || state.matches(State.deposit) || state.matches(State.wrap);\n\n const isWETH = collateralType?.symbol === 'WETH';\n const stepNumbers = {\n wrap: isWETH ? 1 : 0,\n approve: isWETH ? 2 : 1,\n deposit: isWETH ? 3 : 2,\n };\n\n return (\n \n \n \n Complete this action\n \n \n Please execute the following transactions:\n {isWETH ? (\n \n from\n balance will be used.\n \n ) : (\n \n You must wrap additional before\n depositing.\n \n )\n }\n status={{\n failed: error?.step === State.wrap,\n disabled: collateralType?.symbol !== 'WETH',\n success: wrapAmount.eq(0) || state.matches(State.success),\n loading: state.matches(State.wrap) && !error,\n }}\n />\n ) : null}\n\n setInfiniteApproval(e.target.checked),\n }}\n />\n\n \n {state.matches(State.success) ? (\n \n {' '}\n delegated to {poolName}.\n \n ) : (\n <>\n {availableCollateral && availableCollateral.gt(wei(0)) ? (\n <>\n {availableCollateral.gte(collateralChange) ? (\n \n This will delegate{' '}\n {' '}\n to {poolName}.\n \n ) : (\n <>\n \n This will delegate{' '}\n {' '}\n to {poolName}.\n \n \n An additional{' '}\n {' '}\n will be deposited and delegated from your wallet.\n \n \n )}\n \n ) : (\n \n This will deposit and delegate{' '}\n to{' '}\n {poolName}.\n \n )}\n \n )}\n \n }\n status={{\n failed: error?.step === State.deposit,\n disabled: state.matches(State.success) && requireApproval,\n success: state.matches(State.success),\n loading: state.matches(State.deposit) && !error,\n }}\n />\n\n \n {(() => {\n switch (true) {\n case Boolean(error):\n return 'Retry';\n case isProcessing:\n return 'Processing...';\n case state.matches(State.success):\n return 'Done';\n default:\n return 'Start';\n }\n })()}\n \n \n \n \n );\n};\n\nexport type DepositModalProps = FC<{\n collateralChange: Wei;\n currentCollateral: Wei;\n availableCollateral: Wei;\n isOpen: boolean;\n onClose: () => void;\n}>;\n\nexport const DepositModal: DepositModalProps = ({\n onClose,\n isOpen,\n collateralChange,\n currentCollateral,\n availableCollateral,\n}) => {\n const navigate = useNavigate();\n const params = useParams();\n const queryClient = useQueryClient();\n const network = useNetwork();\n const { data: CoreProxy } = useCoreProxy();\n const { data: collateralType } = useCollateralType(params.collateralSymbol);\n\n const { approve, requireApproval } = useApprove({\n contractAddress: collateralType?.tokenAddress,\n amount: collateralChange.toBN(),\n spender: CoreProxy?.address,\n });\n\n const toast = useToast({ isClosable: true, duration: 9000 });\n\n // TODO: Update logic on new account id\n const newAccountId = useMemo(() => `${Math.floor(Math.random() * 10000000000)}`, []);\n\n const { exec: wrapEth, wethBalance } = useWrapEth();\n const wrapAmount =\n collateralType?.symbol === 'WETH' && collateralChange.gt(wethBalance || 0)\n ? collateralChange.sub(wethBalance || 0)\n : wei(0);\n\n const { data: pool } = usePool(params.poolId);\n\n const { exec: execDeposit } = useDeposit({\n accountId: params.accountId,\n newAccountId,\n poolId: params.poolId,\n collateralTypeAddress: collateralType?.tokenAddress,\n collateralChange,\n currentCollateral,\n availableCollateral: availableCollateral || wei(0),\n });\n const errorParserCoreProxy = useContractErrorParser(CoreProxy);\n\n const [state, send] = useMachine(DepositMachine, {\n services: {\n [ServiceNames.wrapEth]: async () => {\n try {\n await wrapEth(state.context.wrapAmount);\n } catch (error: any) {\n const contractError = errorParserCoreProxy(error);\n if (contractError) {\n console.error(new Error(contractError.name), contractError);\n }\n toast.closeAll();\n toast({\n title: 'Wrapping ETH failed',\n description: contractError ? (\n \n ) : (\n 'Please try again.'\n ),\n status: 'error',\n });\n throw Error('Wrapping failed', { cause: error });\n }\n },\n [ServiceNames.approveWETH]: async () => {\n try {\n toast({\n title: 'Approve collateral for transfer',\n description: params.accountId\n ? 'The next transaction will delegate this collateral.'\n : 'The next transaction will create your account and and delegate this collateral',\n status: 'info',\n });\n\n await approve(Boolean(state.context.infiniteApproval));\n } catch (error: any) {\n const contractError = errorParserCoreProxy(error);\n if (contractError) {\n console.error(new Error(contractError.name), contractError);\n }\n toast.closeAll();\n toast({\n title: 'Approval failed',\n description: contractError ? (\n \n ) : (\n 'Please try again.'\n ),\n status: 'error',\n });\n throw Error('Approve failed', { cause: error });\n }\n },\n [ServiceNames.executeDeposit]: async () => {\n try {\n toast.closeAll();\n toast({\n title: Boolean(params.accountId)\n ? 'Delegating your collateral'\n : 'Creating your account and depositing collateral',\n description: '',\n });\n await execDeposit();\n\n await Promise.all([\n queryClient.invalidateQueries({\n queryKey: [network.name, 'EthBalance'],\n }),\n queryClient.invalidateQueries({ queryKey: [network.name, 'LiquidityPosition'] }),\n collateralType?.symbol === 'SNX'\n ? queryClient.invalidateQueries({ queryKey: [network.name, 'TransferableSynthetix'] })\n : Promise.resolve(),\n queryClient.invalidateQueries({\n queryKey: [network.name, 'Allowance'],\n }),\n !params.accountId\n ? queryClient.invalidateQueries({\n queryKey: [network.name, 'Accounts'],\n })\n : Promise.resolve(),\n ]);\n\n toast.closeAll();\n toast({\n title: 'Success',\n description: 'Your delegated collateral amount has been updated.',\n status: 'success',\n duration: 5000,\n });\n } catch (error: any) {\n const contractError = errorParserCoreProxy(error);\n if (contractError) {\n console.error(new Error(contractError.name), contractError);\n }\n toast({\n title: 'Could not complete delegating collateral',\n description: contractError ? (\n \n ) : (\n 'Please try again.'\n ),\n status: 'error',\n });\n throw Error('Delegate collateral failed', { cause: error });\n }\n },\n },\n });\n\n const wrapAmountString = wrapAmount.toString();\n const isSuccessOrDeposit = state.matches(State.success) || state.matches(State.deposit);\n\n useEffect(() => {\n if (isSuccessOrDeposit) {\n // We do this to ensure the success state displays the wrap amount used before deposit\n return;\n }\n send(Events.SET_WRAP_AMOUNT, { wrapAmount: wei(wrapAmountString) });\n }, [wrapAmountString, send, isSuccessOrDeposit]);\n\n useEffect(() => {\n send(Events.SET_REQUIRE_APPROVAL, { requireApproval });\n }, [requireApproval, send]);\n\n const location = useLocation();\n\n const handleClose = useCallback(() => {\n const isSuccess = state.matches(State.success);\n\n if (isSuccess && params.poolId && collateralType?.symbol) {\n send(Events.RESET);\n onClose();\n navigate({\n pathname: generatePath('/positions/:collateralType/:poolId', {\n collateralType: collateralType.symbol,\n poolId: params.poolId,\n }),\n search: location.search,\n });\n }\n send(Events.RESET);\n onClose();\n }, [location.search, send, onClose, state, params.poolId, collateralType?.symbol, navigate]);\n\n const onSubmit = useCallback(async () => {\n if (state.matches(State.success)) {\n handleClose();\n return;\n }\n if (state.context.error) {\n send(Events.RETRY);\n return;\n }\n send(Events.RUN);\n }, [handleClose, send, state]);\n\n return (\n {\n send(Events.SET_INFINITE_APPROVAL, { infiniteApproval });\n }}\n onSubmit={onSubmit}\n poolName={pool?.name || ''}\n availableCollateral={availableCollateral || wei(0)}\n />\n );\n};\n","import { useReducer } from 'react';\nimport { useCoreProxy } from '@snx-v3/useCoreProxy';\nimport { useMutation } from '@tanstack/react-query';\nimport { useNetwork, useProvider, useSigner } from '@snx-v3/useBlockchain';\nimport { initialState, reducer } from '@snx-v3/txnReducer';\nimport Wei, { wei } from '@synthetixio/wei';\nimport { BigNumber } from 'ethers';\n\nimport { formatGasPriceForTransaction } from '@snx-v3/useGasOptions';\nimport { getGasPrice } from '@snx-v3/useGasPrice';\nimport { useGasSpeed } from '@snx-v3/useGasSpeed';\nimport { withERC7412 } from '@snx-v3/withERC7412';\nimport { notNil } from '@snx-v3/tsHelpers';\nimport { useAllCollateralPriceIds } from '@snx-v3/useAllCollateralPriceIds';\nimport { fetchPriceUpdates, priceUpdatesToPopulatedTx } from '@snx-v3/fetchPythPrices';\n\nexport const useDeposit = ({\n accountId,\n newAccountId,\n poolId,\n collateralTypeAddress,\n collateralChange,\n currentCollateral,\n availableCollateral,\n}: {\n accountId?: string;\n newAccountId: string;\n poolId?: string;\n collateralTypeAddress?: string;\n currentCollateral: Wei;\n availableCollateral?: Wei;\n collateralChange: Wei;\n}) => {\n const [txnState, dispatch] = useReducer(reducer, initialState);\n const { data: CoreProxy } = useCoreProxy();\n const { data: collateralPriceUpdates } = useAllCollateralPriceIds();\n\n const network = useNetwork();\n const signer = useSigner();\n const { gasSpeed } = useGasSpeed();\n const provider = useProvider();\n const mutation = useMutation({\n mutationFn: async () => {\n if (\n !(\n signer &&\n CoreProxy &&\n poolId &&\n collateralTypeAddress &&\n availableCollateral &&\n collateralPriceUpdates\n )\n ) {\n return;\n }\n if (collateralChange.eq(0)) return;\n\n try {\n dispatch({ type: 'prompting' });\n const walletAddress = await signer.getAddress();\n const id = accountId ?? newAccountId;\n\n // create account only when no account exists\n const createAccount = accountId\n ? undefined\n : CoreProxy.populateTransaction['createAccount(uint128)'](BigNumber.from(id));\n\n // optionally deposit if available collateral not enough\n const deposit = availableCollateral.gte(collateralChange)\n ? undefined\n : CoreProxy.populateTransaction.deposit(\n BigNumber.from(id),\n collateralTypeAddress,\n collateralChange.sub(availableCollateral).toBN() // only deposit what's needed\n );\n const delegate = CoreProxy.populateTransaction.delegateCollateral(\n BigNumber.from(id),\n BigNumber.from(poolId),\n collateralTypeAddress,\n currentCollateral.add(collateralChange).toBN(),\n wei(1).toBN()\n );\n const callsPromise = Promise.all([createAccount, deposit, delegate].filter(notNil));\n const collateralPriceCallsPromise = fetchPriceUpdates(\n collateralPriceUpdates,\n network.isTestnet\n ).then((signedData) =>\n priceUpdatesToPopulatedTx(walletAddress, collateralPriceUpdates, signedData)\n );\n const [calls, gasPrices, collateralPriceCalls] = await Promise.all([\n callsPromise,\n getGasPrice({ provider }),\n collateralPriceCallsPromise,\n ]);\n const allCalls = collateralPriceCalls.concat(calls);\n const erc7412Tx = await withERC7412(provider, allCalls, 'useDeposit');\n\n const gasOptionsForTransaction = formatGasPriceForTransaction({\n gasLimit: erc7412Tx.gasLimit,\n gasPrices,\n gasSpeed,\n });\n\n const txn = await signer.sendTransaction({ ...erc7412Tx, ...gasOptionsForTransaction });\n dispatch({ type: 'pending', payload: { txnHash: txn.hash } });\n\n await txn.wait();\n dispatch({ type: 'success' });\n } catch (error: any) {\n dispatch({ type: 'error', payload: { error } });\n throw error;\n }\n },\n });\n return {\n mutation,\n txnState,\n settle: () => dispatch({ type: 'settled' }),\n isLoading: mutation.isLoading,\n exec: mutation.mutateAsync,\n };\n};\n","import { DepositModal } from './DepositModal';\nexport * from './DepositModal';\nexport default DepositModal;\n","import { Box, Spinner } from '@chakra-ui/react';\nimport { PropsWithChildren } from 'react';\nimport { MultistepStatus } from './MultistepStatus';\n\nimport { createIcon } from '@chakra-ui/icon';\n\nexport const CheckIcon = createIcon({\n viewBox: '0 0 14 14',\n path: (\n \n \n \n ),\n});\n\nexport const CloseIcon = createIcon({\n d: 'M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z',\n});\n\nexport function StepIcon({ status, children }: PropsWithChildren<{ status: MultistepStatus }>) {\n switch (true) {\n case status.failed:\n return ;\n case status.success:\n return ;\n case status.loading:\n return ;\n case status.disabled:\n default:\n return (\n \n {children}\n \n );\n }\n}\n","import { MultistepStatus } from './MultistepStatus';\n\nexport function statusColor(status: MultistepStatus): string {\n switch (true) {\n // order matters\n case status.failed:\n return 'red.700';\n case status.disabled:\n return 'gray.700';\n case status.loading:\n return 'gray.700';\n case status.success:\n return 'green.700';\n default:\n return 'gray.700';\n }\n}\n","import { Flex } from '@chakra-ui/react';\nimport { PropsWithChildren } from 'react';\nimport { MultistepStatus } from './MultistepStatus';\nimport { StepIcon } from './StepIcon';\nimport { statusColor } from './statusColor';\n\nexport function Step({ status, children }: PropsWithChildren<{ status: MultistepStatus }>) {\n return (\n \n {children}\n \n );\n}\n","import { PropsWithChildren, ReactElement } from 'react';\nimport { Box, Checkbox, CheckboxProps, Flex, Text } from '@chakra-ui/react';\nimport { Step } from './Step';\nimport { statusColor } from './statusColor';\nimport { MultistepStatus } from './MultistepStatus';\n\nfunction StepCheckbox({ children, ...props }: PropsWithChildren) {\n return (\n \n \n \n {children}\n \n \n \n );\n}\n\nexport function Multistep({\n step,\n title,\n subtitle,\n checkboxLabel,\n checkboxProps,\n status,\n children,\n}: PropsWithChildren<{\n step: number;\n title: string | ReactElement;\n subtitle?: string | ReactElement;\n checkboxLabel?: string;\n checkboxProps?: CheckboxProps;\n status: MultistepStatus;\n}>) {\n return (\n \n {step}\n \n {title}\n {subtitle ? (\n \n {subtitle}\n \n ) : null}\n {checkboxLabel ? {checkboxLabel} : null}\n {children}\n \n \n );\n}\n","import { Alert, Text } from '@chakra-ui/react';\n\nexport function WithdrawIncrease() {\n return (\n \n \n This action will increase the timeout for withdrawing collateral\n \n \n );\n}\n","import { Icon, IconProps } from '@chakra-ui/react';\n\nexport const Logo = ({ color = '#00D1FF', width = '219', height = '18' }: IconProps) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\ninterface EthereumIconProps extends IconProps {\n fill?: string;\n}\n\nexport const EthereumIcon = ({\n width = '24px',\n height = '24px',\n fill = '#627EEA',\n}: EthereumIconProps) => {\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\ninterface SnxIconProps extends IconProps {\n color?: string;\n fill?: string;\n}\n\nexport const SNXIcon = ({\n width = '25px',\n height = '24px',\n color = '#2ED9FF',\n fill = '#0E052F',\n ...props\n}: SnxIconProps) => {\n return (\n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\ninterface OptimismIconProps extends IconProps {\n color?: string;\n fill?: string;\n}\n\nexport const OptimismIcon = ({\n width = '24px',\n height = '24px',\n color = 'white',\n fill = '#FF0420',\n ...props\n}: OptimismIconProps) => {\n return (\n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\ninterface DollarCircleProps extends IconProps {\n fill?: string;\n}\n\nexport const DollarCircle = ({ width = '15px', height = '15px', ...props }: DollarCircleProps) => {\n return (\n \n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\ninterface BitcoinIconProps extends IconProps {\n fill?: string;\n}\n\nexport const BitcoinIcon = ({ width = '42px', height = '42px' }: BitcoinIconProps) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { EthereumIcon } from '../EthereumIcon';\nimport { OptimismIcon } from '../OptimismIcon';\nimport { SNXIcon } from '../SNXIcon';\nimport { DollarCircle } from '../DollarCircle';\nimport { Icon, IconProps } from '@chakra-ui/react';\nimport { BitcoinIcon } from '../BitcoinIcon';\n\ninterface CollateralIconProps extends IconProps {\n symbol?: string;\n fill?: string;\n color?: string;\n}\nexport const CollateralIcon = ({\n symbol,\n fill = '#00D1FF',\n color = '#FFFFFF',\n ...props\n}: CollateralIconProps) => {\n switch (symbol) {\n case 'WETH':\n case 'ETH':\n return ;\n case 'SNX':\n case 'fSNX':\n return ;\n case 'OP':\n return ;\n case 'sUSD':\n case 'snxUSD':\n return ;\n case 'WBTC':\n return ;\n default:\n return ;\n }\n};\n\nexport const UnknownIcon = ({ width = '32px', height = '32px', ...props }: IconProps) => {\n return (\n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\nexport const ChevronDown = ({ width = '20px', height = '20px', ...props }: IconProps) => {\n return (\n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\nexport const ChevronUp = ({ width = '20px', height = '20px', ...props }: IconProps) => {\n return (\n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\nexport const FailedIcon = ({ width = '94px', height = '94px' }: IconProps) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\nexport const WalletIcon = ({\n width = '20px',\n height = '20ox',\n color = 'whiteAlpha.700',\n ...props\n}: IconProps) => {\n return (\n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\nexport const LogoIcon = ({ color = 'cyan.400' }: IconProps) => {\n return (\n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\ninterface BorrowIconProps extends IconProps {\n fill?: string;\n}\n\nexport const BorrowIcon = ({ width = '15px', height = '15px', ...props }: BorrowIconProps) => {\n return (\n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\nexport const CCIP = ({ width = '119px', height = '33px', ...props }: IconProps) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { Icon, IconProps } from '@chakra-ui/react';\n\ninterface BaseIconProps extends IconProps {\n fill?: string;\n}\n\nexport const BaseIcon = ({\n width = '24px',\n height = '24px',\n fill = '#0052FF',\n ...props\n}: BaseIconProps) => {\n return (\n \n \n \n );\n};\n","import Wei, { wei } from '@synthetixio/wei';\nimport React, { createContext, useState, PropsWithChildren, Dispatch, SetStateAction } from 'react';\n\nexport const ManagePositionContext = createContext<{\n collateralChange: Wei;\n debtChange: Wei;\n setDebtChange: Dispatch>;\n setCollateralChange: Dispatch>;\n}>({\n collateralChange: wei(0),\n debtChange: wei(0),\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setDebtChange: () => {},\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setCollateralChange: () => {},\n});\n\nexport const ManagePositionProvider: React.FC = ({ children }) => {\n const [debtChange, setDebtChange] = useState(wei(0));\n const [collateralChange, setCollateralChange] = useState(wei(0));\n\n return (\n \n {children}\n \n );\n};\n","export const GWEI_DECIMALS = 9;\nexport const GAS_LIMIT_MULTIPLIER = 1.5;\n\nexport const DEFAULT_QUERY_REFRESH_INTERVAL = 600_000; // 10min\nexport const DEFAULT_QUERY_STALE_TIME = 300_000; // 5min\n\nexport const INFURA_KEY = '3fed4f20a42a4302b7e9f15a2288f6a4';\nexport const ONBOARD_KEY = 'sec_jykTuCK0ZuqXWf3wNYqizxs2';\n\nexport const getSubgraphUrl = (networkName = 'optimism-mainnet') => {\n switch (networkName) {\n case 'base-goerli':\n return 'https://subgraph.satsuma-prod.com/ce5e03f52f3b/synthetix/synthetix-base-testnet/api';\n default:\n return `https://api.thegraph.com/subgraphs/name/snx-v3/${networkName}`;\n }\n};\n\nexport const SESSION_STORAGE_KEYS = {\n TERMS_CONDITIONS_ACCEPTED: 'TERMS_CONDITIONS_ACCEPTED',\n};\nexport const offchainMainnetEndpoint =\n process.env.PYTH_MAINNET_ENDPOINT || 'https://xc-mainnet.pyth.network';\nexport const offchainTestnetEndpoint =\n process.env.PYTH_TESTNET_ENDPOINT || 'https://xc-testnet.pyth.network';\n","import { offchainMainnetEndpoint, offchainTestnetEndpoint } from '@snx-v3/constants';\nimport { EvmPriceServiceConnection } from '@pythnetwork/pyth-evm-js';\nimport { ethers, PopulatedTransaction, BigNumber } from 'ethers';\nimport { Wei } from '@synthetixio/wei';\n\nexport const fetchPriceUpdates = async (\n requestedPriceUpdates: { priceFeedId: string; stalenessTolerance: Wei }[],\n isTestnet: boolean\n) => {\n if (requestedPriceUpdates.length === 0) return [];\n const priceService = new EvmPriceServiceConnection(\n isTestnet ? offchainTestnetEndpoint : offchainMainnetEndpoint\n );\n const signedPricesData = await priceService.getPriceFeedsUpdateData(\n requestedPriceUpdates.map(({ priceFeedId }) => priceFeedId)\n );\n\n return signedPricesData.map((signedOffchainData, i) => {\n const updateType = 1; // todo can I fetch this?\n\n const { priceFeedId, stalenessTolerance } = requestedPriceUpdates[i];\n return ethers.utils.defaultAbiCoder.encode(\n ['uint8', 'uint64', 'bytes32[]', 'bytes[]'],\n [updateType, stalenessTolerance.toBN(), [priceFeedId], [signedOffchainData]]\n );\n });\n};\n\nexport const priceUpdatesToPopulatedTx = (\n from: string,\n oracleAddresses: { address: string }[],\n signedOffchainData: string[]\n) => {\n if (oracleAddresses.length !== signedOffchainData.length) {\n throw new Error('oracleAddresses and signedOffchainData must be the same length');\n }\n return signedOffchainData.map((signedOffchainDatum, i) => {\n const tx: PopulatedTransaction = {\n to: oracleAddresses[i].address,\n from: from,\n data: new ethers.utils.Interface([\n 'function fulfillOracleQuery(bytes calldata signedOffchainData) payable external',\n ]).encodeFunctionData('fulfillOracleQuery', [signedOffchainDatum]),\n // We set the value to 1 wei to avoid FeeRequired error from pyth, it's quite nice that their fee seems to be the lowest denominator on every network.\n // If this ever changes, things wont break, but become slower.\n value: BigNumber.from(1),\n };\n return tx;\n });\n};\n","import { BigNumberish, utils } from 'ethers';\nimport { wei, WeiSource } from '@synthetixio/wei';\n\nexport const formatValue = (value: BigNumberish, decimals = 18) =>\n parseFloat(utils.formatUnits(value, decimals));\n\nexport const parseUnits = (value: WeiSource, decimals = 18) => wei(value, decimals).toBN();\n\nexport const compareAddress = (add1: string | null = '', add2: string | null = '') =>\n !!add1 && !!add2 && add1.toLowerCase() === add2.toLowerCase();\n\nexport const prettyString = (text: string, startLength = 6, endLength = 4) => {\n if (text.length <= startLength + endLength) {\n return text;\n }\n return `${text.substring(0, startLength)}...${text.substring(text.length - endLength)}`;\n};\n","import { Wei } from '@synthetixio/wei';\n\nexport function currency(\n value: Wei,\n options?: Intl.NumberFormatOptions,\n minimumDigitsToShowAfterZeros = 2\n) {\n try {\n const stringValue = value.toString();\n const numberValue = value.toNumber();\n\n const decimals =\n numberValue < 0\n ? -numberValue - Math.floor(-numberValue)\n : numberValue - Math.floor(numberValue);\n const zeroDecimals = decimals !== 0 ? -Math.floor(Math.log10(decimals) + 1) : 0;\n\n const maximumFractionDigits = zeroDecimals + minimumDigitsToShowAfterZeros;\n\n return isNaN(numberValue)\n ? stringValue\n : numberValue.toLocaleString('en-US', {\n minimumFractionDigits: 0,\n maximumFractionDigits,\n ...options,\n });\n } catch (error) {\n return value + '';\n }\n}\n","// This is a type guard function that checks if a value is not null and not undefined.\n// This is useful when filtering an array that might have null or undefined values.\nexport const notNil = (x: T | null | undefined): x is T => x !== null && x !== undefined;\n","export type TransactionStatus = 'unsent' | 'prompting' | 'pending' | 'success' | 'error';\n\ntype TxnState = {\n error: Error | null;\n modalOpen: boolean;\n txnStatus: TransactionStatus;\n txnHash: string | null;\n};\n\nexport const initialState: TxnState = {\n error: null,\n modalOpen: false,\n txnStatus: 'unsent',\n txnHash: null,\n};\n\nexport type Actions =\n | { type: 'prompting' }\n | { type: 'pending'; payload: { txnHash: string } }\n | { type: 'success' }\n | { type: 'error'; payload: { error: Error } }\n | { type: 'settled' };\n\nexport function reducer(state: TxnState, action: Actions): TxnState {\n switch (action.type) {\n case 'prompting':\n return {\n ...state,\n txnStatus: 'prompting',\n modalOpen: true,\n error: null,\n };\n\n case 'pending':\n return {\n ...state,\n txnStatus: 'pending',\n txnHash: action.payload.txnHash,\n };\n\n case 'success':\n return {\n ...state,\n txnStatus: 'success',\n };\n\n case 'error':\n return {\n ...state,\n txnStatus: 'error',\n error: action.payload.error,\n };\n\n case 'settled':\n return {\n ...state,\n modalOpen: false,\n txnStatus: 'unsent',\n error: null,\n txnHash: null,\n };\n\n default:\n return state;\n }\n}\n","import { Contract } from '@ethersproject/contracts';\nimport { useQuery } from '@tanstack/react-query';\nimport { useNetwork, useProvider, useSigner } from '@snx-v3/useBlockchain';\nimport type { OracleManagerProxy as OracleManagerProxyCannon } from '@synthetixio/v3-contracts/build/cannon/OracleManagerProxy';\nimport type { OracleManagerProxy as OracleManagerProxyMainnet } from '@synthetixio/v3-contracts/build/mainnet/OracleManagerProxy';\nimport type { OracleManagerProxy as OracleManagerProxyGoerli } from '@synthetixio/v3-contracts/build/goerli/OracleManagerProxy';\nimport type { OracleManagerProxy as OracleManagerProxySepolia } from '@synthetixio/v3-contracts/build/sepolia/OracleManagerProxy';\nimport type { OracleManagerProxy as OracleManagerProxyOptimismMainnet } from '@synthetixio/v3-contracts/build/optimism-mainnet/OracleManagerProxy';\nimport type { OracleManagerProxy as OracleManagerProxyOptimismGoerli } from '@synthetixio/v3-contracts/build/optimism-goerli/OracleManagerProxy';\nimport type { OracleManagerProxy as OracleManagerProxyBaseGoerli } from '@synthetixio/v3-contracts/build/base-goerli/OracleManagerProxy';\n\nexport type OracleManagerProxyType =\n | OracleManagerProxyCannon\n | OracleManagerProxyMainnet\n | OracleManagerProxyGoerli\n | OracleManagerProxySepolia\n | OracleManagerProxyOptimismMainnet\n | OracleManagerProxyOptimismGoerli\n | OracleManagerProxyBaseGoerli;\n\nexport async function getOracleManagerProxy(\n chainName: string\n): Promise<{ address: string; abi: string[] }> {\n switch (chainName) {\n case 'cannon':\n return import('@synthetixio/v3-contracts/build/cannon/OracleManagerProxy');\n case 'mainnet':\n return import('@synthetixio/v3-contracts/build/mainnet/OracleManagerProxy');\n case 'goerli':\n return import('@synthetixio/v3-contracts/build/goerli/OracleManagerProxy');\n case 'sepolia':\n return import('@synthetixio/v3-contracts/build/sepolia/OracleManagerProxy');\n case 'optimism-mainnet':\n return import('@synthetixio/v3-contracts/build/optimism-mainnet/OracleManagerProxy');\n case 'optimism-goerli':\n return import('@synthetixio/v3-contracts/build/optimism-goerli/OracleManagerProxy');\n case 'base-goerli':\n return import('@synthetixio/v3-contracts/build/base-goerli/OracleManagerProxy');\n default:\n throw new Error(`Unsupported chain ${chainName}`);\n }\n}\n\nexport function useOracleManagerProxy() {\n const network = useNetwork();\n const provider = useProvider();\n const signer = useSigner();\n const signerOrProvider = signer || provider;\n const withSigner = Boolean(signer);\n\n return useQuery({\n queryKey: [network.name, 'OracleManagerProxy', { withSigner }],\n queryFn: async function () {\n const { address, abi } = await getOracleManagerProxy(network.name);\n return new Contract(address, abi, signerOrProvider) as OracleManagerProxyType;\n },\n enabled: Boolean(signerOrProvider),\n staleTime: Infinity,\n cacheTime: Infinity,\n });\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { useMulticall3 } from '@snx-v3/useMulticall3';\nimport { ethers } from 'ethers';\nimport { useOracleManagerProxy } from '@snx-v3/useOracleManagerProxy';\nimport { z } from 'zod';\nimport { notNil } from '@snx-v3/tsHelpers';\nimport { CoreProxyType, useCoreProxy } from '@snx-v3/useCoreProxy';\nimport { networksWithERC7412, useNetwork } from '@snx-v3/useBlockchain';\nimport { ZodBigNumber } from '@snx-v3/zod';\nimport { wei } from '@synthetixio/wei';\n\nconst NodeSchema = z.object({\n nodeType: z.number(),\n parameters: z.string(),\n parents: z.array(z.string()),\n});\n\nconst PythParametersSchema = z.object({\n address: z.string(),\n priceFeedId: z.string(),\n stalenessTolerance: ZodBigNumber.transform((x) => wei(x)),\n});\n\nconst EXTERNAL_NODE_TYPE = 2;\n\nconst loadConfigs = async ({ CoreProxy }: { CoreProxy: CoreProxyType }) => {\n const hideDisabled = false;\n return await CoreProxy.getCollateralConfigurations(hideDisabled);\n};\nfunction removeDuplicatesByProp(arr: T[], prop: K): T[] {\n const seen = new Set();\n return arr.filter((item) => {\n const value = item[prop];\n if (seen.has(value)) {\n return false;\n } else {\n seen.add(value);\n return true;\n }\n });\n}\n\nexport const useAllCollateralPriceIds = () => {\n const { data: Multicall3 } = useMulticall3();\n const { data: OracleProxy } = useOracleManagerProxy();\n const { data: CoreProxy } = useCoreProxy();\n const network = useNetwork();\n return useQuery({\n enabled: Boolean(Multicall3 && OracleProxy && CoreProxy),\n staleTime: Infinity,\n cacheTime: Infinity,\n\n queryKey: [network.name, 'Collateral Price IDs'],\n\n queryFn: async () => {\n if (!CoreProxy || !Multicall3 || !OracleProxy) {\n throw Error('useAllCollateralPriceIds should not be enabled ');\n }\n\n if (!networksWithERC7412[network.name]) return [];\n const configs = await loadConfigs({ CoreProxy });\n const oracleNodeIds = configs.map((x) => x.oracleNodeId);\n const calls = oracleNodeIds.map((oracleNodeId) => ({\n target: OracleProxy.address,\n callData: OracleProxy.interface.encodeFunctionData('getNode', [oracleNodeId]),\n }));\n\n const { returnData } = await Multicall3.callStatic.aggregate(calls);\n const decoded = returnData\n .map((bytes, i) => {\n const nodeResp = OracleProxy.interface.decodeFunctionResult('getNode', bytes)[0];\n\n const { nodeType, parameters } = NodeSchema.parse({ ...nodeResp });\n if (nodeType !== EXTERNAL_NODE_TYPE) return undefined;\n\n try {\n const [address, priceFeedId, stalenessTolerance] = ethers.utils.defaultAbiCoder.decode(\n ['address', 'bytes32', 'uint256'],\n parameters\n );\n\n const parametersDecoded = PythParametersSchema.parse({\n address,\n priceFeedId,\n stalenessTolerance,\n });\n return {\n parameters,\n priceFeedId: parametersDecoded.priceFeedId,\n address: parametersDecoded.address,\n stalenessTolerance: parametersDecoded.stalenessTolerance,\n };\n } catch (error) {\n console.error(`Decoding parameters failed, config:`, configs[i]);\n console.error('parameters: ', parameters);\n console.error(error);\n return null;\n }\n })\n .filter(notNil);\n\n return removeDuplicatesByProp(decoded, 'priceFeedId');\n },\n });\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { useWallet, useNetwork, useProvider } from '@snx-v3/useBlockchain';\nimport { Contract } from 'ethers';\nimport { ZodBigNumber } from '@snx-v3/zod';\nimport { wei } from '@synthetixio/wei';\n\nconst AllowanceSchema = ZodBigNumber.transform((x) => wei(x));\nconst abi = ['function allowance(address, address) view returns (uint256)'];\nexport const useAllowance = ({\n contractAddress,\n spender,\n}: {\n contractAddress?: string;\n spender?: string;\n}) => {\n const wallet = useWallet();\n const provider = useProvider();\n const network = useNetwork();\n\n return useQuery({\n queryKey: [\n network.name,\n 'Allowance',\n { accountAddress: wallet?.address },\n { contractAddress, spender },\n ],\n queryFn: async () => {\n if (!(contractAddress && spender && wallet?.address)) throw new Error('OMG');\n const contract = new Contract(contractAddress, abi, provider);\n const allowance = await contract.allowance(wallet.address, spender);\n return AllowanceSchema.parse(allowance);\n },\n enabled: Boolean(wallet?.address && contractAddress && spender && provider),\n });\n};\n","import { useReducer } from 'react';\nimport { useAllowance } from '@snx-v3/useAllowance';\nimport { BigNumber, ethers } from 'ethers';\nimport { useMutation } from '@tanstack/react-query';\nimport { useProvider, useSigner } from '@snx-v3/useBlockchain';\nimport { initialState, reducer } from '@snx-v3/txnReducer';\nimport { formatGasPriceForTransaction } from '@snx-v3/useGasOptions';\nimport { getGasPrice } from '@snx-v3/useGasPrice';\nimport { useGasSpeed } from '@snx-v3/useGasSpeed';\n\nconst approveAbi = ['function approve(address spender, uint256 amount) returns (bool)'];\n\nexport const useApprove = (\n {\n contractAddress,\n amount,\n spender,\n }: {\n contractAddress?: string;\n amount: BigNumber;\n spender?: string;\n },\n eventHandlers?: {\n onSuccess?: () => void;\n onMutate?: () => void;\n onError?: (e: Error) => void;\n }\n) => {\n const [txnState, dispatch] = useReducer(reducer, initialState);\n const { data: allowance, refetch: refetchAllowance } = useAllowance({ contractAddress, spender });\n\n const sufficientAllowance = Boolean(allowance?.gte(amount));\n\n const signer = useSigner();\n const { gasSpeed } = useGasSpeed();\n const provider = useProvider();\n\n const mutation = useMutation({\n mutationFn: async (infiniteApproval: boolean) => {\n if (!(signer && contractAddress && spender)) return;\n if (sufficientAllowance) return;\n\n try {\n dispatch({ type: 'prompting' });\n\n const contract = new ethers.Contract(contractAddress, approveAbi, signer);\n const amountToAppove = infiniteApproval ? ethers.constants.MaxUint256 : amount;\n\n const gasPricesPromised = getGasPrice({ provider });\n const gasLimitPromised = contract.estimateGas.approve(spender, amountToAppove);\n const populatedTxnPromised = contract.populateTransaction.approve(spender, amountToAppove, {\n gasLimit: gasLimitPromised,\n });\n const [gasPrices, gasLimit, populatedTxn] = await Promise.all([\n gasPricesPromised,\n gasLimitPromised,\n populatedTxnPromised,\n ]);\n\n const gasOptionsForTransaction = formatGasPriceForTransaction({\n gasLimit,\n gasPrices,\n gasSpeed,\n });\n\n const txn = await signer.sendTransaction({ ...populatedTxn, ...gasOptionsForTransaction });\n dispatch({ type: 'pending', payload: { txnHash: txn.hash } });\n\n await txn.wait();\n dispatch({ type: 'success' });\n } catch (error: any) {\n dispatch({ type: 'error', payload: { error } });\n throw error;\n }\n },\n ...eventHandlers,\n });\n return {\n mutation,\n txnState,\n isLoading: mutation.isLoading,\n approve: mutation.mutateAsync,\n refetchAllowance,\n requireApproval: !sufficientAllowance,\n };\n};\n","import { ethers } from 'ethers';\nimport React from 'react';\nimport { EthereumIcon, FailedIcon, OptimismIcon, LogoIcon, BaseIcon } from '@snx-v3/icons';\nimport { INFURA_KEY, ONBOARD_KEY } from '@snx-v3/constants';\nimport onboardInit, { AppState, WalletState } from '@web3-onboard/core';\nimport injectedModule from '@web3-onboard/injected-wallets';\nimport walletConnectModule from '@web3-onboard/walletconnect';\nimport SynthetixIcon from './SynthetixIcon.svg';\nimport SynthetixLogo from './SynthetixLogo.svg';\n\nexport type Network = {\n id: number;\n hexId: string;\n token: string;\n name: string;\n rpcUrl: string;\n label: string;\n Icon: React.FC;\n isSupported: boolean;\n publicRpcUrl: string;\n isTestnet: boolean;\n};\n\nexport const UNSUPPORTED_NETWORK: Network = {\n id: 0,\n hexId: `0x${Number(0).toString(16)}`,\n token: 'ETH',\n name: 'unsupported',\n rpcUrl: '',\n publicRpcUrl: '',\n label: 'Unsupported',\n Icon: () => ,\n isSupported: false,\n isTestnet: false,\n};\n\nexport const NETWORKS: Record = {\n mainnet: {\n id: 1,\n hexId: `0x${Number(1).toString(16)}`,\n token: 'ETH',\n name: 'mainnet',\n rpcUrl: `https://mainnet.infura.io/v3/${INFURA_KEY}`,\n label: 'Ethereum',\n Icon: () => ,\n isSupported: true,\n publicRpcUrl: 'https://ethereum.publicnode.com',\n isTestnet: false,\n },\n 'optimism-mainnet': {\n id: 10,\n hexId: `0x${Number(10).toString(16)}`,\n token: 'ETH',\n name: 'optimism-mainnet',\n rpcUrl: `https://optimism-mainnet.infura.io/v3/${INFURA_KEY}`,\n label: 'Optimism',\n Icon: () => ,\n isSupported: true,\n publicRpcUrl: 'https://mainnet.optimism.io',\n isTestnet: false,\n },\n goerli: {\n id: 5,\n hexId: `0x${Number(5).toString(16)}`,\n token: 'ETH',\n name: 'goerli',\n rpcUrl: `https://goerli.infura.io/v3/${INFURA_KEY}`,\n label: 'Goerli Testnet',\n Icon: () => ,\n isSupported: true,\n publicRpcUrl: 'https://ethereum-goerli.publicnode.com',\n isTestnet: true,\n },\n sepolia: {\n id: 11155111,\n hexId: `0x${Number(11155111).toString(16)}`,\n token: 'ETH',\n name: 'sepolia',\n rpcUrl: `https://sepolia.infura.io/v3/${INFURA_KEY}`,\n label: 'Sepolia Testnet',\n Icon: () => ,\n isSupported: true,\n publicRpcUrl: 'https://ethereum-sepolia.publicnode.com',\n isTestnet: true,\n },\n 'optimism-goerli': {\n id: 420,\n hexId: `0x${Number(420).toString(16)}`,\n token: 'ETH',\n name: 'optimism-goerli',\n rpcUrl: `https://optimism-goerli.infura.io/v3/${INFURA_KEY}`,\n label: 'Optimistic Goerli',\n Icon: () => ,\n isSupported: true,\n publicRpcUrl: 'https://goerli.optimism.io',\n isTestnet: true,\n },\n 'base-goerli': {\n id: 84531,\n hexId: `0x${Number(84531).toString(16)}`,\n token: 'ETH',\n name: 'base-goerli',\n rpcUrl: `https://base-goerli.infura.io/v3/${INFURA_KEY}`,\n label: 'Base Goerli',\n Icon: () => ,\n isSupported: true,\n publicRpcUrl: 'https://base-goerli.publicnode.com',\n isTestnet: true,\n },\n cannon: {\n id: 13370,\n hexId: `0x${Number(13370).toString(16)}`,\n token: 'ETH',\n name: 'cannon',\n rpcUrl: `http://127.0.0.1:8545`,\n label: 'Cannon',\n Icon: () => ,\n isSupported: window.localStorage.getItem('DEFAULT_NETWORK') === 'cannon',\n publicRpcUrl: 'http://127.0.0.1:8545',\n isTestnet: true,\n },\n};\nexport const networksWithERC7412: Record = {\n 'base-goerli': true,\n};\n\nconst DEFAULT_NETWORK_NAME = window.localStorage.getItem('DEFAULT_NETWORK') || 'optimism-mainnet';\nexport const DEFAULT_NETWORK =\n DEFAULT_NETWORK_NAME in NETWORKS ? NETWORKS[DEFAULT_NETWORK_NAME] : NETWORKS['optimism-mainnet'];\n\nconst injected = injectedModule();\nconst walletConnect = walletConnectModule({\n version: 2,\n projectId: `${process.env.NEXT_PUBLIC_WC_PROJECT_ID}`,\n requiredChains: [NETWORKS['mainnet'].id, NETWORKS['optimism-mainnet'].id],\n});\n\nconst wallets = [injected, walletConnect];\n\nconst chains = Object.values(NETWORKS).map((network) => ({\n id: network.hexId,\n token: network.token,\n label: network.label,\n rpcUrl: network.rpcUrl,\n publicRpcUrl: network.publicRpcUrl,\n}));\n\nconst appMetadata = {\n name: 'Synthetix',\n icon: SynthetixIcon,\n logo: SynthetixLogo,\n description: 'Synthetix | The derivatives liquidity protocol.',\n recommendedInjectedWallets: [\n { name: 'MetaMask', url: 'https://metamask.io' },\n { name: 'Brave Wallet', url: 'https://brave.com/wallet' },\n ],\n gettingStartedGuide: 'https://synthetix.io',\n explore: 'https://blog.synthetix.io',\n};\n\nexport const onboard = onboardInit({\n theme: 'dark',\n wallets,\n chains,\n appMetadata,\n apiKey: ONBOARD_KEY,\n accountCenter: {\n desktop: {\n enabled: false,\n },\n mobile: {\n enabled: false,\n },\n },\n notify: {\n enabled: false,\n },\n});\n\nexport const BlockchainContext = React.createContext<{\n onboardState: AppState;\n network: Network;\n setNetwork: React.Dispatch>;\n}>({\n onboardState: onboard.state.get(),\n network: DEFAULT_NETWORK,\n setNetwork: () => null,\n});\n\nexport const BlockchainProvider: React.FC = ({ children }) => {\n const [onboardState, setOnboardState] = React.useState(onboard.state.get());\n const [network, setNetwork] = React.useState(DEFAULT_NETWORK);\n\n const isMounted = React.useRef(false);\n React.useEffect(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n React.useEffect(() => {\n const { unsubscribe } = onboard.state.select().subscribe((nextState) => {\n setOnboardState(nextState);\n\n const [currentWallet] = nextState.wallets;\n if (currentWallet) {\n const [chain] = currentWallet.chains;\n if (chain) {\n const selectedNetwork = Object.values(NETWORKS).find(\n (network) => network.hexId === chain.id\n );\n if (selectedNetwork) {\n setNetwork(selectedNetwork);\n window.localStorage.setItem('DEFAULT_NETWORK', selectedNetwork.name);\n }\n }\n }\n });\n return () => {\n if (isMounted.current) {\n unsubscribe();\n }\n };\n }, []);\n\n return (\n \n {children}\n \n );\n};\n\nexport function useOnboardWallet(): WalletState | undefined {\n const { onboardState } = React.useContext(BlockchainContext);\n const { wallets } = onboardState;\n if (wallets.length < 1) {\n return undefined;\n }\n const [wallet] = wallets;\n\n return wallet;\n}\n\nexport function useNetwork() {\n const { network } = React.useContext(BlockchainContext);\n const wallet = useOnboardWallet();\n if (\n !wallet ||\n !Array.isArray(wallet.chains) ||\n !wallet.chains[0] ||\n !wallet.chains[0].id ||\n wallet.chains[0].id === network.hexId\n ) {\n return network;\n }\n const connectedChain = Object.values(NETWORKS).find(\n (network) => network.hexId === wallet.chains[0].id\n );\n if (connectedChain) {\n return connectedChain;\n }\n return UNSUPPORTED_NETWORK;\n}\n\nexport function useSetNetwork() {\n const { setNetwork } = React.useContext(BlockchainContext);\n const wallet = useOnboardWallet();\n const hasWallet = Boolean(wallet);\n return React.useCallback(\n async (network: Network) => {\n if (hasWallet) {\n await onboard.setChain({ chainId: network.hexId });\n } else {\n setNetwork(network);\n window.localStorage.setItem('DEFAULT_NETWORK', network.name);\n }\n },\n [setNetwork, hasWallet]\n );\n}\n\nexport function useIsConnected(): boolean {\n const wallet = useOnboardWallet();\n return Boolean(wallet);\n}\n\nexport function useProvider() {\n const wallet = useOnboardWallet();\n const network = useNetwork();\n\n if (wallet) {\n return new ethers.providers.Web3Provider(wallet.provider, 'any');\n }\n\n return new ethers.providers.JsonRpcProvider(network.rpcUrl);\n}\n\nexport function useSigner() {\n const wallet = useOnboardWallet();\n\n if (!wallet) {\n return;\n }\n\n const provider = new ethers.providers.Web3Provider(wallet.provider, 'any');\n return provider.getSigner();\n}\n\nexport function useWallet() {\n const wallet = useOnboardWallet();\n if (!wallet) {\n return undefined;\n }\n const [account] = wallet.accounts;\n return account;\n}\n\nexport function preserveConnectedWallets() {\n const walletsSubscription = onboard.state.select('wallets');\n const { unsubscribe } = walletsSubscription.subscribe((wallets) => {\n const connectedWallets = wallets.map(({ label }) => label);\n window.localStorage.setItem('connectedWallets', JSON.stringify(connectedWallets));\n });\n return unsubscribe;\n}\n\nexport async function autoConnect() {\n const connectedWalletsRaw = window.localStorage.getItem('connectedWallets');\n if (!connectedWalletsRaw) {\n return;\n }\n try {\n const [connectedWallet] = JSON.parse(connectedWalletsRaw);\n await onboard.connectWallet({\n autoSelect: { label: connectedWallet, disableModals: true },\n });\n } catch (_e) {\n // whatever\n return;\n }\n}\n\nexport async function disconnect() {\n window.localStorage.removeItem('connectedWallets');\n return await Promise.all(\n onboard.state.get().wallets.map(({ label }) => onboard.disconnectWallet({ label }))\n );\n}\n","import { constants, utils } from 'ethers';\nimport { useQuery } from '@tanstack/react-query';\nimport { CoreProxyType, useCoreProxy } from '@snx-v3/useCoreProxy';\nimport { z } from 'zod';\nimport { useMemo } from 'react';\nimport { ZodBigNumber } from '@snx-v3/zod';\nimport { wei } from '@synthetixio/wei';\nimport { Multicall3Type, useMulticall3 } from '@snx-v3/useMulticall3';\nimport { useNetwork } from '@snx-v3/useBlockchain';\n\nconst CollateralConfigurationSchema = z.object({\n depositingEnabled: z.boolean(),\n issuanceRatioD18: ZodBigNumber.transform((x) => wei(x)),\n liquidationRatioD18: ZodBigNumber.transform((x) => wei(x)),\n liquidationRewardD18: ZodBigNumber.transform((x) => wei(x)),\n oracleNodeId: z.string(),\n tokenAddress: z.string().startsWith('0x'), // As of current version in zod this will be a string: https://github.com/colinhacks/zod/issues/1747\n minDelegationD18: ZodBigNumber.transform((x) => wei(x)),\n});\n\nconst CollateralTypeSchema = CollateralConfigurationSchema.extend({\n symbol: z.string(),\n displaySymbol: z.string(),\n});\n\nexport type CollateralType = z.infer;\n\nconst SymbolSchema = z.string();\nconst ERC20Interface = new utils.Interface(['function symbol() view returns (string)']);\n\nasync function loadSymbols({\n Multicall3,\n tokenConfigs,\n}: {\n Multicall3: Multicall3Type;\n tokenConfigs: z.infer[];\n}) {\n const calls = tokenConfigs.map((tokenConfig) => ({\n target: tokenConfig.tokenAddress,\n callData: ERC20Interface.encodeFunctionData('symbol'),\n }));\n const multicallResult = await Multicall3.callStatic.aggregate(calls);\n return multicallResult.returnData.map((bytes: string) =>\n SymbolSchema.parse(ERC20Interface.decodeFunctionResult('symbol', bytes)[0])\n );\n}\n\nasync function loadCollateralTypes({\n CoreProxy,\n Multicall3,\n}: {\n CoreProxy: CoreProxyType;\n Multicall3: Multicall3Type;\n}): Promise {\n const hideDisabled = true;\n const tokenConfigsRaw = await CoreProxy.getCollateralConfigurations(hideDisabled);\n const tokenConfigs = tokenConfigsRaw\n .map((x) => CollateralConfigurationSchema.parse({ ...x }))\n .filter(({ depositingEnabled }) => depositingEnabled); // sometimes we get back disabled ones, even though we ask for only enabled ones\n\n const symbols = await loadSymbols({ Multicall3, tokenConfigs });\n\n return tokenConfigs.map((config, i) => ({\n depositingEnabled: config.depositingEnabled,\n issuanceRatioD18: config.issuanceRatioD18,\n liquidationRatioD18: config.liquidationRatioD18,\n liquidationRewardD18: config.liquidationRewardD18,\n minDelegationD18: config.minDelegationD18,\n oracleNodeId: config.oracleNodeId,\n tokenAddress: config.tokenAddress,\n symbol: symbols[i],\n displaySymbol: symbols[i] === 'WETH' ? 'ETH' : symbols[i],\n }));\n}\n\nexport function useCollateralTypes(includeDelegationOff = false) {\n const network = useNetwork();\n const { data: CoreProxy } = useCoreProxy();\n const { data: Multicall3 } = useMulticall3();\n\n return useQuery({\n queryKey: [network.name, 'CollateralTypes', { includeDelegationOff }],\n queryFn: async () => {\n if (!CoreProxy || !Multicall3)\n throw Error('Query should not be enabled when contracts missing');\n const collateralTypes = await loadCollateralTypes({ CoreProxy, Multicall3 });\n if (includeDelegationOff) {\n return collateralTypes;\n }\n\n // By default we only return collateral types that have minDelegationD18 < MaxUint256\n // When minDelegationD18 === MaxUint256, delegation is effectively disabled\n return collateralTypes.filter((x) => {\n return x.minDelegationD18.lt(constants.MaxUint256);\n });\n },\n // one hour in ms\n staleTime: 60 * 60 * 1000,\n placeholderData: [],\n enabled: Boolean(CoreProxy && Multicall3),\n });\n}\n\nexport function useCollateralType(collateralSymbol?: string) {\n const { data: collateralTypes, isLoading, error } = useCollateralTypes();\n\n return {\n isLoading,\n error,\n data: useMemo(() => {\n if (!collateralTypes || !collateralTypes?.length) {\n return;\n }\n if (!collateralSymbol) {\n return collateralTypes[0];\n }\n return collateralTypes.find(\n (collateral) => `${collateral.symbol}`.toLowerCase() === `${collateralSymbol}`.toLowerCase()\n );\n }, [collateralSymbol, collateralTypes]),\n };\n}\n","import { ethers, utils } from 'ethers';\nimport { useCallback } from 'react';\nimport { ERC7412_ABI } from '@snx-v3/withERC7412';\n\nexport type ContractErrorType = {\n data: string;\n name: string;\n signature: string;\n args: Record;\n};\n\nexport function useContractErrorParser(Contract?: ethers.Contract) {\n return useCallback(\n (error: any): ContractErrorType | undefined => {\n if (!Contract) {\n return undefined;\n }\n try {\n const errorData = error?.error?.data?.data || error?.error?.error?.data; // add more options as we find them\n if (!errorData) {\n console.error({ error }); // intentional logging as object so we can inspect all properties\n return undefined;\n }\n\n const contractAbi = Contract.interface.format(utils.FormatTypes.full) as string[];\n const newContract = new ethers.Contract(\n Contract.address,\n Array.from(\n new Set(\n contractAbi.concat(ERC7412_ABI).concat([\n // ERC721 errors\n 'error CannotSelfApprove(address addr)',\n 'error InvalidTransferRecipient(address addr)',\n 'error InvalidOwner(address addr)',\n 'error TokenDoesNotExist(uint256 id)',\n 'error TokenAlreadyMinted(uint256 id)',\n ])\n )\n ), // uniq\n Contract.signer || Contract.provider\n );\n const errorParsed = newContract.interface.parseError(errorData);\n const errorArgs = Object.fromEntries(\n Object.entries(errorParsed.args)\n .filter(([key]) => `${parseInt(key)}` !== key)\n .map(([key, value]) => {\n if (value instanceof ethers.BigNumber) {\n // Guess wei\n const unwei = parseFloat(ethers.utils.formatEther(value.toString()));\n if (unwei > 0.001) {\n // must be wei\n return [key, unwei];\n }\n\n // Guess date\n if (\n value.toNumber() > new Date(2000, 1, 1).getTime() / 1000 &&\n value.toNumber() < new Date(2100, 1, 1).getTime() / 1000\n ) {\n return [key, new Date(value.toNumber() * 1000)];\n }\n\n // Just a number\n return [key, parseFloat(value.toString())];\n }\n\n // Not a number\n return [key, value];\n })\n );\n\n return {\n data: errorData,\n name: errorParsed.name,\n signature: errorParsed.signature,\n args: errorArgs,\n };\n } catch (e) {\n console.error(e);\n return undefined;\n }\n },\n [Contract]\n );\n}\n","import { Contract } from '@ethersproject/contracts';\nimport { useQuery } from '@tanstack/react-query';\nimport { useNetwork, useProvider, useSigner } from '@snx-v3/useBlockchain';\nimport type { CoreProxy as CoreProxyCannon } from '@synthetixio/v3-contracts/build/cannon/CoreProxy';\nimport type { CoreProxy as CoreProxyMainnet } from '@synthetixio/v3-contracts/build/mainnet/CoreProxy';\nimport type { CoreProxy as CoreProxyGoerli } from '@synthetixio/v3-contracts/build/goerli/CoreProxy';\nimport type { CoreProxy as CoreProxySepolia } from '@synthetixio/v3-contracts/build/sepolia/CoreProxy';\nimport type { CoreProxy as CoreProxyOptimismMainnet } from '@synthetixio/v3-contracts/build/optimism-mainnet/CoreProxy';\nimport type { CoreProxy as CoreProxyOptimismGoerli } from '@synthetixio/v3-contracts/build/optimism-goerli/CoreProxy';\nimport type { CoreProxy as CoreProxyBaseGoerli } from '@synthetixio/v3-contracts/build/base-goerli/CoreProxy';\n\nexport type CoreProxyType =\n | CoreProxyCannon\n | CoreProxyMainnet\n | CoreProxyGoerli\n | CoreProxySepolia\n | CoreProxyOptimismMainnet\n | CoreProxyOptimismGoerli\n | CoreProxyBaseGoerli;\n\nexport async function importCoreProxy(\n chainName: string\n): Promise<{ address: string; abi: string[] }> {\n switch (chainName) {\n case 'cannon':\n return import('@synthetixio/v3-contracts/build/cannon/CoreProxy');\n case 'mainnet':\n return import('@synthetixio/v3-contracts/build/mainnet/CoreProxy');\n case 'goerli':\n return import('@synthetixio/v3-contracts/build/goerli/CoreProxy');\n case 'sepolia':\n return import('@synthetixio/v3-contracts/build/sepolia/CoreProxy');\n case 'optimism-mainnet':\n return import('@synthetixio/v3-contracts/build/optimism-mainnet/CoreProxy');\n case 'optimism-goerli':\n return import('@synthetixio/v3-contracts/build/optimism-goerli/CoreProxy');\n case 'base-goerli':\n return import('@synthetixio/v3-contracts/build/base-goerli/CoreProxy');\n default:\n throw new Error(`Unsupported chain ${chainName}`);\n }\n}\n\nexport function useCoreProxy() {\n const network = useNetwork();\n const provider = useProvider();\n const signer = useSigner();\n const signerOrProvider = signer || provider;\n const withSigner = Boolean(signer);\n\n return useQuery({\n queryKey: [network.name, 'CoreProxy', { withSigner }],\n queryFn: async function () {\n const { address, abi } = await importCoreProxy(network.name);\n return new Contract(address, abi, signerOrProvider) as CoreProxyType;\n },\n enabled: Boolean(signerOrProvider),\n staleTime: Infinity,\n cacheTime: Infinity,\n });\n}\n","import { useQuery } from '@tanstack/react-query';\nimport { useWallet, useNetwork, useProvider } from '@snx-v3/useBlockchain';\nimport { ZodBigNumber } from '@snx-v3/zod';\nimport { wei } from '@synthetixio/wei';\nimport { InfuraProvider } from '@ethersproject/providers';\n\nconst BalanceSchema = ZodBigNumber.transform((x) => wei(x));\n\nexport function useEthBalance(networkId?: number) {\n const wallet = useWallet();\n const connectedProvider = useProvider();\n const network = useNetwork();\n\n return useQuery({\n queryKey: [network.name, 'EthBalance', { accountAddress: wallet?.address }],\n queryFn: async () => {\n if (!wallet?.address) throw Error('useEthBalance should not be enabled');\n const provider =\n networkId && networkId !== network.id\n ? new InfuraProvider(networkId, process.env.NEXT_PUBLIC_INFURA_PROJECT_ID)\n : connectedProvider;\n return BalanceSchema.parse(await provider.getBalance(wallet.address));\n },\n enabled: Boolean((networkId ?? network.id) && wallet?.address),\n });\n}\n","import type { GasPrices } from '@snx-v3/useGasPrice';\nimport type { BigNumber } from '@ethersproject/bignumber';\nimport { wei } from '@synthetixio/wei';\nimport { GWEI_DECIMALS, GAS_LIMIT_MULTIPLIER } from '@snx-v3/constants';\n\n// Note it looks like gas limit estimation is coming in higher slightly higher than what gets used according to etherscan\n// Will try without a buffer, if we get user report of out of gas we can increase it again.\nconst GAS_LIMIT_BUFFER = wei(GAS_LIMIT_MULTIPLIER, GWEI_DECIMALS);\n\nfunction addGasLimitBuffer(gasLimit?: BigNumber) {\n return wei(gasLimit ?? 0, GWEI_DECIMALS)\n .mul(GAS_LIMIT_BUFFER)\n .toBN();\n}\n\nexport function formatGasPriceForTransaction({\n gasPrices,\n gasSpeed,\n gasLimit,\n}: {\n gasPrices: GasPrices;\n gasSpeed: keyof GasPrices;\n gasLimit: BigNumber;\n}) {\n const gasPrice = gasPrices[gasSpeed];\n if ('baseFeePerGas' in gasPrice) {\n const { baseFeePerGas: _baseFeePerGas, ...gasPriceToReturn } = gasPrice;\n return { ...gasPriceToReturn, gasLimit: addGasLimitBuffer(gasLimit) };\n }\n return { ...gasPrice, gasLimit: addGasLimitBuffer(gasLimit) };\n}\n","// copied from npm package: moving-averages\n// Only grabbed what we needed and added types\nexport const isNumber = (subject: unknown) =>\n typeof subject === 'number' &&\n // is not NaN: `NaN === NaN` => `false`\n subject === subject;\n\nexport const dma = (data: number[], alpha: number, noHead?: boolean): number[] => {\n const length = data.length;\n\n if (alpha > 1) {\n return Array(length);\n }\n\n if (alpha === 1) {\n return data.slice();\n }\n\n const noArrayWeight = !Array.isArray(alpha);\n const ret = [];\n\n let datum;\n\n // period `i`\n let i = 0;\n\n // `s` is the value of the DWMA at any time period `i`\n let s = 0;\n\n // Handles head\n for (; i < length; i++) {\n datum = data[i];\n\n if (isNumber(datum) && (noArrayWeight || isNumber(datum))) {\n ret[i] = noHead ? 0 : datum;\n\n s = datum;\n i++;\n\n break;\n }\n }\n\n // Dynamic weights: an array of weights\n // Ref:\n // https://en.wikipedia.org/wiki/Moving_average#Exponential_moving_average\n // with a dynamic alpha\n if (!noArrayWeight) {\n for (; i < length; i++) {\n datum = data[i];\n\n isNumber(datum) && isNumber(alpha[i])\n ? (s = ret[i] = alpha[i] * datum + (1 - alpha[i]) * s)\n : (ret[i] = ret[i - 1]);\n }\n\n return ret;\n }\n\n const o = 1 - alpha;\n\n // Fixed alpha\n for (; i < length; i++) {\n datum = data[i];\n\n isNumber(datum) ? (s = ret[i] = alpha * datum + o * s) : (ret[i] = ret[i - 1]);\n }\n\n return ret;\n};\n\nexport const ema = (data: number[], size: number) => dma(data, 2 / (size + 1));\n","import { Wei } from '@synthetixio/wei';\n\nexport const rewardsFilterOutliers = (\n blocksRewards: Wei[][],\n outlierBlocks: number[],\n rewardIndex: number\n) =>\n blocksRewards\n .filter((_, index) => !outlierBlocks.includes(index))\n .map((reward) => reward[rewardIndex].toNumber());\n\nexport const getOutlierBlocksToRemove = (blocksRewards: Wei[][], index: number) => {\n const blocks: number[] = [];\n blocksRewards\n .map((reward) => reward[index])\n .forEach((gweiReward, i) => {\n if (gweiReward.gt(5)) {\n blocks.push(i);\n }\n });\n return blocks;\n};\n","/**\n * This module is heavily inspired by https://github.com/rainbow-me/fee-suggestions\n * That library have some hardcoded min and max that doesn't make sense for optimism. See: https://github.com/rainbow-me/fee-suggestions/blob/main/src/index.ts#L165\n *\n * So I changed min max a bit\n *\n * That library is also a bit overkill in how it calculates maxFeePerGas per gas. It's using linear regression and sampling curves.\n * Instead of doing that, this module calculates max by taking (previous baseFeePerGas * 2) + maxPriorityFeePerGas.\n *\n * The calculation for maxPriorityFeePerGas I kept quite complex since that will affect what the user actually pay..\n * It's calculated based on the Exponential Moving Average (EMA) of the block rewards at the 15th, 30th, and 45th percentiles, after removing the outliers.\n *\n * The other differences is that I also rely on our Wei library.\n *\n */\nimport { ethers } from 'ethers';\nimport { ema } from './math';\nimport { getOutlierBlocksToRemove, rewardsFilterOutliers } from './utils';\nimport { wei, Wei } from '@synthetixio/wei';\nimport { GWEI_DECIMALS } from '@snx-v3/constants';\n\ntype Reward = string[];\ntype GasUsedRatio = number[];\ninterface FeeHistoryResponse {\n baseFeePerGas: string[];\n gasUsedRatio: GasUsedRatio;\n oldestBlock: number;\n reward: Reward[];\n}\n\nconst defaultForLocalProvider = () => {\n const baseFeePerGas = wei(1, 9).toBN();\n const maxFeePerGas = wei(5, 9).toBN();\n const maxPriorityFeePerGas = wei(1, 9).toBN();\n return {\n average: {\n maxPriorityFeePerGas,\n maxFeePerGas,\n baseFeePerGas,\n },\n fast: {\n maxPriorityFeePerGas,\n maxFeePerGas,\n baseFeePerGas,\n },\n fastest: {\n maxPriorityFeePerGas,\n maxFeePerGas,\n baseFeePerGas,\n },\n };\n};\nexport const feeSuggestion = async (\n provider: ethers.providers.JsonRpcProvider,\n fromBlock = 'latest'\n) => {\n // If local or base-goerli, use defaults\n // Base goerli sometimes doesn't have enough tx we can use to estimate the priority fee, when this happens the tx will get \"tx underprices\"\n if (provider.network.chainId === 13370 || provider.network.chainId === 84531) {\n return defaultForLocalProvider();\n }\n const feeHistory = await provider\n .send('eth_feeHistory', [\n ethers.utils.hexStripZeros(ethers.utils.hexlify(10)),\n fromBlock,\n [15, 30, 45],\n ])\n .then((feeHistoryResponse: FeeHistoryResponse) => {\n return {\n baseFeePerGas: feeHistoryResponse.baseFeePerGas.map((x) => wei(x, GWEI_DECIMALS, true)),\n reward: feeHistoryResponse.reward.map((x) => x.map((num) => wei(num, GWEI_DECIMALS, true))),\n };\n });\n const blocksRewards = feeHistory.reward;\n const baseFeePerGas = feeHistory.baseFeePerGas.at(-1);\n\n if (!blocksRewards.length) throw new Error('Error: block reward was empty');\n if (!baseFeePerGas) throw new Error('Error: currentBaseFee was empty');\n\n const outlierBlocks = getOutlierBlocksToRemove(blocksRewards, 0);\n\n const blocksRewardsPerc15 = rewardsFilterOutliers(blocksRewards, outlierBlocks, 0);\n const blocksRewardsPerc30 = rewardsFilterOutliers(blocksRewards, outlierBlocks, 1);\n const blocksRewardsPerc45 = rewardsFilterOutliers(blocksRewards, outlierBlocks, 2);\n\n const emaPerc15 = ema(blocksRewardsPerc15, blocksRewardsPerc15.length)[\n blocksRewardsPerc15.length - 1\n ];\n const emaPerc30 = ema(blocksRewardsPerc30, blocksRewardsPerc30.length)[\n blocksRewardsPerc30.length - 1\n ];\n const emaPerc45 = ema(blocksRewardsPerc45, blocksRewardsPerc45.length)[\n blocksRewardsPerc45.length - 1\n ];\n\n if (emaPerc15 === undefined || emaPerc30 === undefined || emaPerc45 === undefined) {\n throw new Error('Error: ema was undefined');\n }\n\n const averageMaxPriorityFee = wei(Math.min(emaPerc15, 1), GWEI_DECIMALS);\n const fastMaxPriorityFee = wei(Math.min(emaPerc30, 2), GWEI_DECIMALS);\n const fastestMaxPriorityFee = wei(Math.min(emaPerc45, 4), GWEI_DECIMALS);\n\n const baseFeeToMax = (base: Wei, prio: Wei) => base.mul(wei(2, GWEI_DECIMALS)).add(prio);\n return {\n average: {\n maxPriorityFeePerGas: averageMaxPriorityFee.toBN(),\n maxFeePerGas: baseFeeToMax(baseFeePerGas, averageMaxPriorityFee).toBN(),\n baseFeePerGas: baseFeePerGas.toBN(),\n },\n fast: {\n maxPriorityFeePerGas: fastMaxPriorityFee.toBN(),\n maxFeePerGas: baseFeeToMax(baseFeePerGas, fastMaxPriorityFee).toBN(),\n baseFeePerGas: baseFeePerGas.toBN(),\n },\n fastest: {\n maxPriorityFeePerGas: fastestMaxPriorityFee.toBN(),\n maxFeePerGas: baseFeeToMax(baseFeePerGas, fastestMaxPriorityFee).toBN(),\n baseFeePerGas: baseFeePerGas.toBN(),\n },\n };\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { ethers } from 'ethers';\nimport { useNetwork, useProvider } from '@snx-v3/useBlockchain';\nimport { feeSuggestion } from '@snx-v3/feeSuggestion';\n\nconst getGasPriceFromProvider = async (provider: ethers.providers.JsonRpcProvider) => {\n try {\n const gasPrice = await provider.getGasPrice();\n return {\n fastest: { gasPrice },\n fast: { gasPrice },\n average: { gasPrice },\n };\n } catch (e) {\n throw new Error('Could not retrieve gas price from provider');\n }\n};\n\nexport const getGasPrice = async ({ provider }: { provider: ethers.providers.JsonRpcProvider }) => {\n try {\n const block = await provider.getBlock('latest');\n if (block.baseFeePerGas) {\n return feeSuggestion(provider);\n }\n // When missing baseFeePerGas we get the Gas Price through the provider\n return getGasPriceFromProvider(provider);\n } catch (e) {\n throw new Error(`Could not fetch and compute network fee. ${e}`);\n }\n};\n\nexport type GasPrices = Awaited>;\n\nexport const useGasPrice = () => {\n const network = useNetwork();\n const provider = useProvider();\n\n return useQuery({\n enabled: Boolean(provider),\n queryKey: [network.name, 'GasPrice'],\n queryFn: () => getGasPrice({ provider }),\n });\n};\n","import React, {\n createContext,\n useState,\n PropsWithChildren,\n Dispatch,\n SetStateAction,\n useContext,\n} from 'react';\n\nexport type GasSpeed = 'average' | 'fast' | 'fastest';\n\nexport const GasSpeedContext = createContext<{\n gasSpeed: GasSpeed;\n setGasSpeed: Dispatch>;\n}>({\n gasSpeed: 'average',\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n setGasSpeed: () => {},\n});\n\nexport const GasSpeedProvider: React.FC = ({ children }) => {\n const [gasSpeed, setGasSpeed] = useState('average');\n return (\n \n {children}\n \n );\n};\n\nexport const useGasSpeed = () => {\n return useContext(GasSpeedContext);\n};\n","import { Contract } from '@ethersproject/contracts';\nimport { useQuery } from '@tanstack/react-query';\nimport { useNetwork, useProvider, useSigner } from '@snx-v3/useBlockchain';\nimport type { Multicall3 as Multicall3Cannon } from '@synthetixio/v3-contracts/build/cannon/Multicall3';\nimport type { Multicall3 as Multicall3Mainnet } from '@synthetixio/v3-contracts/build/mainnet/Multicall3';\nimport type { Multicall3 as Multicall3Goerli } from '@synthetixio/v3-contracts/build/goerli/Multicall3';\nimport type { Multicall3 as Multicall3Sepolia } from '@synthetixio/v3-contracts/build/sepolia/Multicall3';\nimport type { Multicall3 as Multicall3OptimismMainnet } from '@synthetixio/v3-contracts/build/optimism-mainnet/Multicall3';\nimport type { Multicall3 as Multicall3OptimismGoerli } from '@synthetixio/v3-contracts/build/optimism-goerli/Multicall3';\nimport type { Multicall3 as Multicall3BaseGoerli } from '@synthetixio/v3-contracts/build/base-goerli/Multicall3';\n\nexport type Multicall3Type =\n | Multicall3Cannon\n | Multicall3Mainnet\n | Multicall3Goerli\n | Multicall3Sepolia\n | Multicall3OptimismMainnet\n | Multicall3OptimismGoerli\n | Multicall3BaseGoerli;\n\nexport async function importMulticall3(\n chainName: string\n): Promise<{ address: string; abi: string[] }> {\n switch (chainName) {\n case 'cannon':\n return import('@synthetixio/v3-contracts/build/cannon/Multicall3');\n case 'mainnet':\n return import('@synthetixio/v3-contracts/build/mainnet/Multicall3');\n case 'goerli':\n return import('@synthetixio/v3-contracts/build/goerli/Multicall3');\n case 'sepolia':\n return import('@synthetixio/v3-contracts/build/sepolia/Multicall3');\n case 'optimism-mainnet':\n return import('@synthetixio/v3-contracts/build/optimism-mainnet/Multicall3');\n case 'optimism-goerli':\n return import('@synthetixio/v3-contracts/build/optimism-goerli/Multicall3');\n case 'base-goerli':\n return import('@synthetixio/v3-contracts/build/base-goerli/Multicall3');\n default:\n throw new Error(`Unsupported chain ${chainName}`);\n }\n}\n\nexport function useMulticall3() {\n const network = useNetwork();\n const provider = useProvider();\n const signer = useSigner();\n const signerOrProvider = signer || provider;\n const withSigner = Boolean(signer);\n\n return useQuery({\n queryKey: [network.name, 'Multicall3', { withSigner }],\n queryFn: async function () {\n const { address, abi } = await importMulticall3(network.name);\n return new Contract(address, abi, signerOrProvider) as Multicall3Type;\n },\n enabled: Boolean(signerOrProvider),\n staleTime: Infinity,\n cacheTime: Infinity,\n });\n}\n","import { useParams as useParamsRouter, useSearchParams } from 'react-router-dom';\nimport { useMemo } from 'react';\n\nexport function searchParamsToObject(searchParams: URLSearchParams) {\n return Object.fromEntries(Array.from(searchParams));\n}\n\nexport function sortObject(params: Record): Record {\n return Object.fromEntries(Object.entries(params).sort(([a], [b]) => a.localeCompare(b)));\n}\n\nexport function cleanObject(params: Record): Record {\n const cleaned = Object.entries(params).filter(([, value]) => value !== undefined) as [\n [string, string],\n ];\n return Object.fromEntries(cleaned);\n}\n\nexport const useParams = (): Record => {\n const pathParams = useParamsRouter();\n const [queryParams] = useSearchParams();\n\n return useMemo(\n () => sortObject({ ...cleanObject(pathParams), ...searchParamsToObject(queryParams) }),\n [pathParams, queryParams]\n );\n};\n","import { useQuery } from '@tanstack/react-query';\nimport { useCoreProxy } from '@snx-v3/useCoreProxy';\nimport { useNetwork } from '@snx-v3/useBlockchain';\nimport { ZodBigNumber } from '@snx-v3/zod';\nimport { z } from 'zod';\nimport { ethers } from 'ethers';\n\nexport const PoolIdSchema = ZodBigNumber.transform((x) => x.toString());\n\nexport const PoolSchema = z.object({\n id: PoolIdSchema,\n name: z.string().default('Unnamed Pool'),\n isPreferred: z.boolean(),\n});\nexport type PoolType = z.infer;\n\nexport const PoolsSchema = z.array(PoolSchema);\nexport type PoolsType = z.infer;\n\nexport function usePools() {\n const network = useNetwork();\n const { data: CoreProxy } = useCoreProxy();\n\n return useQuery({\n enabled: Boolean(CoreProxy),\n queryKey: [network.name, 'Pools'],\n queryFn: async () => {\n if (!CoreProxy) throw 'usePools is missing required data';\n\n const [preferredPoolIdRaw, approvedPoolIdsRaw] = await CoreProxy.callStatic.multicall([\n CoreProxy.interface.encodeFunctionData('getPreferredPool'),\n CoreProxy.interface.encodeFunctionData('getApprovedPools'),\n ]);\n\n const [preferredPoolId] = CoreProxy.interface.decodeFunctionResult(\n 'getPreferredPool',\n preferredPoolIdRaw\n );\n const [approvedPoolIds] = CoreProxy.interface.decodeFunctionResult(\n 'getApprovedPools',\n approvedPoolIdsRaw\n );\n\n const incompletePools = [\n {\n id: preferredPoolId,\n isPreferred: true,\n },\n ].concat(\n approvedPoolIds.map((id: ethers.BigNumber) => ({\n id,\n isPreferred: false,\n }))\n );\n\n const poolNamesRaw = await CoreProxy.callStatic.multicall(\n incompletePools.map(({ id }) => CoreProxy.interface.encodeFunctionData('getPoolName', [id]))\n );\n\n const poolNames = poolNamesRaw.map(\n (bytes: string) => CoreProxy.interface.decodeFunctionResult('getPoolName', bytes)[0]\n );\n\n const poolsRaw = incompletePools.map(({ id, isPreferred }, i) => ({\n id,\n isPreferred,\n name: poolNames[i],\n }));\n\n const pools = PoolsSchema.parse(poolsRaw);\n\n return pools;\n },\n });\n}\n\nexport function usePool(poolId?: string) {\n const { isLoading, error, data } = usePools();\n\n return {\n isLoading,\n error,\n data: data?.find((item) => item.id === poolId),\n };\n}\n\nexport function usePreferredPool() {\n const { isLoading, error, data } = usePools();\n\n return {\n isLoading,\n error,\n data: data?.find((item) => item.isPreferred),\n };\n}\n","import { assertAddressType } from '@snx-v3/assertAddressType';\nimport { wei } from '@synthetixio/wei';\nimport { useQuery } from '@tanstack/react-query';\nimport { useWallet, useNetwork, useProvider } from '@snx-v3/useBlockchain';\nimport { Contract } from 'ethers';\nimport { ZodBigNumber } from '@snx-v3/zod';\nimport { InfuraProvider } from '@ethersproject/providers';\n\nconst BalanceSchema = ZodBigNumber.transform((x) => wei(x));\nconst abi = ['function balanceOf(address) view returns (uint256)'];\n\nexport const useTokenBalance = (address?: string, networkId?: number) => {\n const wallet = useWallet();\n const connectedProvider = useProvider();\n const network = useNetwork();\n\n const tokenAddress = assertAddressType(address) ? address : undefined;\n const networkIdToUse = networkId ?? network.id;\n return useQuery({\n queryKey: [network.name, 'TokenBalance', { accountAddress: wallet?.address }, { tokenAddress }],\n queryFn: async () => {\n if (!tokenAddress || !wallet?.address) throw Error('Query should not be enabled');\n const provider =\n networkId && networkId !== network.id\n ? new InfuraProvider(networkId, process.env.NEXT_PUBLIC_INFURA_PROJECT_ID)\n : connectedProvider;\n const contract = new Contract(tokenAddress, abi, provider);\n\n return BalanceSchema.parse(await contract.balanceOf(wallet.address));\n },\n enabled: Boolean(networkIdToUse && wallet?.address && tokenAddress),\n refetchInterval: 5000,\n });\n};\n","export function assertAddressType(tokenAddress?: string): tokenAddress is `0x${string}` {\n return tokenAddress ? tokenAddress.startsWith('0x') : false;\n}\n","import { Contract } from '@ethersproject/contracts';\nimport { useQuery } from '@tanstack/react-query';\nimport type { JsonRpcProvider } from '@ethersproject/providers';\nimport { useNetwork, useProvider, useSigner, NETWORKS } from '@snx-v3/useBlockchain';\nimport type { USDProxy as USDProxyCannon } from '@synthetixio/v3-contracts/build/cannon/USDProxy';\nimport type { USDProxy as USDProxyMainnet } from '@synthetixio/v3-contracts/build/mainnet/USDProxy';\nimport type { USDProxy as USDProxyGoerli } from '@synthetixio/v3-contracts/build/goerli/USDProxy';\nimport type { USDProxy as USDProxySepolia } from '@synthetixio/v3-contracts/build/sepolia/USDProxy';\nimport type { USDProxy as USDProxyOptimismMainnet } from '@synthetixio/v3-contracts/build/optimism-mainnet/USDProxy';\nimport type { USDProxy as USDProxyOptimismGoerli } from '@synthetixio/v3-contracts/build/optimism-goerli/USDProxy';\nimport type { USDProxy as USDProxyBaseGoerli } from '@synthetixio/v3-contracts/build/base-goerli/USDProxy';\n\nexport type USDProxyType =\n | USDProxyCannon\n | USDProxyMainnet\n | USDProxyGoerli\n | USDProxySepolia\n | USDProxyOptimismMainnet\n | USDProxyOptimismGoerli\n | USDProxyBaseGoerli;\n\nexport async function importUSDProxy(chainName: string) {\n switch (chainName) {\n case 'cannon':\n return import('@synthetixio/v3-contracts/build/cannon/USDProxy');\n case 'mainnet':\n return import('@synthetixio/v3-contracts/build/mainnet/USDProxy');\n case 'goerli':\n return import('@synthetixio/v3-contracts/build/goerli/USDProxy');\n case 'sepolia':\n return import('@synthetixio/v3-contracts/build/sepolia/USDProxy');\n case 'optimism-mainnet':\n return import('@synthetixio/v3-contracts/build/optimism-mainnet/USDProxy');\n case 'optimism-goerli':\n return import('@synthetixio/v3-contracts/build/optimism-goerli/USDProxy');\n case 'base-goerli':\n return import('@synthetixio/v3-contracts/build/base-goerli/USDProxy');\n default:\n throw new Error(`Unsupported chain ${chainName}`);\n }\n}\n\nconst networks = Object.values(NETWORKS);\n\nexport function useUSDProxy(nonConnectedProvider?: JsonRpcProvider) {\n const network = useNetwork();\n const provider = useProvider();\n const signer = useSigner();\n\n const providerToUse = nonConnectedProvider || provider;\n const signerOrProvider = signer || providerToUse;\n const withSigner = Boolean(signer);\n\n const nonConnectedNetworkName = networks.find(\n (n) => n.id === nonConnectedProvider?.network.chainId\n )?.name;\n const networkName = nonConnectedNetworkName || network.name;\n\n return useQuery({\n queryKey: [networkName, 'USDProxy', { withSigner }],\n queryFn: async function () {\n const { address, abi } = await importUSDProxy(networkName);\n return new Contract(address, abi, signerOrProvider) as USDProxyType;\n },\n enabled: Boolean(signerOrProvider),\n staleTime: Infinity,\n cacheTime: Infinity,\n });\n}\n","import { useSigner } from '@snx-v3/useBlockchain';\nimport { useCollateralType } from '@snx-v3/useCollateralTypes';\nimport { useEthBalance } from '@snx-v3/useEthBalance';\nimport { useTokenBalance } from '@snx-v3/useTokenBalance';\nimport { Contract } from 'ethers';\nimport { useMutation } from '@tanstack/react-query';\nimport Wei from '@synthetixio/wei';\nimport { useCallback } from 'react';\n\nconst minimalWETHABI = ['function deposit() payable', 'function withdraw(uint256 wad)'];\n\nexport const useWrapEth = () => {\n const signer = useSigner();\n\n const { data: ethCollateral } = useCollateralType('WETH');\n const { data: ethBalance, refetch: refetchETHBalance } = useEthBalance();\n const { data: wethBalance, refetch: refetchWETHBalance } = useTokenBalance(\n ethCollateral?.tokenAddress\n );\n\n const { mutateAsync, isLoading } = useMutation({\n mutationFn: async (amount: Wei) => {\n if (!ethCollateral || !signer) return;\n const contract = new Contract(ethCollateral?.tokenAddress, minimalWETHABI, signer);\n const txn = await contract.deposit({ value: amount.toBN() });\n await txn.wait();\n },\n });\n const exec = useCallback(\n async (amount: Wei) => {\n if (!ethBalance) return;\n if (ethBalance.lt(amount)) return;\n\n await mutateAsync(amount);\n refetchETHBalance();\n refetchWETHBalance();\n },\n [ethBalance, mutateAsync, refetchETHBalance, refetchWETHBalance]\n );\n return {\n exec,\n isLoading,\n wethBalance,\n ethBalance,\n };\n};\n\nexport const useUnWrapEth = () => {\n const signer = useSigner();\n\n const { data: ethCollateral } = useCollateralType('WETH');\n const { data: ethBalance, refetch: refetchETHBalance } = useEthBalance();\n const { data: wethBalance, refetch: refetchWETHBalance } = useTokenBalance(\n ethCollateral?.tokenAddress\n );\n\n const { mutateAsync, isLoading } = useMutation({\n mutationFn: async (amount: Wei) => {\n if (!ethCollateral || !signer) return;\n const contract = new Contract(ethCollateral?.tokenAddress, minimalWETHABI, signer);\n const txn = await contract.withdraw(amount.toBN());\n await txn.wait();\n },\n });\n\n const exec = useCallback(\n async (amount: Wei) => {\n if (!wethBalance) return;\n if (wethBalance.lt(amount)) return;\n await mutateAsync(amount);\n await Promise.all([refetchETHBalance(), refetchWETHBalance()]);\n },\n [mutateAsync, refetchETHBalance, refetchWETHBalance, wethBalance]\n );\n\n return {\n exec,\n isLoading,\n wethBalance,\n ethBalance,\n };\n};\n","interface CacheItem {\n timestamp: number;\n value: T;\n}\n\ninterface Cache {\n [key: string]: CacheItem | undefined;\n}\n\nconst cache: Cache = {};\ntype MaybeString = 'no-cache' | undefined;\n\n/**\n * This function, `withMemoryCache`, takes a function as an argument.\n * The passed function can optionally be given an extra argument to bypass the cache.\n * If the last argument passed to `func` is `true`, the cache will be bypassed.\n * Otherwise, the function will use the cache, if available.\n */\nexport const withMemoryCache = (\n func: (...args: T) => Promise,\n cacheDuration: number\n) => {\n return async (...args: [...T, MaybeString]): Promise => {\n const lastArg = args[args.length - 1];\n const bypassCache = lastArg === 'no-cache';\n const funcArgs = (bypassCache ? args.slice(0, -1) : args) as T;\n const cacheKey = JSON.stringify(funcArgs);\n const currentTime = Date.now();\n\n if (!bypassCache) {\n const cacheItem = cache[cacheKey] as CacheItem | undefined;\n if (cacheItem && currentTime - cacheItem.timestamp < cacheDuration) {\n return cacheItem.value;\n }\n }\n\n const result = await func(...funcArgs);\n\n cache[cacheKey] = {\n timestamp: currentTime,\n value: result,\n };\n\n return result;\n };\n};\n","/* eslint-disable no-console */\nimport { BigNumber, ethers, providers } from 'ethers';\nimport { EvmPriceServiceConnection } from '@pythnetwork/pyth-evm-js';\nimport { z } from 'zod';\nimport { ZodBigNumber } from '@snx-v3/zod';\nimport { offchainMainnetEndpoint, offchainTestnetEndpoint } from '@snx-v3/constants';\nimport { NETWORKS, networksWithERC7412 } from '@snx-v3/useBlockchain';\nimport type { Modify } from '@snx-v3/tsHelpers';\nimport { importMulticall3 } from '@snx-v3/useMulticall3';\nimport { withMemoryCache } from './withMemoryCache';\nimport { importCoreProxy } from '@snx-v3/useCoreProxy';\n\nexport const ERC7412_ABI = [\n 'error OracleDataRequired(address oracleContract, bytes oracleQuery)',\n 'error FeeRequired(uint feeAmount)',\n 'function oracleId() view external returns (bytes32)',\n 'function fulfillOracleQuery(bytes calldata signedOffchainData) payable external',\n];\n\ntype TransactionRequest = ethers.providers.TransactionRequest;\ntype TransactionRequestWithGasLimit = Modify;\n\nconst PRICE_CACHE_LENGTH = 5000;\n\nconst fetchOffchainData = withMemoryCache(\n async (oracleQuery: string, isTestnet: boolean, logLabel: string) => {\n const priceService = new EvmPriceServiceConnection(\n isTestnet ? offchainTestnetEndpoint : offchainMainnetEndpoint\n );\n const OracleQuerySchema = z.tuple([z.number(), ZodBigNumber, z.array(z.string())]);\n const decoded = ethers.utils.defaultAbiCoder.decode(\n ['uint8', 'uint64', 'bytes32[]'],\n oracleQuery\n );\n const [updateType, stalenessTolerance, priceIds] = OracleQuerySchema.parse(decoded);\n console.log(`[${logLabel}] stale price for priceFeedId: ${priceIds[0]}`);\n if (updateType !== 1) {\n throw new Error(`update type ${updateType} not supported`);\n }\n const signedOffchainData = await priceService.getPriceFeedsUpdateData(priceIds);\n\n return ethers.utils.defaultAbiCoder.encode(\n ['uint8', 'uint64', 'bytes32[]', 'bytes[]'],\n [updateType, stalenessTolerance, priceIds, signedOffchainData]\n );\n },\n PRICE_CACHE_LENGTH\n);\n\nfunction makeMulticall(\n calls: TransactionRequest[],\n senderAddr: string,\n multicallAddress: string,\n multiCallAbi: string[]\n): TransactionRequest {\n const multicallInterface = new ethers.utils.Interface(multiCallAbi);\n const encodedData = multicallInterface.encodeFunctionData('aggregate3Value', [\n calls.map((call) => ({\n target: call.to,\n callData: call.data,\n value: call.value || ethers.BigNumber.from(0),\n allowFailure: false,\n })),\n ]);\n\n let totalValue = ethers.BigNumber.from(0);\n for (const call of calls) {\n totalValue = totalValue.add(call.value || ethers.BigNumber.from(0));\n }\n\n return {\n from: senderAddr,\n to: multicallAddress,\n data: encodedData,\n value: totalValue,\n };\n}\n\n// This should be used for networks that doesn't have a multicall setup as a trusted forwarder\n// TODO remove when all networks have a trusted forwarder\nconst makeCoreProxyMulticall = (\n calls: TransactionRequest[],\n senderAddr: string,\n coreProxyAddress: string,\n coreProxyAbi: string[]\n) => {\n const CoreProxyInterface = new ethers.utils.Interface(coreProxyAbi);\n const encodedData = CoreProxyInterface.encodeFunctionData('multicall', [\n calls.map((call) => call.data),\n ]);\n\n let totalValue = ethers.BigNumber.from(0);\n for (const call of calls) {\n totalValue = totalValue.add(call.value || ethers.BigNumber.from(0));\n }\n\n return {\n from: senderAddr,\n to: coreProxyAddress,\n data: encodedData,\n value: totalValue,\n };\n};\n\nconst ERC7412ErrorSchema = z.union([\n z.object({\n name: z.literal('OracleDataRequired'),\n args: z.tuple([z.string(), z.string()]),\n }),\n z.object({\n name: z.literal('FeeRequired'),\n args: z.tuple([ZodBigNumber]),\n }),\n]);\nconst erc7412Interface = new ethers.utils.Interface(ERC7412_ABI);\n\nconst parseError = async (error: any, provider: providers.JsonRpcProvider) => {\n let errorData = error.data || error.error?.data?.data || error.error?.error?.data;\n\n if (!errorData) {\n try {\n console.log('Error is missing revert data, trying provider.call, instead of estimate gas..');\n // Some wallets swallows the revert reason when calling estimate gas,try to get the error by using provider.call\n // provider.call wont actually revert, instead the error data is just returned\n const lookedUpError = await provider.call(error.transaction);\n errorData = lookedUpError;\n } catch (newError: any) {\n console.log('provider.call(error.transaction) failed, trying to extract error');\n // I dont think we should end up here.. But it hard to know if some combo of wallets and rpc provider would....\n errorData = error.data || error.error?.data?.data || error.error?.error?.data;\n console.log('Error data: ', errorData);\n }\n }\n try {\n const decodedError = erc7412Interface.parseError(errorData);\n return ERC7412ErrorSchema.parse(decodedError);\n } catch (parseError) {\n console.error(\n 'Error is not a ERC7412 error, re-throwing original error, for better parsing. Parse error reason: ',\n parseError\n );\n // If we cant parse it, throw the original error\n throw error;\n }\n};\n\n// simulate w/ wETH contract because it will have eth balance\n// This is useful when we do read/static calls but still need an balance for the price update\n// TODO: this probably need to be network aware, maybe look into a different solution even.\nconst getDefaultFromAddress = (chainName: keyof typeof NETWORKS) => {\n switch (chainName) {\n case 'cannon':\n return '0x4200000000000000000000000000000000000006'; // TODO, unclear what to put here\n case 'mainnet':\n return '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2';\n case 'goerli':\n return '0xb4fbf271143f4fbf7b91a5ded31805e42b2208d6';\n case 'sepolia':\n return '0x7b79995e5f793a07bc00c21412e50ecae098e7f9';\n case 'optimism-mainnet':\n case 'optimism-goerli':\n case 'base-goerli':\n return '0x4200000000000000000000000000000000000006';\n\n default:\n throw new Error(`Unsupported chain ${chainName}`);\n }\n};\n\n/**\n * If a tx requires ERC7412 pattern, wrap your tx with this function.\n */\nexport const withERC7412 = async (\n _provider: ethers.providers.Provider,\n tx: TransactionRequest | TransactionRequest[],\n logLabel?: string\n): Promise => {\n const initialMulticallLength = Array.isArray(tx) ? tx.length : 1;\n // eslint-disable-next-line prefer-const\n let multicallCalls = [tx].flat(); // Use let to communicate that we mutate this array\n\n if (multicallCalls.some((x) => !x.to)) {\n throw Error(`Make sure all txs have 'to' field set`);\n }\n if (multicallCalls.some((x) => !x.from)) {\n throw Error(`Make sure all txs have 'from' field set`);\n }\n\n const from = multicallCalls[0].from as string;\n\n const { chainId } = await _provider.getNetwork();\n\n const network = Object.values(NETWORKS).find((x) => x.id === chainId);\n const networkName = network?.name || 'mainnet';\n const jsonRpcProvider = new ethers.providers.JsonRpcProvider(network?.rpcUrl); // Make sure we're always using JSONRpcProvider, the web3 provider coming from the signer might have bugs causing errors to miss revert data\n\n // If from is set to the default address (wETH) we can assume it's a read rather than a write\n const isRead = from === getDefaultFromAddress(networkName);\n const isTestnet = network?.isTestnet || false;\n const networkHaveERC7412 = networksWithERC7412[networkName] || false;\n const useCoreProxy = !networkHaveERC7412 && !isRead;\n\n const { address: multicallAddress, abi: multiCallAbi } = useCoreProxy\n ? await importCoreProxy(network?.name || 'mainnet')\n : await importMulticall3(network?.name || 'mainnet');\n\n while (true) {\n try {\n if (multicallCalls.length == 1) {\n const initialCall = multicallCalls[0];\n // The normal flow would go in here, then if the estimate call fail, we catch the error and handle ERC7412\n const gasLimit = await jsonRpcProvider.estimateGas(initialCall);\n console.log(`Estimated gas succeeded, with no price updates`);\n return { ...initialCall, gasLimit };\n }\n // If we're here it means we now added a tx to do .\n // Some networks doesn't have ERC7412 and a trusted forwarder setup, on write calls we still need to use the coreproxy for those\n const multicallTxn = useCoreProxy\n ? makeCoreProxyMulticall(multicallCalls, from, multicallAddress, multiCallAbi)\n : makeMulticall(multicallCalls, from, multicallAddress, multiCallAbi);\n\n const gasLimit = await jsonRpcProvider.estimateGas(multicallTxn);\n\n console.log(\n `[${logLabel}] Estimated gas succeeded, with ${\n multicallCalls.length - initialMulticallLength\n } price updates`\n );\n\n return { ...multicallTxn, gasLimit };\n } catch (error: any) {\n const parsedError = await parseError(error, jsonRpcProvider);\n\n if (parsedError.name === 'OracleDataRequired') {\n const [oracleAddress, oracleQuery] = parsedError.args;\n const ignoreCache = !isRead;\n const signedRequiredData = await fetchOffchainData(\n oracleQuery,\n isTestnet,\n logLabel || '',\n ignoreCache ? 'no-cache' : undefined\n );\n const newTransactionRequest = {\n from,\n to: oracleAddress,\n data: new ethers.utils.Interface(ERC7412_ABI).encodeFunctionData('fulfillOracleQuery', [\n signedRequiredData,\n ]),\n // If from is set to the default address we can add a value directly, before getting FeeRequired revert.\n // This will be a static call so no money would be withdrawn either way.\n value: isRead ? ethers.utils.parseEther('0.1') : BigNumber.from(0),\n };\n\n // If we get OracleDataRequired, add an extra transaction request just before the last element\n multicallCalls.splice(\n multicallCalls.length - initialMulticallLength,\n 0,\n newTransactionRequest\n );\n } else if (parsedError.name === 'FeeRequired') {\n const requiredFee = parsedError.args[0];\n\n const txToUpdate = multicallCalls.find(({ value }) => requiredFee.gt(value || 0)); // The first tx with value less than the required fee, is the one we need to update\n if (txToUpdate === undefined) {\n throw Error(\n `Didn't find any tx with a value less than the required fee ${multicallCalls}`\n );\n }\n txToUpdate.value = requiredFee;\n } else {\n throw error;\n }\n }\n }\n};\n\n/**\n * This can be used to do reads plus decoding. The return type will be whatever the type of the decode function is. And the arguments passed will have the multicall decoded and price updates removed\n */\nexport async function erc7412Call(\n provider: ethers.providers.Provider,\n txRequests: TransactionRequest | TransactionRequest[],\n decode: (x: string[] | string) => T,\n logLabel?: string\n) {\n const { chainId } = await provider.getNetwork();\n const network = Object.values(NETWORKS).find((x) => x.id === chainId);\n const { address: multicallAddress, abi: multicallAbi } = await importMulticall3(\n network?.name || 'mainnet'\n );\n\n const reqs = [txRequests].flat();\n for (const txRequest of reqs) {\n txRequest.from = getDefaultFromAddress(network?.name || 'mainnet'); // Reads can always use WETH\n }\n const jsonRpcProvider = new ethers.providers.JsonRpcProvider(network?.rpcUrl); // Make sure we're always using JSONRpcProvider, the web3 provider coming from the signer might have bugs causing errors to miss revert data\n const newCall = await withERC7412(jsonRpcProvider, reqs, logLabel);\n\n const res = await provider.call(newCall);\n\n if (newCall.to === multicallAddress) {\n // If this was a multicall, decode and remove price updates.\n const decodedMultiCall: { returnData: string }[] = new ethers.utils.Interface(\n multicallAbi\n ).decodeFunctionResult('aggregate3Value', res)[0];\n\n // Remove the price updates\n const responseWithoutPriceUpdates = decodedMultiCall.filter(\n ({ returnData }) => returnData !== '0x' // price updates have 0x as return data\n );\n return decode(responseWithoutPriceUpdates.map(({ returnData }) => returnData));\n }\n\n return decode(res);\n}\n","import { BigNumber } from 'ethers';\nimport { z } from 'zod';\nimport { wei } from '@synthetixio/wei';\n\nexport const ZodBigNumber = z.custom((val) => BigNumber.isBigNumber(val));\n\nexport const SmallIntSchema = ZodBigNumber.transform((x) => wei(x, 0).toNumber());\nexport const WeiSchema = ZodBigNumber.transform((x) => wei(x));\n","import {\n ComponentMultiStyleConfig,\n ComponentStyleConfig,\n defineStyle,\n extendTheme,\n} from '@chakra-ui/react';\nimport { mode } from '@chakra-ui/theme-tools';\n\nconst gradients = {\n 'green-cyan': {\n 500: 'linear(to-tr, green.500, cyan.500)',\n 600: 'linear(to-tr, green.600, cyan.600)',\n 700: 'linear(to-tr, green.700, cyan.800)',\n },\n\n grey: {\n 900: 'linear(to-tr, grey.900, blackAlpha.900)',\n },\n dark: {\n 500: 'linear(to-tr, #171923, #141414)',\n },\n\n 'pink-purple': {\n 500: 'linear(to-tr, pink.500, purple.500)',\n 600: 'linear(to-tr, pink.600, purple.600)',\n 700: 'linear(to-tr, pink.700, purple.800)',\n },\n\n 'pink-blue': {\n 500: 'linear(to-tr, pink.500, blue.500)',\n 600: 'linear(to-tr, pink.600, blue.600)',\n 700: 'linear(to-tr, pink.700, blue.800)',\n },\n 'pink-cyan': {\n 500: 'linear(to-tr, pink.500, cyan.500)',\n 600: 'linear(to-tr, pink.600, cyan.600)',\n 700: 'linear(to-tr, pink.700, cyan.800)',\n },\n\n orange: {\n 500: 'linear(to-tr, orange.500, orange.300)',\n 600: 'linear(to-tr, orange.600, orange.400)',\n 700: 'linear(to-tr, orange.700, orange.500)',\n },\n};\n\n// adapted from https://github.com/chakra-ui/chakra-ui/blob/main/packages/components/theme/src/components/button.ts#L90\nconst variantSolid = defineStyle((props) => {\n const { colorScheme: c } = props;\n\n if (c === 'gray') {\n const bg = mode(`gray.100`, `whiteAlpha.200`)(props);\n\n return {\n color: mode(`black`, `whiteAlpha.900`)(props),\n bg,\n _hover: {\n bg: mode(`gray.200`, `whiteAlpha.300`)(props),\n _disabled: {\n bg,\n },\n },\n _active: { bg: mode(`gray.300`, `whiteAlpha.400`)(props) },\n };\n }\n\n if (c === 'cyan') {\n return {\n bgGradient: gradients['green-cyan'][500],\n color: 'black',\n _hover: {\n bgGradient: gradients['green-cyan'][600],\n _disabled: {\n background: gradients['green-cyan'][500],\n },\n },\n _active: {\n bgGradient: gradients['green-cyan'][700],\n },\n };\n }\n\n const bg = `${c}.500`;\n const color = 'white';\n const hoverBg = `${c}.600`;\n const activeBg = `${c}.700`;\n const background = mode(bg, `${c}.600`)(props);\n\n return {\n bg: background,\n color: mode(color, `white`)(props),\n _hover: {\n bg: mode(hoverBg, `${c}.500`)(props),\n _disabled: {\n bg: background,\n },\n },\n _active: { bg: mode(activeBg, `${c}.400`)(props) },\n };\n});\n\nconst Button: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n },\n variants: {\n solid: variantSolid,\n outline: (props) => {\n if (props.colorScheme === 'gray') {\n return {\n color: 'whiteAlpha.800',\n borderColor: 'gray.900',\n _hover: { bg: 'rgba(255, 255, 255, 0.12)' }, // white 0.12 opacity\n _active: { bg: 'rgba(255, 255, 255, 0.24)' }, //white 0.24 opacity\n };\n }\n return {\n color: 'cyan.500', // needed for storybook for some reason\n border: '1px solid', // needed for storybook for some reason\n borderColor: 'cyan.500', // needed for storybook for some reason\n _hover: { bg: 'rgb(0, 209, 255, 0.12)' }, // cyan.500 0.12 opacity\n _active: { bg: 'rgb(0, 209, 255, 0.24)' }, // cyan.500 0.24 opacity\n };\n },\n ghost: {\n color: 'cyan.500', // needed for storybook for some reason\n _hover: { bg: 'rgb(0, 209, 255, 0.12)' }, // cyan.500 0.12 opacity\n _active: { bg: 'rgb(0, 209, 255, 0.24)' }, // cyan.500 0.24 opacity\n },\n },\n};\n\nconst Menu: ComponentMultiStyleConfig = {\n parts: ['button', 'list', 'item'],\n baseStyle: {\n button: {\n color: 'white',\n span: {\n display: 'flex',\n alignItems: 'center',\n px: 2,\n },\n height: '100%',\n },\n list: {\n mt: 2,\n bgColor: 'navy.900',\n padding: 0,\n border: 'none',\n borderRadius: 'md',\n py: 0,\n },\n item: {\n bgColor: 'blackAlpha.300',\n color: 'whiteAlpha.900',\n p: 3,\n _hover: {\n bgColor: 'whiteAlpha.400',\n },\n _active: {\n bgColor: 'navy.900',\n },\n _first: {\n borderTopLeftRadius: 'md',\n borderTopRightRadius: 'md',\n },\n _last: {\n borderBottomLeftRadius: 'md',\n borderBottomRightRadius: 'md',\n },\n _focus: {\n bgColor: 'blackAlpha.400',\n },\n },\n },\n};\n\nconst Input: ComponentStyleConfig = {\n defaultProps: {\n focusBorderColor: 'cyan.500',\n errorBorderColor: 'red.500',\n },\n};\n\nconst Select: ComponentStyleConfig = {\n defaultProps: {\n focusBorderColor: 'cyan.500',\n iconColor: 'cyan.500',\n errorBorderColor: 'red.500',\n },\n};\n\nconst NumberInput: ComponentStyleConfig = {\n defaultProps: {\n focusBorderColor: 'cyan.500',\n errorBorderColor: 'red.500',\n },\n};\n\nconst Textarea: ComponentStyleConfig = {\n defaultProps: {\n focusBorderColor: 'cyan.500',\n colorScheme: 'cyan',\n errorBorderColor: 'red.500',\n },\n};\n\nconst Alert: ComponentStyleConfig = {\n defaultProps: {\n variant: 'left-accent',\n },\n variants: {\n 'left-accent': (props) => {\n return {\n container: {\n bg: `${props.colorScheme}.900`,\n borderInlineStartColor: `${props.colorScheme}.500`,\n },\n };\n },\n solid: (props) => {\n return {\n icon: { color: 'white' },\n container: { bg: `${props.colorScheme}.500`, color: 'white' },\n };\n },\n },\n};\n\nconst Skeleton: ComponentStyleConfig = {\n defaultProps: {\n startColor: 'gray.900',\n endColor: 'gray.800',\n },\n};\n\nconst Checkbox: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n },\n baseStyle: {\n control: {\n borderColor: 'cyan.500',\n _checked: {\n bg: 'cyan.500',\n borderColor: 'cyan.500',\n _hover: {\n bg: 'cyan.600',\n borderColor: 'cyan.600',\n },\n },\n _invalid: {\n borderColor: 'red.500',\n },\n _disabled: {\n _hover: {\n borderColor: 'transparent',\n },\n },\n _hover: {\n borderColor: 'cyan.600',\n },\n },\n },\n};\n\nconst Radio: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n },\n baseStyle: {\n control: {\n borderColor: 'cyan.500',\n _checked: {\n bg: 'cyan.500',\n borderColor: 'cyan.500',\n _hover: {\n bg: 'cyan.600',\n borderColor: 'cyan.600',\n },\n },\n _invalid: {\n borderColor: 'red.500',\n },\n _disabled: {\n _hover: {\n borderColor: 'transparent',\n },\n },\n _hover: {\n borderColor: 'cyan.600',\n },\n },\n },\n};\n\nconst Badge: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n },\n variants: {\n subtle: (props) => ({\n color: `${props.colorScheme}.500`,\n }),\n solid: (props) => ({\n background: `${props.colorScheme}.500`,\n color: 'black',\n }),\n outline: (props) => ({\n borderColor: `${props.colorScheme}.500`,\n color: `${props.colorScheme}.500`,\n }),\n percent: {\n color: 'cyan.500',\n bg: 'whiteAlpha.300',\n fontFamily: 'heading',\n py: 1,\n px: 2,\n borderRadius: 'base',\n borderWidth: '1px',\n borderColor: 'transparent',\n width: '100%',\n textAlign: 'center',\n userSelect: 'none',\n },\n },\n};\n\nconst Tag: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n variant: 'solid',\n },\n variants: {\n solid: (props) => ({\n container: {\n background: `${props.colorScheme}.500`,\n color: 'black',\n },\n }),\n },\n};\n\nconst Accordion: ComponentStyleConfig = {\n baseStyle: {\n container: {\n borderColor: 'gray.900',\n borderWidth: '1px',\n borderRadius: 'base',\n },\n },\n};\n\nconst Progress: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n variant: 'solid',\n borderRadius: 'full',\n },\n variants: {\n solid: (props) => ({\n filledTrack: {\n background: `${props.colorScheme}.500`,\n borderRadius: 'full',\n },\n track: {\n borderRadius: 'full',\n },\n }),\n },\n};\n\nconst Tabs: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n },\n variants: {\n 'solid-rounded': (props) => ({\n tab: {\n _selected: {\n background: `${props.colorScheme}.500`,\n color: 'black',\n },\n color: `${props.colorScheme}.500`,\n },\n }),\n 'soft-rounded': {\n tab: {\n _selected: {\n background: 'whiteAlpha.300',\n color: 'cyan.500',\n },\n color: 'cyan.500',\n },\n },\n },\n};\n\nconst Tooltip: ComponentStyleConfig = {\n baseStyle: {\n textAlign: 'center',\n bg: 'gray.900',\n color: 'white.500',\n '--popper-arrow-bg': 'var(--chakra-colors-gray-900)',\n },\n};\n\nconst Switch: ComponentStyleConfig = {\n defaultProps: {\n colorScheme: 'cyan',\n },\n baseStyle: {\n track: {\n _checked: {\n background: 'cyan.500',\n },\n },\n },\n};\n\nconst Spinner: ComponentStyleConfig = {\n baseStyle: {\n color: 'cyan.500',\n },\n};\n\nexport const theme = extendTheme({\n useSystemColorMode: false,\n initialColorMode: 'dark',\n colors: {\n gray: {\n 50: '#F6F6F6',\n 100: '#F1F1F1',\n 200: '#DDDDDF',\n 300: '#C3C3C9',\n 400: '#AAAAB2',\n 500: '#91919B',\n 600: '#7A7A85',\n 700: '#63636E',\n 800: '#4D4D57',\n 900: '#303037',\n },\n red: {\n 50: '#FFEDEF',\n 100: '#FFC4CB',\n 200: '#FF9BA7',\n 300: '#FF7384',\n 400: '#FF4A60',\n 500: '#E4364B',\n 600: '#C53030',\n 700: '#9B2C2C',\n 800: '#822727',\n 900: '#63171B',\n },\n orange: {\n 50: '#FFF3EB',\n 100: '#FFD8BE',\n 200: '#FFBE92',\n 300: '#FFA365',\n 400: '#FF9A54',\n 500: '#FC8738',\n 600: '#DC732D',\n 700: '#96420A',\n 800: '#743002',\n 900: '#522100',\n },\n yellow: {\n 50: '#FFFBEF',\n 100: '#FFF2CA',\n 200: '#FFF5A8',\n 300: '#FFF889',\n 400: '#FFF458',\n 500: '#FAE527',\n 600: '#EAD516',\n 700: '#B5932B',\n 800: '#776017',\n 900: '#55430D',\n },\n green: {\n 50: '#EDFFF9',\n 100: '#C3FFEC',\n 200: '#9AE6B4',\n 300: '#72FFD3',\n 400: '#47FAC2',\n 500: '#34EDB3',\n 600: '#2BD39F',\n 700: '#11946B',\n 800: '#077250',\n 900: '#015037',\n },\n blue: {\n 50: '#EDF6FF',\n 100: '#C4E2FF',\n 200: '#9CCFFF',\n 300: '#73BBFF',\n 400: '#479EF0',\n 500: '#3182CE',\n 600: '#1F68AC',\n 700: '#11508A',\n 800: '#073968',\n 900: '#012546',\n },\n cyan: {\n 50: '#E5FAFF',\n 100: '#B7F2FF',\n 200: '#8AEAFF',\n 300: '#5CE1FF',\n 400: '#2ED9FF',\n 500: '#00D1FF',\n 600: '#00B0D6',\n 700: '#008EAD',\n 800: '#006D85',\n 900: '#004B5C',\n },\n purple: {\n 50: '#F0EEFF',\n 100: '#CFC9FF',\n 200: '#AEA4FF',\n 300: '#8D7EFF',\n 400: '#6B59FF',\n 500: '#5744EA',\n 600: '#402FC8',\n 700: '#2D1EA6',\n 800: '#1D1084',\n 900: '#10104E',\n },\n pink: {\n 50: '#FDE8FF',\n 100: '#F9B6FF',\n 200: '#F583FF',\n 300: '#F471FF',\n 400: '#EB46FF',\n 500: '#EE2EFF',\n 600: '#BE02CE',\n 700: '#8D0099',\n 800: '#6E0077',\n 900: '#4E0055',\n },\n navy: {\n 50: '#522ED1',\n 100: '#401FB7',\n 200: '#3719A6',\n 300: '#2F1298',\n 400: '#1F0777',\n 500: '#150942',\n 600: '#0E052F',\n 700: '#0B0B22',\n 800: '#0A0A25',\n 900: '#06061B',\n },\n error: '#FF4A60', // red.400,\n success: '#34EDB3', //green.500\n warning: '#FC8738', // orange.500\n },\n shadows: {\n outline: '0 0 0 3px rgba(0, 209, 255, 1)',\n },\n fonts: {\n heading:\n 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n body: 'Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n display:\n '\"GT America Condensed\", Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n mono: '\"GT America Mono\", SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace',\n },\n components: {\n Popover: {\n variants: {\n responsive: {\n popper: {\n maxWidth: 'unset',\n width: 'unset',\n },\n },\n },\n },\n Button,\n Input,\n Select,\n NumberInput,\n Alert,\n Textarea,\n Skeleton,\n Checkbox,\n Radio,\n Badge,\n Tag,\n Accordion,\n Progress,\n Tabs,\n Tooltip,\n Switch,\n Spinner,\n Menu,\n },\n // To be imported and used with the bgGradient prop\n // See: https://chakra-ui.com/docs/styled-system/gradient#background-gradient-api\n gradients,\n textStyles: {\n 'heading-4xl': {\n fontSize: { base: '60px', lg: '72px' },\n fontFamily: 'heading',\n lineHeight: { base: '57.6px', lg: '72px' },\n fontWeight: 700,\n },\n 'heading-3xl': {\n fontSize: { base: '48px', md: '60px' },\n fontFamily: 'heading',\n lineHeight: { base: '57.6px', md: '72px', lg: '60px' },\n fontWeight: 700,\n },\n 'heading-2xl': {\n fontSize: { base: '36px', md: '48px' },\n fontFamily: 'heading',\n lineHeight: { base: '120%' },\n fontWeight: 700,\n },\n 'heading-xl': {\n fontSize: { base: '30px', lg: '36px' },\n fontFamily: 'heading',\n lineHeight: { base: '36px', lg: '120%' },\n fontWeight: 700,\n },\n 'heading-lg': {\n fontSize: { base: '24px', lg: '30px' },\n fontFamily: 'heading',\n lineHeight: { base: '28.8px', lg: '36px' },\n fontWeight: 700,\n },\n 'heading-md': {\n fontSize: { base: '20px', lg: '24px' },\n fontFamily: 'heading',\n lineHeight: '24px',\n fontWeight: 700,\n },\n 'heading-sm': {\n fontSize: '16px',\n fontFamily: 'heading',\n lineHeight: '19.2px',\n fontWeight: 700,\n },\n 'heading-xs': {\n fontSize: '14px',\n fontFamily: 'heading',\n lineHeight: '16.8px',\n fontWeight: 700,\n },\n },\n sizes: {\n px: '1px',\n 0.5: '0.125rem',\n 1: '0.25rem',\n 1.5: '0.375rem',\n 2: '0.5rem',\n 2.5: '0.625rem',\n 3: '0.75rem',\n 3.5: '0.875rem',\n 4: '1rem',\n 5: '1.25rem',\n 6: '1.5rem',\n 7: '1.75rem',\n 8: '2rem',\n 9: '2.25rem',\n 10: '2.5rem',\n 12: '3rem',\n 14: '3.5rem',\n 16: '4rem',\n 20: '5rem',\n 24: '6rem',\n 28: '7rem',\n 32: '8rem',\n 36: '9rem',\n 40: '10rem',\n 44: '11rem',\n 48: '12rem',\n 52: '13rem',\n 56: '14rem',\n 60: '15rem',\n 64: '16rem',\n 72: '18rem',\n 80: '20rem',\n 96: '24rem',\n max: 'max-content',\n min: 'min-content',\n full: '100%',\n '3xs': '14rem',\n '2xs': '16rem',\n xs: '20rem',\n sm: '24rem',\n md: '28rem',\n lg: '32rem',\n xl: '36rem',\n '2xl': '42rem',\n '3xl': '48rem',\n '4xl': '56rem',\n '5xl': '64rem',\n '6xl': '72rem',\n '7xl': '80rem',\n '8xl': '90rem',\n container: {\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n },\n },\n styles: {\n global: {\n body: {\n bg: 'navy.900',\n },\n },\n },\n});\n","import { Global } from '@emotion/react';\n\nexport const Fonts = () => (\n \n);\n","import { useState } from 'react';\nimport {\n Modal,\n ModalOverlay,\n ModalContent,\n ModalHeader,\n ModalBody,\n Text,\n Button,\n Box,\n Link,\n ListItem,\n UnorderedList,\n} from '@chakra-ui/react';\nimport { Link as ReactRouterLink } from 'react-router-dom';\nimport { theme } from '@synthetixio/v3-theme';\nimport { SESSION_STORAGE_KEYS } from '@snx-v3/constants';\n\ninterface TermsModalProps {\n defaultOpen: boolean;\n}\n\nexport const TermsModal = ({ defaultOpen = true }: TermsModalProps) => {\n const [isOpen, setOpen] = useState(defaultOpen);\n const [enabled, setEnabled] = useState(false);\n\n const onSubmit = () => {\n if (enabled) {\n sessionStorage.setItem(SESSION_STORAGE_KEYS.TERMS_CONDITIONS_ACCEPTED, JSON.stringify(true));\n setOpen(false);\n }\n };\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n {}}>\n \n \n \n Synthetix Terms of Service\n \n \n \n By clicking “I Agree” below, you agree to be bound by the terms of this Agreement. As\n such, you fully understand that:\n \n {\n const div = e.currentTarget;\n const scrollTopWithTolerance = div.scrollTop + 10;\n if (scrollTopWithTolerance >= div.scrollHeight - div.offsetHeight) {\n setEnabled(true);\n } else {\n setEnabled(false);\n }\n }}\n as=\"div\"\n my={2}\n py={3}\n height=\"350px\"\n overflow=\"auto\"\n overflowX=\"scroll\"\n sx={{\n '::-webkit-scrollbar': {\n display: 'block',\n },\n '::-webkit-scrollbar-track': {\n backgroundColor: 'transparent',\n },\n '::-webkit-scrollbar-track-piece': {\n backgroundColor: 'transparent',\n },\n '::-webkit-scrollbar-corner': {\n backgroundColor: 'transparent',\n },\n }}\n >\n \n \n \n \n Synthetix{' '}\n \n is a blockchain-based decentralized finance project. You are participating at your\n own risk.\n \n \n Synthetix is offered for use “as is” and without any guarantees regarding\n security. The protocol is made up of immutable code and can be accessed through a\n variety of user interfaces.\n \n \n No central entity operates the Synthetix protocol. Decisions related to the\n protocol are governed by a dispersed group of participants who collectively govern\n and maintain the protocol.\n \n \n Synthetix DAO does not unilaterally offer, maintain, operate, administer, or\n control any trading interfaces. The only user interfaces maintained by Synthetix\n DAO are the governance and liquidity interfaces herein.\n \n \n You can participate in the governance process by staking SNX tokens in accordance\n with the rules and parameters summarized{' '}\n \n here\n \n , and/or joining the{' '}\n \n Synthetix Discord\n {' '}\n and contributing to the conversation.\n \n \n The rules and parameters associated with the Synthetix protocol and Synthetix DAO\n governance are subject to change at any time.\n \n \n Your use of Synthetix is conditioned upon your acceptance to be bound by the\n Synthetix Term of Use, which can be found{' '}\n \n here\n \n .\n \n \n The laws that apply to your use of Synthetix may vary based upon the jurisdiction\n in which you are located. We strongly encourage you to speak with legal counsel in\n your jurisdiction if you have any questions regarding your use of Synthetix.\n \n \n By entering into this agreement, you are not agreeing to enter into a partnership.\n You understand that Synthetix is a decentralized protocol provided on an “as is”\n basis.\n \n \n You hereby release all present and future claims against Synthetix DAO related to\n your use of the protocol, the SNX token, SNX DAO governance, and any other facet\n of the protocol.\n \n \n You agree to indemnify and hold harmless SNX DAO and its affiliates for any costs\n arising out of or relating to your use of the Synthetix protocol.\n \n \n You are not accessing the protocol from Burma (Myanmar), Cuba, Iran, Sudan, Syria,\n the Western Balkans, Belarus, Côte d’Ivoire, Democratic Republic of the Congo,\n Iraq, Lebanon, Liberia, Libya, North Korea, Russia, certain sanctioned areas of\n Ukraine, Somalia, Venezuela, Yemen, or Zimbabwe (collectively, “Prohibited\n Jurisdictions”), or any other jurisdiction listed as a Specially Designated\n National by the United States Office of Foreign Asset Control (“OFAC”).\n \n \n \n \n \n \n I agree\n \n \n \n );\n};\n","import { Box } from '@chakra-ui/react';\n\nexport default function Footer() {\n return (\n \n This is an experimental prototype for Synthetix V3. Provide feedback in{' '}\n \n #synthetix-v3\n {' '}\n on Discord. View on{' '}\n \n GitHub\n \n .\n \n );\n}\n","import { Button, Flex, Menu, MenuButton, MenuItem, MenuList, Text } from '@chakra-ui/react';\nimport { ChevronDown, ChevronUp, WalletIcon } from '@snx-v3/icons';\nimport {\n disconnect,\n NETWORKS,\n onboard,\n useNetwork,\n useSetNetwork,\n useWallet,\n} from '@snx-v3/useBlockchain';\nimport { prettyString } from '@snx-v3/format';\n\nexport function NetworkController() {\n const wallet = useWallet();\n const activeNetwork = useNetwork();\n const setNetwork = useSetNetwork();\n return (\n \n \n {({ isOpen }) => (\n <>\n span': { display: 'flex', alignItems: 'center' } }}\n mr={1}\n >\n \n \n {activeNetwork.label}\n \n \n {isOpen ? : }\n \n \n \n {Object.values(NETWORKS)\n .filter((network) => network.isSupported)\n .map((network) => (\n setNetwork(network)}\n >\n \n \n {network.label}\n \n \n ))}\n \n \n )}\n \n {wallet ? (\n \n \n \n \n {wallet.ens?.name || prettyString(wallet.address)}\n \n \n \n {\n try {\n navigator.clipboard.writeText(wallet?.address);\n } catch (_e) {}\n }}\n >\n \n Copy address\n \n \n \n \n Disconnect\n \n \n \n \n ) : (\n onboard.connectWallet()}\n type=\"button\"\n size=\"sm\"\n ml={2}\n py={5}\n data-testid=\"connect-wallet-button\"\n >\n Connect Wallet\n \n )}\n \n );\n}\n","import { Contract } from '@ethersproject/contracts';\nimport { useQuery } from '@tanstack/react-query';\nimport { useNetwork, useProvider, useSigner } from '@snx-v3/useBlockchain';\nimport type { AccountProxy as AccountProxyCannon } from '@synthetixio/v3-contracts/build/cannon/AccountProxy';\nimport type { AccountProxy as AccountProxyMainnet } from '@synthetixio/v3-contracts/build/mainnet/AccountProxy';\nimport type { AccountProxy as AccountProxyGoerli } from '@synthetixio/v3-contracts/build/goerli/AccountProxy';\nimport type { AccountProxy as AccountProxySepolia } from '@synthetixio/v3-contracts/build/sepolia/AccountProxy';\nimport type { AccountProxy as AccountProxyOptimismMainnet } from '@synthetixio/v3-contracts/build/optimism-mainnet/AccountProxy';\nimport type { AccountProxy as AccountProxyOptimismGoerli } from '@synthetixio/v3-contracts/build/optimism-goerli/AccountProxy';\nimport type { AccountProxy as AccountProxyBaseGoerli } from '@synthetixio/v3-contracts/build/base-goerli/AccountProxy';\n\nexport type AccountProxyType =\n | AccountProxyCannon\n | AccountProxyMainnet\n | AccountProxyGoerli\n | AccountProxySepolia\n | AccountProxyOptimismMainnet\n | AccountProxyOptimismGoerli\n | AccountProxyBaseGoerli;\n\nexport async function importAccountProxy(chainName: string) {\n switch (chainName) {\n case 'cannon':\n return import('@synthetixio/v3-contracts/build/cannon/AccountProxy');\n case 'mainnet':\n return import('@synthetixio/v3-contracts/build/mainnet/AccountProxy');\n case 'goerli':\n return import('@synthetixio/v3-contracts/build/goerli/AccountProxy');\n case 'sepolia':\n return import('@synthetixio/v3-contracts/build/sepolia/AccountProxy');\n case 'optimism-mainnet':\n return import('@synthetixio/v3-contracts/build/optimism-mainnet/AccountProxy');\n case 'optimism-goerli':\n return import('@synthetixio/v3-contracts/build/optimism-goerli/AccountProxy');\n case 'base-goerli':\n return import('@synthetixio/v3-contracts/build/base-goerli/AccountProxy');\n default:\n throw new Error(`Unsupported chain ${chainName}`);\n }\n}\n\nexport function useAccountProxy() {\n const network = useNetwork();\n const provider = useProvider();\n const signer = useSigner();\n const signerOrProvider = signer || provider;\n const withSigner = Boolean(signer);\n\n return useQuery({\n queryKey: [network.name, 'AccountProxy', { withSigner }],\n queryFn: async function () {\n const { address, abi } = await importAccountProxy(network.name);\n return new Contract(address, abi, signerOrProvider) as AccountProxyType;\n },\n enabled: Boolean(network.isSupported && signerOrProvider),\n staleTime: Infinity,\n cacheTime: Infinity,\n });\n}\n","import { useQuery, useMutation } from '@tanstack/react-query';\nimport { useAccountProxy } from '@snx-v3/useAccountProxy';\nimport { useNetwork, useWallet, onboard } from '@snx-v3/useBlockchain';\nimport { useEffect, useMemo } from 'react';\nimport { useLocation, useNavigate } from 'react-router-dom';\nimport { useCoreProxy } from '@snx-v3/useCoreProxy';\n\nexport function useAccounts() {\n const wallet = useWallet();\n const { data: AccountProxy } = useAccountProxy();\n const network = useNetwork();\n\n return useQuery({\n queryKey: [network.name, 'Accounts', { accountAddress: wallet?.address }],\n queryFn: async function () {\n if (!AccountProxy || !wallet?.address) throw new Error('Should be disabled');\n const numberOfAccountTokens = await AccountProxy.balanceOf(wallet.address);\n if (numberOfAccountTokens.eq(0)) {\n // No accounts created yet\n return [];\n }\n const accountIndexes = Array.from(Array(numberOfAccountTokens.toNumber()).keys());\n const accounts = await Promise.all(\n accountIndexes.map(async (i) => {\n if (!wallet?.address) throw new Error('OMG!');\n return await AccountProxy.tokenOfOwnerByIndex(wallet.address, i);\n })\n );\n return accounts.map((accountId) => accountId.toString());\n },\n enabled: Boolean(AccountProxy?.address && wallet?.address),\n placeholderData: [],\n });\n}\n\nexport function useCreateAccount() {\n const { data: CoreProxy } = useCoreProxy();\n\n return useMutation({\n mutationFn: async function () {\n try {\n if (!CoreProxy) throw new Error('CoreProxy undefined');\n const tx = await CoreProxy['createAccount()']();\n const res = await tx.wait();\n\n let newAccountId: string | undefined;\n\n res.logs.forEach((log: any) => {\n if (log.topics[0] === CoreProxy.interface.getEventTopic('AccountCreated')) {\n const accountId = CoreProxy.interface.decodeEventLog(\n 'AccountCreated',\n log.data,\n log.topics\n )?.accountId;\n newAccountId = accountId?.toString();\n }\n });\n\n return [newAccountId];\n } catch (error) {\n console.error(error);\n throw error;\n }\n },\n });\n}\n\nexport function useAccountUrlSync() {\n const accounts = useAccounts();\n const navigate = useNavigate();\n const location = useLocation();\n\n const queryParams = useMemo(() => new URLSearchParams(location.search), [location.search]);\n\n useEffect(() => {\n const accountId = queryParams.get('accountId') || undefined;\n\n if (accounts.isFetched && accounts.data && accounts.data.length > 0) {\n // Accounts fetched and we have some, preselect one\n if (!accountId || !accounts.data.includes(accountId)) {\n queryParams.set('accountId', accounts.data[0]);\n\n navigate(\n {\n pathname: location.pathname,\n search: queryParams.toString(),\n },\n { replace: true }\n );\n }\n // when accountId param is present, and it also exists in the accounts list, do nothing\n return;\n }\n\n const { wallets } = onboard.state.get();\n if (\n // Check separately for the case when wallet is not connected\n wallets.length < 1 ||\n (accounts.isFetched && (!accounts.data || accounts.data.length < 1))\n ) {\n // We have fetched accounts but there are none, remove account id from url\n if (accountId) {\n queryParams.delete('accountId');\n navigate(\n {\n pathname: location.pathname,\n search: queryParams.toString(),\n },\n { replace: true }\n );\n }\n }\n }, [accounts.data, accounts.isFetched, navigate, location.pathname, queryParams]);\n}\n","// import { CheckIcon } from '@chakra-ui/icons';\n// import { useEffect } from 'react';\nimport { Button, Fade, Skeleton, Text, useClipboard } from '@chakra-ui/react';\n// import { createSearchParams, generatePath, Link as RouterLink } from 'react-router-dom';\nimport { prettyString } from '@snx-v3/format';\nimport { useAccounts, useCreateAccount } from '@snx-v3/useAccounts';\nimport { useParams } from '@snx-v3/useParams';\nimport { useAccountUrlSync } from '@snx-v3/useAccounts';\n\n// function AccountMenuItem({ accountId }: { accountId: string }) {\n// const params = useParams();\n\n// return (\n// \n// \n// \n// {params.accountId === accountId && }\n// {accountId}\n// \n// \n// \n// );\n// }\n\ninterface AccountsSelectorUiProps {\n isLoading: boolean;\n accountId?: string;\n createAccount: () => void;\n}\n\nexport function AccountsSelectorUi({\n accountId,\n isLoading,\n createAccount,\n}: AccountsSelectorUiProps) {\n const { onCopy } = useClipboard(accountId || '');\n\n return (\n <>\n {isLoading ? (\n \n Loading...\n \n ) : (\n \n createAccount()}\n >\n {`${accountId ? `Account #${prettyString(accountId, 3, 3)}` : 'Create Account'} `}\n \n \n )}\n \n // Temporarily disable account selector menu\n // \n // \n // \n // {accounts.map((accountId) => (\n // \n // ))}\n // \n // \n // \n // Create new account\n // \n // \n // \n // \n // \n );\n}\n\nexport function AccountsSelector() {\n const params = useParams();\n\n const {\n data: accounts,\n isLoading: isAccountsLoading,\n isFetching: isAccountsFetching,\n } = useAccounts();\n\n const {\n mutate: createAccount,\n isLoading: isCreateAccountLoading,\n data: createAccountData,\n } = useCreateAccount();\n\n useAccountUrlSync();\n\n const isLoading = isAccountsLoading || isAccountsFetching || isCreateAccountLoading || !accounts;\n\n // If we create an account, use it\n // If the account in params exists in the accounts list, use it\n // If not use the first account in the list\n // If there are no accounts, use undefined\n const accountId = createAccountData\n ? createAccountData[0]\n : accounts?.includes(params?.accountId || '')\n ? params.accountId\n : accounts?.[0];\n\n return (\n \n );\n}\n","import { Box, Container, Flex, Link, useDisclosure } from '@chakra-ui/react';\nimport { Link as RouterLink, useLocation } from 'react-router-dom';\nimport { NetworkController } from './NetworkController';\nimport { useEffect } from 'react';\nimport { AccountsSelector } from '@snx-v3/AccountsSelector';\nimport { Logo, LogoIcon } from '@snx-v3/icons';\n\nexport default function Header() {\n const { onClose } = useDisclosure();\n const location = useLocation();\n\n useEffect(() => {\n onClose();\n }, [location, onClose]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import { FC } from 'react';\nimport { Box, Container, Flex } from '@chakra-ui/react';\nimport { Outlet } from 'react-router-dom';\nimport Footer from './Footer';\nimport Header from './Header';\n\nexport const DefaultLayout: FC = () => (\n \n \n
\n \n \n \n \n