1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2136],{11335:(e,t,r)=>{r.d(t,{is:()=>w,yz:()=>S,Qt:()=>b,AL:()=>u,nO:()=>p,bi:()=>c,bE:()=>d,$:()=>v,q0:()=>h,wZ:()=>L,$3:()=>R,W8:()=>m,St:()=>f,x1:()=>I,U8:()=>M,bF:()=>F,vk:()=>A,E0:()=>g,EG:()=>P,Wr:()=>U,$q:()=>$,bp:()=>C,N8:()=>N,X_:()=>E,xI:()=>T,A$:()=>k,Rc:()=>_,eU:()=>O,Ai:()=>l,KH:()=>D,il:()=>x,k5:()=>o});let a={...r(68958).B,id:4326,name:"MegaETH",rpcUrls:{default:{http:[],webSocket:[]}},blockExplorers:{default:{name:"MegaETH Explorer",url:"https://megaeth.blockscout.com"}},testnet:!1,contracts:{multicall3:{address:"0xF516BC01c50eebdBad4d7E506c8f690ae8EAFc52"}}},n={ETH:"0x0000000000000000000000000000000000000000",WETH:"0x4200000000000000000000000000000000000006",USDC:"0xFAfDdbb3FC7688494971a79cc65DCa3EF82079E7",USDT0:"0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb"},s=(n.USDC,n.WETH,n.USDT0,{SwapRouter02:"0xb1f38c36249834d8e3cd582d30101ff4b864f234",QuoterV2:"0xdd79c72c21f7dcd1d034b55caf9177bc42f5df0c",UniswapV3Factory:"0x1adb8f973373505bb206e0e5d87af8fb1f5514ef",NonfungiblePositionManager:"0xcb91c75a6b29700756d4411495be696c4e9a576e",Permit2:"0x56783fbf77a33871892a2d66337677555714ffbb",UniversalRouter:"0x955d56f6391a496231509134e0d2beadf82a223f",SelectiveTaxRouter:"0x19956ebe69659c78ad4ee500694287bc6f67c4da",SelectiveTaxRouterPermit2:"0x4c2c989f20794fa92d3082a3d49d9a430face555",WCMExchange:"0x5e3Ae52EbA0F9740364Bd5dd39738e1336086A8b",WCMPriceHelper:"0x9da7fef3a37536010cf7a0bbdccce17df69fe0a6",WCMSwapRouter:"0x94b6706fa26a4f3dcf501ff25e1e4628b75adc69"});var i=r(70636);let o="f2659e79b89294387cc8737f43433563",l=!0,d=void 0!==i,c=void 0!==i,u=void 0!==i,p=void 0!==i,m="mainnet",f=void 0!==i&&i.env?.NEXT_PUBLIC_MOSS_WALLET_SPONSOR_URL||void 0,g="/api/rpc",y="https://mainnet.megaeth.com/rpc",h="https://megaeth.blockscout.com",b={...a,rpcUrls:{default:{http:[y],webSocket:[]},public:{http:[y],webSocket:[]}}},w="/api/aa/bundler",S="/api/aa/paymaster",v=n.ETH,x=n.WETH,E=n.USDC;n.USDT;let k=n.USDT0,T=n.USDM||n.USDC,$=[E.toLowerCase(),k.toLowerCase()],C=s.SwapRouter02,A=s.QuoterV2,M=s.UniswapV3Factory,F=s.NonfungiblePositionManager,I=s.Permit2,N=s.UniversalRouter;s.SmartWalletExecutor;let P=s.SelectiveTaxRouter,U=s.SelectiveTaxRouterPermit2,R="prism_dex",L=void 0!==i&&"71f61f3e-ff30-4acc-99cd-7f38bf681bdf.3e9d8413-5e14-4651-a99c-6026f1d3746c"||void 0!==i&&i.env?.LIFI_API_KEY||"",O=!0,D=!0,_=!1},21966:(e,t,r)=>{r.d(t,{CF:()=>l,FB:()=>o,Ry:()=>d,Uc:()=>s,ph:()=>c,sE:()=>i});let a="prism.predict.authRefreshNeeded",n="prism_predict_csrf",s="prism:predict-auth-refresh-needed";function i(){}function o(){window.sessionStorage.setItem(a,"1"),window.dispatchEvent(new Event(s))}function l(){return"1"===window.sessionStorage.getItem(a)}function d(){window.sessionStorage.removeItem(a)}function c(){if("u"<typeof document)return null;let e=document.cookie.split(";").map(e=>e.trim()).find(e=>e.startsWith(`${n}=`));return e?decodeURIComponent(e.slice(n.length+1)):null}},30636:(e,t,r)=>{r.d(t,{Fl:()=>d,M0:()=>i,NJ:()=>p,UK:()=>c,Vf:()=>g,ZV:()=>l,eo:()=>m,gn:()=>f,j$:()=>u,u1:()=>s});let a=(e,t)=>{for(let r of t){let t=e.match(r);if(t?.[1])return t[1].trim()}return null},n=e=>{let t=a(e,[/reverted with the following reason:\s*(.+)$/i,/execution reverted(?::\s*(.+))?$/i,/reverted:\s*(.+)$/i,/reason:\s*(.+)$/i]);return t||(a(e,[/(user rejected.+)$/i,/(user denied.+)$/i])?"Transaction rejected":/insufficient funds/i.test(e)?"Insufficient funds":/nonce too low/i.test(e)?"Nonce too low":/replacement transaction underpriced/i.test(e)?"Replacement transaction underpriced":e)};function s(e){if(!(e instanceof Error))return"Unknown error occurred";let t=e.shortMessage;return"string"==typeof t&&t.trim()?n(t):n(e.message)}function i(e){return e?e.slice(0,6)+"â¦"+e.slice(-4):""}let o=(e,t,r,a)=>{let n=e<0n?-e:e,s=10n**BigInt(a),i=a>0?(0n===t?0n:n%t*s/t).toString().padStart(a,"0").replace(/0+$/,""):"";return`${e<0n?"-":""}${(n/t).toString()}${i?".":""}${i}${r}`};function l(e,t=2){if("bigint"==typeof e){let r=e<0n?-e:e;return r>=1000000000000n?o(e,1000000000000n,"T",t):r>=1000000000n?o(e,1000000000n,"B",t):r>=1000000n?o(e,1000000n,"M",t):r>=1000n?o(e,1000n,"K",t):o(e,1n,"",t)}let r=Number(e);if(!isFinite(r)||isNaN(r))return"0";let a=Math.abs(r);if(0===a)return"0";let n=Math.pow(10,-Math.min(Math.max(t,0),8));if(a<n)return`<${n.toFixed(Math.min(t,8)).replace(/\.0+$/,"")}`;if(a>=1e3)try{return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:t}).format(r)}catch{}return d(r,t)}function d(e,t=3){let r=Number(e);if(!isFinite(r)||isNaN(r)||0===r)return"0";if(r===Math.round(r))return r.toString();let[a,n]=r.toFixed(18).split(".");if(!n||!/[1-9]/.test(n))return a;let s=n.match(/^(0*)([1-9]\d*)/);if(!s)return a;let i=s[1],o=s[2].slice(0,t).replace(/0+$/,"");return!o||r>1&&i.length>3||i.length>6?a:`${a}.${i}${o}`}function c(e){let t=Number(e);if(!isFinite(t)||isNaN(t)||0===t)return"0";let r=Math.abs(t);if(r>=1e3)try{return new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:2}).format(t)}catch{return l(t,2)}return r>=1||r>=.01?l(t,2):r>
1=1e-4?l(t,4):"<0.0001"}function u(e){let t=Number(e);if(!isFinite(t)||isNaN(t)||0===t)return"$0";let r=Math.abs(t),a=t<0?"-":"";return r>=1e12?`${a}$${(t/1e12).toFixed(2)}T`:r>=1e9?`${a}$${(t/1e9).toFixed(2)}B`:r>=1e6?`${a}$${(t/1e6).toFixed(2)}M`:r>=1e3?`${a}$${(t/1e3).toFixed(2)}K`:`${a}$${l(t,2)}`}function p(e){let t=Number(e);if(!isFinite(t)||isNaN(t)||0===t)return"0";let r=Math.abs(t);return r>=1e3?l(t,2):r>=1?l(t,4):r>=.01?l(t,6):r>=1e-6?l(t,8):d(t,12)}function m(e){let t=Number(e);if(!isFinite(t)||isNaN(t)||0===t)return"0";let r=Math.abs(t);try{if(r>=1e3)return new Intl.NumberFormat("en-US",{maximumFractionDigits:0}).format(t);if(r>=1)return new Intl.NumberFormat("en-US",{maximumFractionDigits:4}).format(t);if(r>=.01)return new Intl.NumberFormat("en-US",{maximumFractionDigits:6}).format(t)}catch{}return d(t,4)}function f(e,t){return"bigint"==typeof t?t.toString()+"n":t}function g(e,t){return"string"==typeof t&&/^[-]?\d+n$/.test(t)?BigInt(t.slice(0,-1)):t}},52136:(e,t,r)=>{r.d(t,{D:()=>S,n:()=>v});var a=r(73365),n=r(1521),s=r(82422),i=r(42265),o=r(339),l=r(21002),d=r(77127),c=r(29717),u=r(30299),p=r(75304),m=r(99284),f=r(21966),g=r(66549);function y({isOpen:e,isSubmitting:t,mode:r="session",statusText:n,actionLabel:s,title:i,description:o,details:l,confirmLabel:d,error:c,onClose:u,onConfirm:p}){return e?(0,a.jsx)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/70 px-4",children:(0,a.jsxs)("div",{className:"w-full max-w-md rounded-2xl border border-[#2a2a2f] bg-[#151518] p-6 shadow-2xl",children:[(0,a.jsxs)("div",{className:"mb-4",children:[(0,a.jsx)("h2",{className:"text-xl font-semibold text-white",children:i||"Set Up Your Predict Wallet"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-[#a1a1aa]",children:o||(0,a.jsxs)(a.Fragment,{children:["Prism needs one signature to create your prediction wallet on Polygon before you can",
1s?` ${s}`:" use protected prediction features","."]})}),(0,a.jsx)("p",{className:"mt-3 text-sm leading-6 text-[#71717b]",children:l||"This is a one-time setup for your wallet. Signing does not spend funds or submit a transaction."})]}),(0,a.jsx)("div",{className:"rounded-xl border border-[#27272a] bg-[#111114] p-4 text-sm text-[#d4d4d8]",children:"wallet"===r?"This may require two signatures: one to refresh your session and one to validate your trading wallet setup.":"This refreshes your existing session so protected actions continue working without first-time auth errors."}),c?(0,a.jsx)("div",{className:"mt-4 rounded-xl border border-[#5b2230] bg-[#2a131a] px-4 py-3 text-sm text-[#ff9db0]",children:c}):null,t?(0,a.jsx)("div",{className:"mt-4 rounded-xl border border-[#1f3b33] bg-[#0f1f1b] px-4 py-3 text-sm text-[#a7f3d0]",children:n||"Please confirm the signature request in your wallet."}):null,(0,a.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-3",children:[(0,a.jsx)("button",{type:"button",onClick:u,disabled:t,className:"rounded-xl border border-[#34343a] px-4 py-2 text-sm font-medium text-[#d4d4d8] transition-colors hover:bg-[#1e1e22] disabled:cursor-not-allowed disabled:opacity-60",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:p,disabled:t,className:"rounded-xl bg-[#00ffa3] px-4 py-2 text-sm font-semibold text-[#0b0b0b] transition-colors hover:bg-[#00e693] disabled:cursor-not-allowed disabled:opacity-60",children:t?"Check wallet...":d||"Sign to Continue"})]})]})}):null}var h=r(96726),b=r(96900);let w=(0,n.createContext)(void 0);function S({children:e}){let{isConnected:t,address:r}=(0,o.F)(),{data:S}=(0,l.G)(),{isConnected:v,address:x}=(0,h.X)(),{openConnectModal:E}=(0,i.Vx)(),{signMessageAsync:k}=(0,d.Y)(),T=(0,c.usePathname)(),{lastEthPrice:$}=(0,p.W)(),C=function(e){let[t,r]=(0,n.useState)(!1);return(0,n.useEffect)(()=>{let t=window.matchMedia(e);r(t.matches);let a=()=>r(t.matches);return t.addEventListener("change",a),()=>t.removeEventListener("change",a)},[e]),t}("(min-width: 768px)"),A=function(){let[,e]=(0,u.lT)();return(0,n.useEffect)(()=>{document.documentElement.classList.add("dark"),e("theme","dark",{path:"/"})},[e]),(0,n.useMemo)(()=>({theme:"dark",setTheme:()=>{},toggleTheme:()=>{}}),[])}(),[M,F]=(0,n.useState)(null),[I,N]=(0,n.useState)(null),[P,U]=(0,n.useState)(null),[R,L]=(0,n.useState)(!1),O=(0,n.useRef)(null),D=(0,n.useRef)(void 0),_=(0,n.useRef)(!1),W=(0,n.useRef)(0),j=v?x:r,B=(0,n.useMemo)(()=>v&&x?(0,b.TF)(x):void 0,[v,x]),H=v?B:S,q=!!(T?.startsWith("/predict")||T?.startsWith("/polymarket")||T?.startsWith("/portfolio")),G=(0,n.useCallback)(e=>{let t=O.current;O.current=null,F(null),N(null),U(null),t?.(e)},[]),V=(0,n.useCallback)(async e=>j?new Promise(O.current?e=>{let t=O.current;O.current=r=>{t?.(r),e(r)}}:t=>{O.current=t,N(null);let r=(0,f.CF)();F("wallet"===(e?.mode||"session")?{title:"Set Up Predict Wallet",description:`Sign to set up your trading wallet before you${e?.actionLabel?` ${e.actionLabel}`:" use protected prediction features"}.`,details:"You will first refresh your session, then sign the wallet derivation message needed for trading actions. This does not submit a transaction.",confirmLabel:"Sign to Set Up",successMessage:"Predict wallet ready",...e}:r?{title:"Refresh Predict Session",description:`Your predict wallet already exists. Sign once to refresh your expired session before you${e?.actionLabel?` ${e.actionLabel}`:" use protected prediction features"}.`,details:"This refreshes authentication for your existing wallet. Signing does not create a new wallet, spend funds, or submit a transaction.",confirmLabel:"Sign to Refresh",successMessage:"Predict session refreshed",...e}:e||{})}):(E?.(),!1),[E,j]),Y=(0,n.useCallback)(async e=>v&&H?.signMessage&&j?H.signMessage({account:j,message:e}):k({message:e}),[v,k,j,H]),z=(0,n.useCallback)(async()=>{if(!j){E?.(),G(!1);return}try{L(!0),N(null);let e=M?.mode||"session";U("wallet"===e?"Step 1 of 2: Sign to refresh your session.":"Step 1 of 1: Sign to refresh your session.");let t=await g.zF.getAuthMessage(j),r=await Y(t.message);if(await g.zF.login({megaethAddress:j,challengeId:t.challengeId,walletSignature:r}),"wallet"===e){let e=await g.zF.getWalletOnboardingStatus(j);if(e.newWalletOnboardingPaused)return void N(e.message||"New prediction wallet setup is temporarily paused.");U("Step 2 of 2: Sign to verify your trading wallet setup.");let{message:t}=await g.zF.getWalletMessage(),r=await Y(t);await g.zF.setupWallet({megaethAddress:j,walletSignature:r})}(0,f.Ry)(),s.Ay.success(M?.successMessage||("wallet"===e?"Predict wallet ready":"Predict session refreshed")),G(!0)}catch(e){N((0,m.s)(e,"Failed to set up predict wallet"))}finally{L(!1),U(null)}},[G,E,M?.successMessage,Y,j]);(0,n.useEffect)(()=>{let e=D.current;D.current=j,e&&e!==j&&(g.zF.logout().catch(()=>void 0),(0,f.Ry)())},[j]),(0,n.useEffect)(()=>
1{if(!j)return;let e=!1;return g.zF.getSession().then(t=>{if(!e){if(t.walletAddress?.toLowerCase()===j.toLowerCase())return void(0,f.Ry)();g.zF.logout().catch(()=>void 0)}}).catch(()=>void 0),()=>{e=!0}},[j]),(0,n.useEffect)(()=>{if(!j)return;let e=()=>{!q||!(0,f.CF)()||O.current||R||_.current||Date.now()<W.current||(_.current=!0,W.current=Date.now()+3e4,V({mode:"session",actionLabel:"continue using prediction features"}).finally(()=>{_.current=!1}))};return e(),window.addEventListener(f.Uc,e),()=>{window.removeEventListener(f.Uc,e)}},[q,R,V,j]);let X=(0,n.useMemo)(()=>({themeHook:A,isDesktop:C,lastEthPrice:$,isConnected:v||t||!!j,userAddress:j,walletClient:H,requestPredictWalletSetup:V}),[A,C,$,v,t,j,H,V]);return(0,a.jsxs)(w.Provider,{value:X,children:[e,(0,a.jsx)(y,{isOpen:!!M,isSubmitting:R,actionLabel:M?.actionLabel,mode:M?.mode,statusText:P,title:M?.title,description:M?.description,details:M?.details,confirmLabel:M?.confirmLabel,error:I,onClose:()=>G(!1),onConfirm:z})]})}function v(){let e=(0,n.useContext)(w);if(void 0===e)throw Error("useApp must be used within a AppProvider");return e}},66549:(e,t,r)=>{r.d(t,{c7:()=>u,t6:()=>s,zF:()=>m});var a=r(86952),n=r(21966);class s extends Error{constructor(e,t,r){super(t),this.code=e,this.status=r,this.name="PolymarketAPIError"}}let i=new Map,o=new Map,l=new Map,d=new Map,c=async e=>{if(!e.ok){let t=await e.json().catch(()=>({})),r=t.error?.code||"UNKNOWN_ERROR";throw(401===e.status||403===e.status&&"AUTH_ADDRESS_MISMATCH"===r)&&((0,n.sE)(),(0,n.FB)()),new s(r,t.error?.message||"An unknown error occurred",e.status)}return e.json()},u=async(e,t={})=>{let r=t.method||"GET",s="GET"===r?null:(0,n.ph)(),i={...void 0!==t.body?{"Content-Type":"application/json"}:{},...s?{"X-CSRF-Token":s}:{},...t.headers||{}};return fetch(`${a.M8}${e}`,{method:r,headers:i,body:void 0!==t.body?JSON.stringify(t.body):void 0,signal:t.signal,cache:t.cache,credentials:"include"})},p=async(e,t={})=>c(await u(e,t)),m={getAuthMessage:async e=>{let t=new URLSearchParams({megaethAddress:e});return p(`/api/auth/message?${t.toString()}`)},login:async e=>p("/api/auth/login",{method:"POST",body:e}),getWalletMessage:async()=>p("/api/intents/wallet-message"),getWalletOnboardingStatus:async e=>{let t=new URLSearchParams({megaethAddress:e});return p(`/api/intents/wallet-onboarding-status?${t.toString()}`,{cache:"no-store"})}
1,setupWallet:async e=>p("/api/intents/wallet-setup",{method:"POST",body:e}),getSession:async()=>p("/api/auth/session"),logout:async()=>p("/api/auth/logout",{method:"POST"}),createIntent:async e=>p("/api/intents",{method:"POST",body:e}),previewIntent:async e=>p("/api/intents/preview",{method:"POST",body:e}),submitOriginTx:async(e,t,r)=>{let a={txHash:t};return r&&(a.walletSignature=r),p(`/api/intents/${e}/origin-tx`,{method:"POST",body:a})},createRouterBridgeTx:async e=>p(`/api/intents/${e.intentId}/router-tx`,{method:"POST",body:{megaethAddress:e.megaethAddress}}),getIntentStatus:async e=>p(`/api/intents/${e}`),retryIntent:async e=>{await p(`/api/intents/${e}/retry`,{method:"POST"})},getMarkets:async e=>{let t=new URLSearchParams;e?.limit&&t.append("limit",e.limit.toString()),e?.offset&&t.append("offset",e.offset.toString()),e?.active!==void 0&&t.append("active",e.active.toString()),e?.tagId!==void 0&&t.append("tag",e.tagId.toString()),e?.category&&t.append("category",e.category),e?.search&&t.append("search",e.search),e?.sort&&t.append("sort",e.sort);let r=t.toString(),a=`/api/markets${r?`?${r}`:""}`,n=r||"__default__",s=Date.now(),i=e?.search?1500:5e3,o=l.get(n);if(o&&s-o.ts<o.ttlMs)return o.data;let c=d.get(n);if(c)return c;let u=(async()=>{let e=await p(a);return l.set(n,{ts:Date.now(),data:e,ttlMs:i}),e})();d.set(n,u);try{return await u}finally{d.delete(n)}},getCryptoMarkets:async e=>{let t=new URLSearchParams;e?.bucket&&t.append("_c",e.bucket),e?.sort&&t.append("_s",e.sort),e?.status&&t.append("_sts",e.status),e?.limit&&t.append("_l",e.limit.toString()),e?.offset&&t.append("_offset",e.offset.toString()),e?.nocache&&t.append("nocache","1");let r=await p(`/api/crypto/markets${t.toString()?`?${t.toString()}`:""}`);return Array.isArray(r)?{markets:r}:r},getEvents:async e=>{let t=new URLSearchParams;return e?.tagId!==void 0&&t.append("tag_id",e.tagId.toString()),e?.relatedTags!==void 0&&t.append("related_tags",e.relatedTags.toString()),e?.excludeTagId!==void 0&&t.append("exclude_tag_id",e.excludeTagId.toString()),e?.category&&t.append("category",e.category),e?.order&&t.append("order",e.order),e?.ascending!==void 0&&t.append("ascending",e.ascending.toString()),e?.closed!==void 0&&t.append("closed",e.closed.toString()),e?.limit&&t.append("limit",e.limit.toString()),e?.offset&&t.append("offset",e.offset.toString()),p(`/api/events${t.toString()?`?${t.toString()}`:""}`)},getMarket:async e=>p(`/api/markets/${e}`),getEventMarkets:async e=>p(`/api/markets/event/${encodeURIComponent(e)}`),getUserPositions:async(e,t)=>{let r=e.toLowerCase(),a=Date.now(),n=t?.bypassCache===!0,s=i.get(r);if(!n&&s&&a-s.ts<5e3)return s.data;let l=o.get(r);if(!n&&l)return l;let d=(async()=>{let t=await p(`/api/positions/eoa/${e}`,{cache:"no-store"});return i.set(r,{ts:Date.now(),data:t}),t})();o.set(r,d);try{return await d}finally{o.delete(r)}},getSafeBalance:async e=>p(`/api/withdraw/balance/${e}`),getUserProfile:async e=>(await p(`/api/profile/${e}`)).profile,updateUserProfile:async e=>(await p("/api/profile",{method:"PUT",body:e})).profile,initiateWithdrawal:async e=>p("/api/withdraw",{method:"POST",body:e}),getWithdrawalStatus:async e=>p(`/api/withdraw/${e}`),redeemPosition:async e=>p("/api/positions/redeem",{method:"POST",body:e}),getPriceHistory:async e=>{let t=new URLSearchParams;return e.startTs&&t.append("startTs",e.startTs.toString()),e.endTs&&t.append("endTs",e.endTs.toString()),e.fidelity&&t.append("fidelity",e.fidelity.toString()),p(`/api/markets/${e.tokenId}/history${t.toString()?`?${t.toString()}`:""}`)},getFeaturedMarkets:async e=>{let t=new URLSearchParams;e?.trendingLimit&&t.append("trendingLimit",e.trendingLimit.toString()),e?.perCategory&&t.append("perCategory",e.perCategory.toString());let r=`/api/markets/featured${t.toString()?`?${t.toString()}`:""}`,a=new AbortController,n=setTimeout(()=>a.abort(),2e4);try{let e=await u(r,{signal:a.signal});return clearTimeout(n),c(e)}catch(e){if(clearTimeout(n),e instanceof Error&&"AbortError"===e.name)throw Error("Request timeout - please try again");throw e}},getTags:async()=>p("/api/markets/tags"),getEthPrice:async()=>p("/api/eth-price"),getOrderbook:async e=>{let t=new URLSearchParams({outcome:e.outcome});return e.bypassCache&&(t.append("nocache","1"),t.append("_t",String(Date.now()))),c(await u(`/api/markets/${e.marketId}/orderbook?${t.toString()}`,{cache:"no-store"}))},getTradeHistory:async e=>{let t=new URLSearchParams;return e.limit&&t.append("limit",e.limit.toString()),e.offset&&t.append("offset",e.offset.toString()),p(`/api/positions/history/${e.eoaAddress}${t.toString()?`?${t.toString()}`:""}`)},getOpenInterest:async e=>p(`/api/polymarket-data/open-interest?market=${encodeURIComponent(e)}`),getLiveVolume:async e=>p(`/api/polymarket-data/live-volume?eventId=${encodeURIComponent(String(e))}`),getUserActivity:async e=>{let t=new URLSearchParams;return t.append("user",e.user),void 0!==e.limit&&t.append("limit",String(e.limit)),void 0!==e.offset&&t.append("offset",String(e.offset)),e.market&&t.append("market",e.market),e.eventId&&t.append("eventId",e.eventId),e.type&&t.append("type",e.type),void 0!==e.start&&t.append("start",String(e.start)),void 0!==e.end&&t.append("end",String(e.end)),e.sortBy&&t.append("sortBy",e.sortBy),e.sortDirection&&t.append("sortDirection",e.sortDirection),e.side&&t.append("side",e.side),p(`/api/polymarket-data/activity?${t.toString()}`)},getTopHolders:async e=>{let t=new URLSearchParams;return t.set("market",e.market),void 0!==e.limit&&t.set("limit",String(e.limit)),void 0!==e.minBalance&&t.set("minBalance",String(e.minBalance)),p(`/api/polymarket-data/holders?${t.toString()}`)},getOpenOrders:async e=>p(`/api/intents/orders?megaethAddress=${encodeURIComponent(e)}
1`),cancelOrder:async e=>p("/api/intents/cancel",{method:"POST",body:e}),getSwipeNext:async e=>{let t=new URLSearchParams;return e.limit&&t.append("limit",String(e.limit)),e.forceRefresh&&t.append("forceRefresh","true"),e.category&&"all"!==e.category&&t.append("category",e.category),Number.isFinite(e.minVolume24h)&&e.minVolume24h>0&&t.append("minVolume24h",String(e.minVolume24h)),p(`/api/swipe/${encodeURIComponent(e.megaethAddress)}/next${t.toString()?`?${t.toString()}`:""}`)},recordSwipeAction:async e=>p(`/api/swipe/${encodeURIComponent(e.megaethAddress)}/action`,{method:"POST",body:{marketId:e.marketId,action:e.action,shownAt:e.shownAt,reason:e.reason,metadata:e.metadata}})}},75304:(e,t,r)=>{r.d(t,{W:()=>s,_T:()=>i});var a=r(1521),n=r(81774);function s(){let[e,t]=(0,a.useState)("0"),[r,s]=(0,a.useState)(null),[i,l]=(0,a.useState)(!1),d=(0,n.et)("eth_price",[]);(0,a.useEffect)(()=>{c()},[]);let c=(0,a.useCallback)(async()=>{if(!i&&!(r&&Date.now()-r<3e4)){l(!0);try{{let e=sessionStorage.getItem(d);if(e)try{let r=JSON.parse(e),a=String(r?.data||"0"),n=Number(r?.timestamp||0);if(n>0&&Date.now()-n<3e5&&Number(a)>0){t(a),s(Date.now());return}}catch{sessionStorage.removeItem(d)}}let e=await o();if(0>=Number(e))throw Error("Invalid ETH price received");t(e),s(Date.now()),(0,n.uq)("eth_price",[],e)}catch(e){console.error("Failed to update ETH price:",e),sessionStorage.removeItem(d)}finally{l(!1)}}},[d,3e5,i,r]);return{lastEthPrice:e,isLoading:i,updatedTs:r,refreshEthPrice:c}}async function i(){let e=await fetch(`/api/eth-price?strict=1&ts=${Date.now()}`,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store"});if(!e.ok)throw Error(`ETH price unavailable (${e.status})`);let t=Number((await e.json()).ethPriceUSD);if(!Number.isFinite(t)||t<=0)throw Error("Invalid ETH price received");return t}async function o(){try{return String(await i())}catch(e){return console.error("Failed to fetch ETH price from API:",e),"3000"}}},81774:(e,t,r)=>{r.d(t,{Ln:()=>n,et:()=>i,uq:()=>s});var a=r(30636);async function n(e,t,r,s,o=!1){let l=i(e,r),d=sessionStorage.getItem(l);if(null!==d){var c,u;let t;o&&console.log("READ FROM CACHE",e);let r=JSON.parse(d,a.Vf);if(c=r,u=s,t=Date.now()-c.timestamp,!u||!(t>u))return r.data;sessionStorage.removeItem(l)}let p=await t(...r),m={data:p,timestamp:Date.now()};return sessionStorage.setItem(l,JSON.stringify(m,a.gn)),o&&console.log("WRITING CACHE",e),p}function s(e,t,r){let n=i(e,t),s={data:r,timestamp:Date.now()};sessionStorage.setItem(n,JSON.stringify(s,a.gn))}function i(e,t){let r=[e,...t].map(e=>"object"==typeof e?JSON.stringify(e,a.gn):String(e));return"_cache_"+e+"_"+(function(e){let t=0;for(let r of e)t=(t<<5)-t+r.charCodeAt(0)|0;return t})(r.join(" -|- ")).toString()}},86952:(e,t,r)=>{r.d(t,{M8:()=>a,aE:()=>n,fv:()=>i,i$:()=>s});let a="https://api.prismfi.cc",n={CREATED:{label:"Initializing trade...",description:"Setting up your trade intent",progress:0},WALLET_DEPLOYING:{label:"Deploying wallet...",description:"Your Polymarket wallet is being deployed",progress:5},WALLET_READY:{label:"Wallet ready",description:"Your Polymarket wallet is prepared",progress:10},RELAY_QUOTED:{label:"Ready to sign",description:"Please sign the transaction in your wallet",progress:20},ORIGIN_TX_SUBMITTED:{label:"Transaction submitted",description:"MegaETH transaction submitted. Waiting for Relay bridge progress.",progress:30},RELAY_EXECUTING:{label:"Bridging funds...",description:"Cross-chain transfer in progress via Relay",progress:50},DEST_FUNDED:{label:"Funds received on Polygon",description:"USDC received in your Polymarket wallet",progress:70},ORDER_SUBMITTING:{label:"Placing order on Polymarket...",description:"Submitting your prediction market order",progress:80},ORDER_PLACED:{label:"Order placed",description:"Waiting for order to be filled",progress:90},FILLED:{label:"Trade complete!",description:"Your position has been successfully opened",progress:100,success:!0},PARTIAL_FILL:{label:"Partially filled",description:"Order partially executed, remaining amount pending",progress:95},NEEDS_RETRY:{label:"Action required",description:"Transaction needs to be retried",progress:70,canRetry:!0},FAILED:{label:"Trade failed",description:"An error occurred during the trade",progress:0,error:!0},CANCELLED:{label:"Trade cancelled",description:"Trade was cancelled by user or system",progress:0}},s=50,i=1e3},96726:(e,t,r)=>{r.d(t,{l:()=>E,X:()=>k}
1);var a=r(73365),n=r(55910),s=r(1521),i=r(88511),o=r(11335),l=r(61078);function d(e){return!!(e&&"0x0000000000000000000000000000000000000000"!==e)}function c(e,t){return d(e)?{to:e,signature:t}:null}function u(e,t,r){return void 0===r||d(r)?{limit:e,period:t,token:r}:null}function p(e){return e.filter(e=>null!==e)}function m(e=[],t=[]){var r;let a,n=Array.isArray(e)?{scopes:["swap","trade"],extraCalls:e,extraSpend:t}:e,s=(n.scopes&&n.scopes.length>0?n.scopes:["swap","trade"]).includes("swap"),f=n.extraCalls??[],g=n.extraSpend??[],y=(r=p([...s?[c(o.il,"deposit()"),c(o.il,"withdraw(uint256)"),c(o.x1,"approve(address,address,uint160,uint48)"),c(o.bp,"multicall(bytes[])"),c(o.bp,"multicall(uint256,bytes[])"),c(o.bp,"multicall(bytes32,bytes[])"),c(o.bp,"wrapETH(uint256)"),c(o.bp,"unwrapWETH9(uint256)"),c(o.bp,"unwrapWETH9(uint256,address)"),c(o.bp,"exactInputSingle((address,address,uint24,address,uint256,uint256,uint160))"),c(o.bp,"exactInput((bytes,address,uint256,uint256))"),c(o.N8,"execute(bytes,bytes[])"),c(o.N8,"execute(bytes,bytes[],uint256)")]:[],...f,...s&&d(o.EG)?[{to:o.EG,signature:"exactInputSingle((address,address,uint24,address,uint256,uint256,uint160))"},{to:o.EG,signature:"exactOutputSingle((address,address,uint24,address,uint256,uint256,uint160))"}]:[],...s&&d(o.Wr)?[{to:o.Wr,signature:"exactInputSinglePermit2((address,address,uint24,address,uint256,uint256,uint160),(address,uint256,uint256),bytes)"},{to:o.Wr,signature:"exactInputSingleToEthPermit2((address,address,uint24,address,uint256,uint256,uint160),(address,uint256,uint256),bytes)"}]:[]]),a=new Set,r.filter(e=>{if(!d(e.to))return!1;let t=`${e.to.toLowerCase()}:${e.signature}`;return!a.has(t)&&(a.add(t),!0)}));return{permissions:{id:"prism-swap-fast-mode-v1",expiry:function(e=86400){return Math.floor(Date.now()/1e3)+Math.max(60,Math.floor(e))}(n.durationSeconds),feeToken:{limit:(0,l.g)("0.003").toString(),symbol:"ETH"},permissions:{calls:y,spend:p([u((0,l.g)("25"),"day",void 0),...g.length>0?g.map(e=>u(e.limit,"day",e.token)):[u((0,i.X)("10000",18),"day",o.X_),u((0,i.X)("10000",6),"day",o.A$),u((0,l.g)("10000"),"day",o.xI),u((0,l.g)("25"),"day",o.il)]])}},sponsor:!1}}let f={network:o.W8,logging:"error",debug:!1,...o.St?{sponsorUrl:o.St,sponsorMode:"explicit",sponsorToken:"native"}:{}},g={enabled:!1,initialised:!1,status:"disconnected",address:void 0,isConnected:!1,isBusy:!1,isFastModeEnabled:!1,activePermissions:void 0,connect:async()=>null,disconnect:async()=>null,open:async()=>void 0,grantPermissions:async()=>null,getPermissions:async()=>void 0,revokePermissions:async()=>void 0,enableFastMode:async()=>null,disableFastMode:async()=>void 0,refreshPermissions:async()=>void 0},y=(0,s.createContext)(g);function h(e){return{status:"connected"===e.status?"connected":"disconnected",address:e.address}}async function b(){try{let{getContract:e}=await Promise.all([r.e(4611),r.e(1347),r.e(5742)]).then(r.bind(r,11347)),t=e(o.Qt.id,"ExchangeRouter");if(!t)return[];return[{to:t,signature:"multicall(bytes[])"},{to:t,signature:"sendWnt(address,uint256)"},{to:t,signature:"sendTokens(address,address,uint256)"},{to:t,signature:"createOrder(((address,address,address,address,address,address,address[]),(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),uint8,uint8,bool,bool,bool,bytes32,bytes32[]))"},{to:t,signature:"cancelOrder(bytes32)"},{to:t,signature:"updateOrder(bytes32,uint256,uint256,uint256,uint256,uint256,bool)"}]}catch{return[]}}function w(e){return!!(e&&/^0x[a-fA-F0-9]{40}$/.test(e))}function S(e,t){let r,a=(r=new Set,e.filter(e=>w(e.address)).filter(e=>{let t=e.address.toLowerCase();return!r.has(t)&&(r.add(t),!0)}).map(e=>({address:e.address,decimals:Number.isFinite(e.decimals)?Math.max(0,Math.min(36,Number(e.decimals))):18}))),n=new Map((t??[]).filter(e=>w(e.address)).map(e=>[e.address.toLowerCase(),e]));return{calls:a.map(({address:e})=>({to:e,signature:"approve(address,uint256)"})),spend:a.map(({address:e,decimals:t})=>{let r=n.get(e.toLowerCase());return{token:e,limit:r?.amount??BigInt(10)**BigInt(t)*1000000n}})}}async function v(){let e=[{address:o.il,decimals:18,amount:"25"},{address:o.X_,decimals:18,amount:"10000"},{address:o.A$,decimals:6,amount:"10000"},{address:o.xI,decimals:18,amount:"10000"},{address:"0xfafddbb3fc7688494971a79cc65dca3ef82079e7",decimals:18,amount:"1000000"}],t=e.filter(e=>w(e.address)).map(e=>({address:e.address,decimals:e.decimals,amount:(0,i.X)(e.amount,e.decimals)}));return S(e,t)}function x({children:e}
1){let t=(0,n.su)(),[r,i]=(0,s.useState)(!1),[o,l]=(0,s.useState)(!1),[c,u]=(0,s.useState)(!1),[p,f]=(0,s.useState)(!1),[g,w]=(0,s.useState)(void 0),[x,E]=(0,s.useState)([]),[k,T]=(0,s.useState)([]),[$,C]=(0,s.useState)([]),[A,M]=(0,s.useState)([]),F="connected"===t.status,I=!!(g?.permissions&&(!g.permissions.expiry||g.permissions.expiry>=Math.floor(Date.now()/1e3))),N=(0,s.useCallback)(async()=>{i(!0);try{return h(await n.$g.connect())}finally{i(!1)}},[]),P=(0,s.useCallback)(async()=>{l(!0);try{return h(await n.$g.disconnect())}finally{l(!1)}},[]),U=(0,s.useCallback)(async()=>{u(!0);try{await n.$g.open()}finally{u(!1)}},[]),R=(0,s.useCallback)(async e=>{f(!0);try{let r=await n.$g.grantPermissions(e);return"approved"===r.status&&w(await n.$g.getPermissions(t.address)),r}finally{f(!1)}},[t.address]),L=(0,s.useCallback)(e=>n.$g.getPermissions(e),[]),O=(0,s.useCallback)(()=>n.$g.revokePermissions(),[]),D=(0,s.useCallback)(async()=>{t.address?w(await n.$g.getPermissions(t.address)):w(void 0)},[t.address]),_=(0,s.useCallback)(async e=>{let t=e?.scopes?.length?e.scopes:["swap","trade"],r=$.length>0?$:await b(),a=e?.tokenAllowances?.length?S(e.tokenAllowances,e.tokenAllowances):{calls:A,spend:k},n=[...t.includes("trade")?r:[],...a.calls];return R(m({scopes:t,durationSeconds:e?.durationSeconds,extraCalls:n,extraSpend:a.spend}))},[R,k,$,A]),W=(0,s.useCallback)(async()=>{await O(),w(void 0)},[O]);(0,s.useEffect)(()=>{F?D().catch(()=>void 0):w(void 0)},[F,D]),(0,s.useEffect)(()=>{Promise.all([b(),v()]).then(([e,t])=>{E([...e,...t.calls]),C(e),M(t.calls),T(t.spend)}).catch(()=>void 0)},[]);let j=(0,s.useMemo)(()=>{let e=r?"connecting":F?"connected":"disconnected";return{enabled:!0,initialised:t.initialised,status:e,address:t.address,isConnected:F,isFastModeEnabled:function(e,t=[],r=[]){if(!e||e.expiry&&e.expiry<Math.floor(Date.now()/1e3))return!1;let a=new Set(e.permissions.calls.filter(e=>d(e.to)).map(e=>`${e.to.toLowerCase()}:${e.signature}`));return m(t,r).permissions.permissions.calls.every(e=>a.has(`${e.to.toLowerCase()}:${e.signature}`))}(g?.permissions,x,k)||I,activePermissions:g?.permissions??void 0,isBusy:r||o||c||p,connect:N,disconnect:P,open:U,grantPermissions:R,getPermissions:L,revokePermissions:O,enableFastMode:_,disableFastMode:W,refreshPermissions:D}},[N,P,W,_,L,R,I,F,r,o,p,c,U,g?.permissions,x,k,$,A,D,O,t.address,t.initialised]);return(0,a.jsx)(y.Provider,{value:j,children:e})}function E({children:e}){return o.nO?(0,a.jsx)(n.aH,{config:f,children:(0,a.jsx)(x,{children:e})}):(0,a.jsx)(y.Provider,{value:g,children:e})}function k(){return(0,s.useContext)(y)}},96900:(e,t,r)=>{r.d(t,{TF:()=>x,ZA:()=>l,mK:()=>d,queueMossWalletCall:()=>S,vB:()=>v});var a=r(36e3),n=r(56068),s=r(11335);let i=new WeakMap,o=Symbol.for("prism.mossWalletClient");function l(e){return!!(e&&!0===e[o])}function d(e){if(l(e))return{queueForNextCall:!0,waitForReceipt:!1}}function c(e){return"bigint"==typeof e?e.toString():Array.isArray(e)?e.map(c):e&&"object"==typeof e?Object.fromEntries(Object.entries(e).map(([e,t])=>[e,c(t)])):e}function u(e,t){return{index:t,address:e.address,functionName:e.functionName,selector:e.data?.slice(0,10),value:c(e.value),args:c(e.args)}}function p(e){return(Array.isArray(e)?e:[e]).map(u)}function m(e){return{status:e.status,error:e.error,hash:e.receipt?.hash,hashes:e.receipts?.map(e=>e.hash),silentHasUsedFallback:e.silentHasUsedFallback}}function f(e){if("cancelled"===e.status)throw console.warn("[MOSS] Transaction cancelled",m(e)),Error("User rejected the MOSS wallet request.");if("error"===e.status)throw console.error("[MOSS] Transaction failed",m(e)),Error(e.error||"MOSS wallet transaction failed.");let t=e.receipt?.hash??e.receipts?.[0]?.hash;if(!t)throw console.error("[MOSS] Transaction approved without hash",m(e)),Error("MOSS wallet approved the transaction without returning a hash.");return t}function g(e){let t=e.data??(e.abi&&e.functionName?(0,n.p)({abi:e.abi,functionName:e.functionName,args:e.args?[...e.args]:void 0}):void 0);return{address:e.address,abi:e.abi,functionName:e.functionName,args:e.args?[...e.args]:void 0,data:t,value:e.value,silent:!0,silentUIApproveFallback:!0}}function y(e){return Array.isArray(e)?e[0]:e}function h(e,t){let r=y(e);console.warn("[MOSS] Silent session-key execution failed; falling back to approval",{address:r?.address,functionName:r?.functionName,selector:r?.data?.slice(0,10),calls:Array.isArray(e)?e.length:1,callDetails:p(e),error:t instanceof Error?t.message:t})}async function b(e){let t=Array.isArray(e)?e.map(e=>({...e,args:e.args?[...e.args]:void 0})):{...e,args:e.args?[...e.args]:void 0},r=Array.isArray(t)?t.map(e=>({...e,silent:!0,silentUIApproveFallback:!0})):{...t,silent:!0,silentUIApproveFallback:!0},n=Array.isArray(t)?t.map(e=>({...e,silent:!1,silentUIApproveFallback:!1})):{...t,silent:!1,silentUIApproveFallback:!1};try{let e=await a.$.callContract(r);if("error"===e.status)return h(t,e.error),a.$.callContract(n);return!function(e,t){let r,a,n=(r=t.receipt,a=Array.isArray(t.receipts)?t.receipts[0]:void 0,[t.metadata,t.meta,t.fallback,t.silentFallback,r?.metadata,r?.meta,r?.fallback,r?.silentFallback,a?.metadata,a?.meta,a?.fallback,a?.silentFallback].find(e=>!!e&&"object"==typeof e&&["fallback","fallbackToManual","fellBack","fellBackToManual","manualFallback","manualApproval","permissionFallback","silentFallback","silentFallbackToManual","usedFallback"].some(t=>!0===e[t])||!0===e));if(!n)return;let s=y(e);console.warn("[MOSS] Silent session-key execution completed via manual fallback",{address:s?.address,functionName:s?.functionName,selector:s?.data?.slice(0,10),calls:Array.isArray(e)?e.length:1,callDetails:p(e),metadata:n}),window.dispatchEvent(new CustomEvent("moss:silent-fallback",{detail:{address:s?.address,functionName:s?.functionName,selector:s?.data?.slice(0,10),calls:Array.isArray(e)?e.length:1,metadata:n}}))}(t,e),e}catch(e){return h(t,e),a.$.callContract(n)}}function w(e){let t=i.get(e)??[];return i.delete(e),t}function S(e,t){let r=g(t),a=[...i.get(e)??[],r];i.set(e,a)}function v(e){i.delete(e)}function x(e){let t,r=async e=>{var t;
1let r=await a.$.signMessage("string"==typeof(t=e.message)?t:t.raw instanceof Uint8Array?new TextDecoder().decode(t.raw):t.raw);if("cancelled"===r.status)throw Error("User rejected the MOSS signature request.");if("error"===r.status||!r.signature)throw Error(r.error||"MOSS wallet did not return a signature.");return r.signature},n=async e=>{let t=await a.$.signData({data:e&&"object"==typeof e&&"message"in e&&!("value"in e)?{domain:e.domain,types:e.types,primaryType:e.primaryType,value:e.message}:e});if("cancelled"===t.status)throw Error("User rejected the MOSS typed data request.");if("error"===t.status||!t.signature)throw Error(t.error||"MOSS wallet did not return a typed data signature.");return t.signature},i=async e=>{if(!e.to)throw Error("MOSS sendTransaction requires a recipient.");let r={address:e.to,data:e.data,value:e.value},a=w(t);return f(await b(a.length>0?[...a,r]:r))};return(t={account:{address:e,type:"json-rpc"},chain:s.Qt,getAddresses:async()=>[e],getChainId:async()=>s.Qt.id,request:async({method:t,params:a})=>{let o=null==a?[]:Array.isArray(a)?a:[a];switch(t){case"eth_accounts":case"eth_requestAccounts":return[e];case"eth_chainId":return`0x${s.Qt.id.toString(16)}`;case"personal_sign":{let[e,t]=o;return r({message:"string"==typeof e&&e.startsWith("0x")&&"string"==typeof t?t:e})}case"eth_signTypedData_v4":{let e=o[1]??o[0];return n("string"==typeof e?JSON.parse(e):e)}case"eth_sendTransaction":{let e=o[0];if(!e)throw Error("MOSS eth_sendTransaction requires transaction params.");return i(e)}case"wallet_switchEthereumChain":{let e=o[0],t="string"==typeof e?.chainId?Number(e.chainId):e?.chainId;if(t&&t!==s.Qt.id)throw Error("MOSS wallet only supports the configured MegaETH network in Prism.");return null}case"wallet_addEthereumChain":return null;default:throw Error(`MOSS wallet does not support ${t}.`)}},sendTransaction:i,writeContract:async e=>{let r=g(e),a=w(t);return f(await b(a.length>0?[...a,r]:r))},signMessage:r,signTypedData:n})[o]=!0,t}},99284:(e,t,r)=>{r.d(t,{s:()=>a});function a(e,t="Something went wrong"){let r=String(e?.shortMessage||e?.message||t).trim(),n=r.toLowerCase();return e?.code===4001||n.includes("user rejected")||n.includes("rejected the request")||n.includes("user denied")||n.includes("user cancelled")||n.includes("user canceled")||n.includes("request rejected")?"The user rejected the transaction":r.length<=120?r:`${r.slice(0,119)}...`}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.