1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,444914,e=>{"use strict";e.s(["COLLATERAL_OFFRAMP_ADDRESS",()=>b,"COLLATERAL_ONRAMP_ADDRESS",()=>w,"CRYPTO_TAGS",()=>B,"CTF_ADDRESS",()=>f,"CTF_COLLATERAL_ADAPTER_ADDRESS",()=>E,"CTF_EXCHANGE_V2_ADDRESS",()=>y,"DATA_API_URL",()=>r,"DEPOSIT_WALLET_BEACON_ADDRESS",()=>R,"DEPOSIT_WALLET_FACTORY_ADDRESS",()=>P,"DEPOSIT_WALLET_IMPLEMENTATION_ADDRESS",()=>C,"GAMMA_API_URL",()=>a,"GEOBLOCK_TRADE_MESSAGE",()=>s,"GEOBLOCK_URL",()=>i,"GNOSIS_MULTISEND_ADDRESS",()=>N,"GNOSIS_SAFE_FACTORY_ADDRESS",()=>T,"MIN_SEARCH_LENGTH",()=>H,"NEG_RISK_ADAPTER_ADDRESS",()=>g,"NEG_RISK_CTF_COLLATERAL_ADAPTER_ADDRESS",()=>A,"NEG_RISK_CTF_EXCHANGE_V2_ADDRESS",()=>S,"ORDER_SIDE_VALUES",()=>W,"POLYGONSCAN_TX_URL",()=>O,"POLYGON_CHAIN_ID",()=>I,"POLYMARKET_BUILDER_CODE",()=>x,"POLYMARKET_GEOBLOCK_DOCS_URL",()=>l,"POLYMARKET_KEY_LOCAL_STORAGE",()=>F,"POLYMARKET_PROXY_FACTORY_ADDRESS",()=>k,"POLYMARKET_PROXY_INIT_CODE_HASH",()=>_,"PUSD_ADDRESS",()=>v,"RECURRING_WINDOW_TAGS",()=>Y,"SIGNATURE_TYPES",()=>U,"SPORTS_TAGS",()=>G,"TIMING",()=>j,"TRADING_PAUSED_MESSAGE",()=>o,"USDC_DECIMALS",()=>L,"USDC_POLYGON_ADDRESS",()=>h,"V2_FEE_BUFFER_MULTIPLIER",()=>M,"WS_URL",()=>n,"deriveGeoTier",()=>u,"geoBlockMessage",()=>m,"getClobApiUrl",()=>p,"getPolymarketAddresses",()=>D,"isOrderGeoBlocked",()=>d]);var t=e.i(734071);let a="https://gamma-api.polymarket.com",r="https://data-api.polymarket.com",n="wss://ws-subscriptions-clob.polymarket.com/ws/market",i="https://polymarket.com/api/geoblock",l="https://docs.polymarket.com/api-reference/geoblock",s="Trading is unavailable in your region.",o="Polymarket has paused trading while they investigate an incident. Orders will fail until it is resolved.",c=new Set(["SG","PL","TH","TW"]),u=(e,t)=>e?t&&c.has(t.toUpperCase())?"close-only":"blocked":"allowed",d=(e,t)=>"BUY"===e?"allowed"!==t:"blocked"===t,m=e=>"close-only"===e?"You can close existing positions but can't open new ones in your region.":s,p=()=>"https://clob.polymarket.com",f=(0,t.getAddress)("0x4D97DCd97eC945f40cF65F87097ACe5EA0476045"),g=(0,t.getAddress)("0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296"),h=(0,t.getAddress)("0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"),y=(0,t.getAddress)("0xE111180000d2663C0091e4f400237545B87B996B"),S=(0,t.getAddress)("0xe2222d279d744050d28e00520010520000310F59"),v=(0,t.getAddress)("0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB"),E=(0,t.getAddress)("0xADa100874d00e3331D00F2007a9c336a65009718"),A=(0,t.getAddress)("0xAdA200001000ef00D07553cEE7006808F895c6F1"),w=(0,t.getAddress)("0x93070a847efEf7F70739046A929D47a521F5B8ee"),b=(0,t.getAddress)("0x2957922Eb93258b93368531d39fAcCA3B4dC5854"),x="0xf2a46036a516f74ab47b1dcabe53e69a5491d59fea4e859ce6e1f3013a2813ef",D=e=>({collateralAdapter:e?A:E,collateralOfframp:b,collateralOnramp:w,collateralToken:v,exchange:e?S:y,usdcE:h}),T="0xaacfeea03eb1561c4e67d661e40682bd20e3541b",k="0xaB45c5A4B0c941a2F231C04C3f49182e1A254052",_="0xd21df8dc65880a8606f09fe0ce3df9b8869287ab0b058be05aa9e8af6330a00b",P=(0,t.getAddress)("0x00000000000Fb5C9ADea0298D729A0CB3823Cc07"),C=(0,t.getAddress)("0x58CA52ebe0DadfdF531Cde7062e76746de4Db1eB"),R=(0,t.getAddress)("0x7A18EDfe055488A3128f01F563e5B479D92ffc3a"),N="0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",O="https://polygonscan.com/tx",I=137,L=6,M=1.06,F="polymarket_mainnet",U={EOA:0,GNOSIS_SAFE:2,POLY_1271:3,POLY_PROXY:1},j={ACTIVITY_REFRESH_INTERVAL:3e4,BALANCE_REFRESH_INTERVAL:15e3,CLOB_INDEXING_DELAY:1e3,MARKETS_REFRESH_INTERVAL:3e4,MARKETS_REFRESH_INTERVAL_FAST:2500,ORDERS_REFRESH_INTERVAL:1e4,POSITIONS_REFRESH_INTERVAL:3e4,POST_TX_REFRESH_DELAY:500,PRICE_CACHE_TTL:3e4,REAUTH_COOLDOWN_MS:3e4,RESOLUTION_POLL_LEAD_MS:2e4,RESOLUTION_POLL_TRAIL_MS:3e5,STATUS_REFRESH_INTERVAL:3e4,WS_RECONNECT_BASE_DELAY:1e3,WS_RECONNECT_DELAY:5e3,WS_RECONNECT_MAX_DELAY:3e4},W={BUY:0,SELL:1},G=["sports","football","soccer","basketball","nba","nfl","mlb","nhl","tennis","mma","ufc","boxing","golf","formula-1","f1","cricket","rugby","baseball","hockey"],B=["crypto","crypto-prices","bitcoin","ethereum","solana","xrp","dogecoin","bnb","hype","hyperliquid"],Y=new Set(["5m","15m","1h","4h","daily-close"]),H=2},245677,e=>{"use strict";e.s(["buildDepositWalletMergeTransaction",()=>
1h,"buildDepositWalletNegRiskRedeemTransaction",()=>g,"buildDepositWalletStandardRedeemTransaction",()=>f,"buildRedeemPositionsTransactionV2",()=>p,"buildUnwrapTransaction",()=>m,"buildUsdcTransferTransaction",()=>c,"buildWithdrawTransactions",()=>y,"buildWrapTransaction",()=>d,"ctfAbi",()=>n]);var t=e.i(616435),a=e.i(128690),r=e.i(444914);let n=[{inputs:[{name:"collateralToken",type:"address"},{name:"parentCollectionId",type:"bytes32"},{name:"conditionId",type:"bytes32"},{name:"partition",type:"uint256[]"},{name:"amount",type:"uint256"}],name:"splitPosition",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"collateralToken",type:"address"},{name:"parentCollectionId",type:"bytes32"},{name:"conditionId",type:"bytes32"},{name:"partition",type:"uint256[]"},{name:"amount",type:"uint256"}],name:"mergePositions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"collateralToken",type:"address"},{name:"parentCollectionId",type:"bytes32"},{name:"conditionId",type:"bytes32"},{name:"indexSets",type:"uint256[]"}],name:"redeemPositions",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"owner",type:"address"},{name:"id",type:"uint256"}],name:"balanceOf",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"conditionId",type:"bytes32"}],name:"payoutDenominator",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"operator",type:"address"},{name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"owner",type:"address"},{name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{name:"",type:"bool"}],stateMutability:"view",type:"function"}],i=[{inputs:[{name:"_asset",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],name:"wrap",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{name:"_asset",type:"address"},{name:"_to",type:"address"},{name:"_amount",type:"uint256"}],name:"unwrap",outputs:[],stateMutability:"nonpayable",type:"function"}],l=[{inputs:[{name:"_conditionId",type:"bytes32"},{name:"_amounts",type:"uint256[]"}],name:"redeemPositions",outputs:[],stateMutability:"nonpayable",type:"function"}],s="0x0000000000000000000000000000000000000000000000000000000000000000",o=[1n,2n],c=(e,n)=>({data:(0,t.encodeFunctionData)({abi:a.erc20Abi,args:[e,n],functionName:"transfer"}),to:r.USDC_POLYGON_ADDRESS,value:0n}),u=e=>e?r.NEG_RISK_CTF_COLLATERAL_ADAPTER_ADDRESS:r.CTF_COLLATERAL_ADAPTER_ADDRESS,d=(e,a)=>({data:(0,t.encodeFunctionData)({abi:i,args:[r.USDC_POLYGON_ADDRESS,e,a],functionName:"wrap"}),to:r.COLLATERAL_ONRAMP_ADDRESS,value:0n}),m=(e,a)=>({data:(0,t.encodeFunctionData)({abi:i,args:[r.USDC_POLYGON_ADDRESS,e,a],functionName:"unwrap"}),to:r.COLLATERAL_OFFRAMP_ADDRESS,value:0n}),p=(e,a)=>({data:(0,t.encodeFunctionData)({abi:n,args:[r.PUSD_ADDRESS,s,e,[...o]],functionName:"redeemPositions"}),to:u(a),value:0n}),f=e=>({data:(0,t.encodeFunctionData)({abi:n,args:[r.PUSD_ADDRESS,s,e,[...o]],functionName:"redeemPositions"}),to:r.CTF_ADDRESS,value:0n}),g=(e,a)=>({data:(0,t.encodeFunctionData)({abi:l,args:[e,[...a]],functionName:"redeemPositions"}),to:r.NEG_RISK_ADAPTER_ADDRESS,value:0n}),h=(e,a)=>({data:(0,t.encodeFunctionData)({abi:n,args:[r.PUSD_ADDRESS,s,e,[...o],a],functionName:"mergePositions"}),to:r.CTF_ADDRESS,value:0n}),y=function(e,a,i){let l=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return[{data:(0,t.encodeFunctionData)({abi:n,args:[r.PUSD_ADDRESS,s,e,[...o],a],functionName:"mergePositions"}),to:u(l),value:0n},m(i,a)]}},493370,e=>{"use strict";e.s(["buildDepositWalletClaimCalls",()=>r]);var t=e.i(245677);let a=(e,t)=>{let a=e.trim().toUpperCase();if("YES"===a)return[t,0n];if("NO"===a)return[0n,t];throw Error('Cannot redeem neg-risk position with unrecognized outcome "'.concat(e,'"'))},r=(e,r)=>{let n=0n,i=[];for(let r of e){let e=r.conditionId;r.negRisk?(i.push((0,t.buildDepositWalletNegRiskRedeemTransaction)(e,a(r.outcome,r.balance))),n+=r.balance):i.push((0,t.buildDepositWalletStandardRedeemTransaction)(e))}return n>0n&&i.push((0,t.buildWrapTransaction)(r,n)),i}},930796,e=>{"use strict";e.s(["buildAllApprovalTransactions",()=>o,"buildDepositWalletApprovalTransactions",()=>m,"buildUsdcApprovalData",()=>
1l,"checkDepositWalletNeedsApprovals",()=>p,"checkSafeNeedsApprovals",()=>c]);var t=e.i(616435),a=e.i(128690),r=e.i(954012),n=e.i(245677),i=e.i(444914);let l=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.maxUint256;return(0,t.encodeFunctionData)({abi:a.erc20Abi,args:[e,n],functionName:"approve"})},s=e=>(0,t.encodeFunctionData)({abi:n.ctfAbi,args:[e,!0],functionName:"setApprovalForAll"}),o=()=>{let e=i.CTF_EXCHANGE_V2_ADDRESS,t=i.NEG_RISK_CTF_EXCHANGE_V2_ADDRESS,a=i.CTF_COLLATERAL_ADAPTER_ADDRESS,r=i.NEG_RISK_CTF_COLLATERAL_ADAPTER_ADDRESS,n=i.NEG_RISK_ADAPTER_ADDRESS,o=i.USDC_POLYGON_ADDRESS,c=i.PUSD_ADDRESS,u=i.COLLATERAL_ONRAMP_ADDRESS,d=i.COLLATERAL_OFFRAMP_ADDRESS,m=i.CTF_ADDRESS;return[{data:l(u),to:o},{data:l(d),to:c},{data:l(e),to:c},{data:l(t),to:c},{data:l(a),to:c},{data:l(r),to:c},{data:l(n),to:c},{data:s(e),to:m},{data:s(t),to:m},{data:s(a),to:m},{data:s(r),to:m}]},c=async(e,t)=>{let r=i.CTF_EXCHANGE_V2_ADDRESS,l=i.NEG_RISK_CTF_EXCHANGE_V2_ADDRESS,s=i.CTF_COLLATERAL_ADAPTER_ADDRESS,o=i.NEG_RISK_CTF_COLLATERAL_ADAPTER_ADDRESS,c=i.NEG_RISK_ADAPTER_ADDRESS,u=i.USDC_POLYGON_ADDRESS,d=i.PUSD_ADDRESS,m=i.COLLATERAL_ONRAMP_ADDRESS,p=i.COLLATERAL_OFFRAMP_ADDRESS,f=i.CTF_ADDRESS,g=(r,n)=>e.readContract({abi:a.erc20Abi,address:r,args:[t,n],functionName:"allowance"}),h=a=>e.readContract({abi:n.ctfAbi,address:f,args:[t,a],functionName:"isApprovedForAll"}),[y,S,v,E,A,w,b,x,D,T,k]=await Promise.all([g(u,m),g(d,p),g(d,r),g(d,l),g(d,s),g(d,o),g(d,c),h(r),h(l),h(s),h(o)]),_={ctNegRiskAdapter:!k,ctNegRiskExchange:!D,ctStdAdapter:!T,ctStdExchange:!x,pusdLegacyNegRiskAdapter:0n===b,pusdNegRiskAdapter:0n===w,pusdNegRiskExchange:0n===E,pusdOfframp:0n===S,pusdStdAdapter:0n===A,pusdStdExchange:0n===v,usdceOnramp:0n===y},P=Object.values(_).some(e=>e);return{missingApprovals:_,needsAnyApproval:P}},u=[{spender:i.COLLATERAL_ONRAMP_ADDRESS,token:i.USDC_POLYGON_ADDRESS},{spender:i.COLLATERAL_OFFRAMP_ADDRESS,token:i.PUSD_ADDRESS},{spender:i.CTF_EXCHANGE_V2_ADDRESS,token:i.PUSD_ADDRESS},{spender:i.NEG_RISK_CTF_EXCHANGE_V2_ADDRESS,token:i.PUSD_ADDRESS},{spender:i.NEG_RISK_ADAPTER_ADDRESS,token:i.PUSD_ADDRESS}],d=[i.CTF_EXCHANGE_V2_ADDRESS,i.NEG_RISK_CTF_EXCHANGE_V2_ADDRESS,i.NEG_RISK_ADAPTER_ADDRESS],m=()=>[...u.map(e=>{let{spender:t,token:a}=e;return{data:l(t),to:a}}),...d.map(e=>({data:s(e),to:i.CTF_ADDRESS}))],p=async(e,t)=>{let[r,l]=await Promise.all([Promise.all(u.map(r=>{let{spender:n,token:i}=r;return e.readContract({abi:a.erc20Abi,address:i,args:[t,n],functionName:"allowance"})})),Promise.all(d.map(a=>e.readContract({abi:n.ctfAbi,address:i.CTF_ADDRESS,args:[t,a],functionName:"isApprovedForAll"})))]),s={};u.forEach((e,t)=>{let{spender:a,token:n}=e;s["erc20:".concat(n,":").concat(a)]=0n===r[t]}),d.forEach((e,t)=>{s["ctf:".concat(e)]=!l[t]});let o=Object.values(s).some(e=>e);return{missingApprovals:s,needsAnyApproval:o}}},356229,e=>{"use strict";e.s(["buildSafeSignature",()=>l,"toEcrecoverSig",()=>i]);var t=e.i(829604),a=e.i(976340),r=e.i(235715),n=e.i(773358);let i=e=>{let t=(0,a.parseSignature)(e),r=void 0!==t.v?Number(t.v):27+t.yParity;return{r:t.r,s:t.s,v:r}},l=e=>{let{r:a,s:l,v:s}=i(e),o=s+4,c=(0,t.concat)([a,l,(0,r.toHex)(o,{size:1})]);return n.default.debug("Signature adjustment",{adjusted:c,adjustedV:o,context:"Safe",normalizedV:s,original:e}),c}},337845,e=>{"use strict";e.s(["executeSafeFromOwner",()=>h,"executeSafeMultiSend",()=>g]);var t=e.i(829604),a=e.i(616435),r=e.i(276355),n=e.i(773358),i=e.i(444914),l=e.i(265849),s=e.i(356229);let o=[{inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{name:"success",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{name:"_owners",type:"address[]"},{name:"_threshold",type:"uint256"},{name:"to",type:"address"},{name:"data",type:"bytes"},{name:"fallbackHandler",type:"address"},{name:"paymentToken",type:"address"},{name:"payment",type:"uint256"},{name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],stateMutability:"nonpayable",type:"function"}],c=[{inputs:[{name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],stateMutability:"payable",type:"function"}],u="0x0000000000000000000000000000000000000000",d=async(e,t)=>e.readContract({abi:o,address:t,functionName:"nonce"}),m=async(e,t,a)=>e.readContract({abi:o,address:t,args:[a.to,a.value,a.data,a.operation,a.safeTxGas,a.baseGas,a.gasPrice,a.gasToken,a.refundReceiver,a.nonce],functionName:"getTransactionHash"}),p=async function(e,t,r,i,c,p){let f=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0n,g={baseGas:0n,data:p,gasPrice:0n,gasToken:u,nonce:await d(e,r),operation:0,refundReceiver:u,safeTxGas:0n,to:c,value:f},h=await m(e,r,g);n.default.debug("Transaction hash to sign",{context:"Safe",txHash:h});let y=await t.signMessage({account:i,message:{raw:h}});n.default.debug("Signature obtained",{context:"Safe",signatureLength:y.length});let S=(0,s.buildSafeSignature)(y),v=(0,a.encodeFunctionData)({abi:o,args:[g.to,g.value,g.data,g.operation,g.safeTxGas,g.baseGas,g.gasPrice,g.gasToken,g.refundReceiver,S],functionName:"execTransaction"});n.default.debug("Executing transaction on Safe",{context:"Safe",safeAddress:r});let E=await (0,l.sendEoaTransaction)(e,t,{account:i,data:v,to:r});return n.default.info("Safe transaction executed via EOA",{context:"Safe",txHash:E.hash}),E},f=e=>{let a=e.map(e=>(e=>{var t,a;let n=null!=(t=e.operation)?t:0,i=null!=(a=e.value)?a:0n,l=(e.data.length-2)/2;return(0,r.encodePacked)(["uint8","address","uint256","uint256","bytes"],[n,e.to,i,BigInt(l),e.data])})(e));return(0,t.concat)(a)},g=async(e,t,r,g,h)=>
1{if(0===h.length)throw Error("No transactions to execute");if(1===h.length){var y;return p(e,t,r,g,h[0].to,h[0].data,null!=(y=h[0].value)?y:0n)}n.default.debug("Building MultiSend transaction",{context:"Safe",transactionCount:h.length});let S=f(h),v={baseGas:0n,data:(0,a.encodeFunctionData)({abi:c,args:[S],functionName:"multiSend"}),gasPrice:0n,gasToken:u,nonce:await d(e,r),operation:1,refundReceiver:u,safeTxGas:0n,to:i.GNOSIS_MULTISEND_ADDRESS,value:0n},E=await m(e,r,v);n.default.debug("MultiSend transaction hash to sign",{context:"Safe",txHash:E});let A=await t.signMessage({account:g,message:{raw:E}});n.default.debug("MultiSend signature obtained",{context:"Safe",signatureLength:A.length});let w=(0,s.buildSafeSignature)(A),b=(0,a.encodeFunctionData)({abi:o,args:[v.to,v.value,v.data,v.operation,v.safeTxGas,v.baseGas,v.gasPrice,v.gasToken,v.refundReceiver,w],functionName:"execTransaction"});n.default.debug("Executing MultiSend transaction on Safe",{context:"Safe",safeAddress:r,transactionCount:h.length});let x=await (0,l.sendEoaTransaction)(e,t,{account:g,data:b,to:r}),D=x.hash;return n.default.info("MultiSend transaction executed via EOA",{context:"Safe",transactionCount:h.length,txHash:D}),x},h=async(e,t,r,s,m)=>{let p,g,h;if(0===m.length)throw Error("No transactions to execute");if(1===m.length)p=m[0].to,g=m[0].data,h=0;else{let e=f(m);g=(0,a.encodeFunctionData)({abi:c,args:[e],functionName:"multiSend"}),p=i.GNOSIS_MULTISEND_ADDRESS,h=1}await d(e,r);let y={baseGas:0n,data:g,gasPrice:0n,gasToken:u,operation:h,refundReceiver:u,safeTxGas:0n,to:p,value:0n},S="0x000000000000000000000000".concat(s.slice(2),"000000000000000000000000000000000000000000000000000000000000000001"),v=(0,a.encodeFunctionData)({abi:o,args:[y.to,y.value,y.data,y.operation,y.safeTxGas,y.baseGas,y.gasPrice,y.gasToken,y.refundReceiver,S],functionName:"execTransaction"});n.default.debug("Executing Safe transaction directly from owner",{context:"Safe",safeAddress:r,transactionCount:m.length});let E=await (0,l.sendEoaTransaction)(e,t,{account:s,data:v,to:r});return n.default.info("Safe transaction executed directly from owner",{context:"Safe",txHash:E.hash}),E}},608065,e=>{"use strict";e.s(["hasSweepableCollateral",()=>o,"readSafeCollateral",()=>c,"sweepLegacySafeCollateral",()=>u]);var t=e.i(128690),a=e.i(773358),r=e.i(245677),n=e.i(930796),i=e.i(444914),l=e.i(265849),s=e.i(337845);let o=e=>e>=10000n,c=async(e,a)=>{let[r,n]=await Promise.all([e.readContract({abi:t.erc20Abi,address:i.USDC_POLYGON_ADDRESS,args:[a],functionName:"balanceOf"}),e.readContract({abi:t.erc20Abi,address:i.PUSD_ADDRESS,args:[a],functionName:"balanceOf"})]);return{pUsd:n,total:r+n,usdcE:r}},u=async(e,o,u,d)=>{let{pUsd:m,total:p}=await c(e,u);if(p<=0n)return null;let f=[];m>0n&&(await e.readContract({abi:t.erc20Abi,address:i.PUSD_ADDRESS,args:[u,i.COLLATERAL_OFFRAMP_ADDRESS],functionName:"allowance"})<m&&f.push({data:(0,n.buildUsdcApprovalData)(i.COLLATERAL_OFFRAMP_ADDRESS),to:i.PUSD_ADDRESS}),f.push((0,r.buildUnwrapTransaction)(u,m))),f.push((0,r.buildUsdcTransferTransaction)(d,p));let g=await (0,s.executeSafeFromOwner)(e,o,u,d,f),h=await (0,l.waitForEoaReceiptStep)(e,g,"sweep",{amount:p});if("success"!==h.status)throw Error("Legacy Safe sweep reverted: ".concat(h.transactionHash));return a.default.info("Swept legacy Safe collateral",{amount:p.toString(),context:"LegacySafeMigration",ownerEoa:d,safeAddress:u}),{amount:p,txHash:h.transactionHash}}},297717,e=>{"use strict";e.s(["REGISTRY_FINALIZED_STATES",()=>x,"RelayerPollTimeoutError",()=>T,"RelayerSubmitError",()=>m,"RelayerTransactionFailedError",()=>k,"createDepositWallet",()=>y,"isDepositWalletDeployed",()=>g,"isWalletNotRegisteredError",()=>p,"pollRelayerTransaction",()=>_,"submitApprovalBatch",()=>v,"submitDepositWalletBatch",()=>A,"submitWithdrawBatch",()=>E,"toBatchCalls",()=>u,"wrapOnDepositWallet",()=>w]);var t=e.i(868275),a=e.i(734071),r=e.i(245677),n=e.i(930796),i=e.i(444914),l=e.i(608065),s=e.i(773358);let o=[{inputs:[],name:"nonce",outputs:[{name:"",type:"uint256"}],stateMutability:"view",type:"function"}],c={Batch:[{name:"wallet",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"},{name:"calls",type:"Call[]"}],Call:[{name:"target",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"}]},u=e=>e.map(e=>{var t;return{data:e.data,target:e.to,value:null!=(t=e.value)?t:0n}}),d=new Map;
1class m extends Error{get isAuthError(){return 401===this.status||403===this.status}get isServerError(){return this.status>=500}constructor(e,a){super("Relayer submit failed: ".concat(e," - ").concat(null!=a?a:"request failed")),(0,t._)(this,"status",void 0),(0,t._)(this,"upstreamError",void 0),this.name="RelayerSubmitError",this.status=e,this.upstreamError=a}}let p=e=>{var t;let a=(e instanceof m?"".concat(e.message," ").concat(null!=(t=e.upstreamError)?t:""):e instanceof Error?e.message:"string"==typeof e?e:"").toLowerCase();return a.includes("not registered")||a.includes("wallet registration")||a.includes("registry")},f=async e=>{let t;try{t=await fetch("/api/polymarket/relayer/submit",{body:JSON.stringify(e),headers:{"Content-Type":"application/json"},method:"POST",signal:AbortSignal.timeout(25e3)})}catch(e){if(e instanceof Error&&"TimeoutError"===e.name)throw new m(504,"Relayer request timed out");throw e}if(!t.ok){var a;let e=await t.json().catch(()=>({}));throw new m(t.status,null!=(a=e.error)?a:t.statusText)}let r=await t.json().catch(()=>null);if(!r||"string"!=typeof r.transactionID||0===r.transactionID.length)throw Error("Relayer accepted the request but returned no transactionID");return r},g=async e=>{let t;try{t=await fetch("".concat("/api/polymarket/relayer/deployed","?address=").concat(encodeURIComponent(e),"&type=WALLET"),{cache:"no-store",signal:AbortSignal.timeout(1e4)})}catch(e){return s.default.warn("isDepositWalletDeployed fetch threw",{context:"DepositWalletRelayer",error:e instanceof Error?e.message:"Unknown error"}),"unknown"}if(!t.ok)return s.default.warn("isDepositWalletDeployed got non-OK",{context:"DepositWalletRelayer",status:t.status}),"unknown";try{let e=await t.json();if((null==e?void 0:e.deployed)===!0)return!0;if((null==e?void 0:e.deployed)===!1)return!1;return s.default.warn("isDepositWalletDeployed got an unexpected body shape",{context:"DepositWalletRelayer"}),"unknown"}catch(e){return s.default.warn("isDepositWalletDeployed JSON parse failed",{context:"DepositWalletRelayer",error:e instanceof Error?e.message:"Unknown error"}),"unknown"}},h=async(e,t)=>t.readContract({abi:o,address:e,functionName:"nonce"}),y=async e=>(s.default.info("Submitting deposit-wallet create",{context:"DepositWalletRelayer",eoaAddress:e}),f({from:e,to:i.DEPOSIT_WALLET_FACTORY_ADDRESS,type:"WALLET-CREATE"})),S=async e=>{let{calls:t,depositWallet:a,eoaAddress:r,nonce:n,walletClient:l}=e,o=BigInt(Math.floor(Date.now()/1e3)+600),u=await l.signTypedData({account:r,domain:{chainId:i.POLYGON_CHAIN_ID,name:"DepositWallet",verifyingContract:a,version:"1"},message:{calls:t,deadline:o,nonce:n,wallet:a},primaryType:"Batch",types:c});return s.default.info("Submitting deposit-wallet batch",{callCount:t.length,context:"DepositWalletRelayer",depositWallet:a}),f({depositWalletParams:{calls:t.map(e=>({data:e.data,target:e.target,value:e.value.toString()})),deadline:o.toString(),depositWallet:a},from:r,nonce:n.toString(),signature:u,to:i.DEPOSIT_WALLET_FACTORY_ADDRESS,type:"WALLET"})},v=e=>{let{depositWallet:t,...a}=e;return A({...a,calls:u((0,n.buildDepositWalletApprovalTransactions)()),depositWallet:t})},E=e=>{let{amount:t,depositWallet:a,publicClient:n,recipient:i,...s}=e;return A({...s,calls:async()=>{let{pUsd:e,usdcE:s}=await (0,l.readSafeCollateral)(n,a);return(e=>{let{amount:t,depositWallet:a,pUsdBalance:n,recipient:i,usdcEBalance:l}=e;if(t<=0n)throw Error("Withdraw amount must be positive");if(t>l+n)throw Error("Insufficient balance: deposit wallet holds less than the requested withdrawal");let s=[];if(t>l){let e=(0,r.buildUnwrapTransaction)(a,t-l);s.push({data:e.data,target:e.to,value:0n})}let o=(0,r.buildUsdcTransferTransaction)(i,t);return s.push({data:o.data,target:o.to,value:0n}),s})({amount:t,depositWallet:a,pUsdBalance:e,recipient:i,usdcEBalance:s})},depositWallet:a,publicClient:n})},A=e=>{let{calls:t,depositWallet:r,eoaAddress:n,publicClient:i,walletClient:l}=e;return((e,t)=>{var r;let n=(0,a.getAddress)(e),i=(null!=(r=d.get(n))?r:Promise.resolve()).then(t,t);return d.set(n,i.then(()=>void 0,()=>void 0)),i})(r,async()=>{let e="function"==typeof t?await t():t,a=await h(r,i);return _((await S({calls:e,depositWallet:r,eoaAddress:n,nonce:a,walletClient:l})).transactionID)})},w=e=>{let{amount:t,depositWallet:a,...n}=e;return A({...n,calls:(e=>{let{amount:t,depositWallet:a}=e;if(t<=0n)throw Error("Wrap amount must be positive");let n=(0,r.buildWrapTransaction)(a,t);return[{data:n.data,target:n.to,value:0n}]})({amount:t,depositWallet:a}),depositWallet:a})},b=["STATE_MINED","STATE_CONFIRMED"],x=["STATE_CONFIRMED"],D=["STATE_FAILED","STATE_INVA
1LID"];class T extends Error{constructor(e,a){super("Relayer transaction still processing: ".concat(e)),(0,t._)(this,"transactionId",void 0),(0,t._)(this,"lastState",void 0),this.name="RelayerPollTimeoutError",this.transactionId=e,this.lastState=a}}class k extends Error{constructor(e,a){super("Relayer transaction ".concat(a,": ").concat(e)),(0,t._)(this,"transactionId",void 0),(0,t._)(this,"state",void 0),this.name="RelayerTransactionFailedError",this.transactionId=e,this.state=a}}let _=async function(e){let t,{budgetMs:a=15e4,intervalMs:r=2e3,maxAttempts:n=60,terminalStates:i=b}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=Date.now()+a;for(let a=0;a<n;a++){let n;if(Date.now()>=l)break;try{let t=await fetch("".concat("/api/polymarket/relayer/transaction","?id=").concat(encodeURIComponent(e)),{cache:"no-store",signal:AbortSignal.timeout(1e4)});t.ok?n=await t.json():s.default.warn("Relayer transaction poll returned non-OK",{attempt:a,context:"DepositWalletRelayer",status:t.status,transactionId:e})}catch(t){s.default.warn("Relayer transaction poll threw",{attempt:a,context:"DepositWalletRelayer",error:t instanceof Error?t.message:"Unknown error",transactionId:e})}if(n){if(t=n.state,i.includes(n.state))return n;if(D.includes(n.state))throw new k(e,n.state)}await new Promise(e=>setTimeout(e,r))}throw new T(e,t)}},913146,e=>{"use strict";e.s(["CLAIM_ALREADY_CLAIMED_MESSAGE",()=>m,"CLAIM_NOT_FINALIZED_MESSAGE",()=>d,"ClobHttpError",()=>u,"DepositWalletStatusError",()=>o,"INSUFFICIENT_POL_MESSAGE",()=>w,"WALLET_RPC_UNAVAILABLE_MESSAGE",()=>b,"asDepositWalletStatusError",()=>c,"asPendingTransaction",()=>E,"asRelayerPollTimeout",()=>g,"asRelayerSubmitError",()=>S,"asRelayerTransactionFailed",()=>y,"createPolymarketUserFriendlyErrorMessage",()=>D,"handleRelayerTimeout",()=>A,"isMakerNotAllowedError",()=>f,"isRelayerPollTimeout",()=>h,"relayerTimeoutMessage",()=>v,"wrapError",()=>p]);var t=e.i(868275),a=e.i(773358),r=e.i(444914),n=e.i(265849),i=e.i(297717),l=e.i(540778),s=e.i(968500);class o extends Error{constructor(){super("Couldn't check your trading account status. Please try again."),this.name="DepositWalletStatusError"}}let c=e=>e instanceof o?e:e instanceof Error&&e.cause instanceof o?e.cause:null;class u extends Error{get isServerError(){return this.status>=500}constructor(e,a,r){super(void 0===r?"Failed to ".concat(e,": ").concat(a):"Failed to ".concat(e,": ").concat(a," - ").concat(r)),(0,t._)(this,"status",void 0),(0,t._)(this,"upstreamError",void 0),this.name="ClobHttpError",this.status=a,this.upstreamError=r}}let d="These winnings aren't finalized on-chain yet. Please try again in a moment.",m="These winnings have already been claimed.",p=(e,t)=>e instanceof Error?e:Error(t),f=e=>("string"==typeof e?e:e.message).toLowerCase().includes("maker address not allowed"),g=e=>e instanceof i.RelayerPollTimeoutError?e:e instanceof Error&&e.cause instanceof i.RelayerPollTimeoutError?e.cause:null,h=e=>null!==g(e),y=e=>e instanceof i.RelayerTransactionFailedError?e:e instanceof Error&&e.cause instanceof i.RelayerTransactionFailedError?e.cause:null,S=e=>{var t;return null!=(t=(0,l.collectErrorChain)(e).find(e=>e instanceof i.RelayerSubmitError))?t:null},v=e=>{let t="STATE_MINED"===e.lastState||"STATE_EXECUTED"===e.lastState;return"Your transaction ".concat(t?"was submitted and is awaiting final confirmation":"is still processing",". Don't retry yet â check your wallet in a few minutes. Reference: ").concat(e.transactionId)},E=e=>(0,n.isPendingTransaction)(e)?e:e instanceof Error&&(0,n.isPendingTransaction)(e.cause)?e.cause:null,A=(e,t)=>{let a=g(e);return a?(t(v(a)),!0):!!(0,n.isPendingTransaction)(e)&&(t(n.PENDING_TRANSACTION_MESSAGE),!0)},w="You don't have enough POL to cover the network fee. Add POL (or bridge funds in) and try again.",b="Your wallet can't reach Polygon â the network RPC saved in it is rejecting requests. Update the Polygon RPC URL in your wallet's network settings (or switch to the default Polygon network), then try again.",x=/:\s*5\d{2}\b/,D=e=>{var t,i;let o=g(e);if(o)return v(o);if((0,n.isPendingTransaction)(e))return n.PENDING_TRANSACTION_MESSAGE;let c=S(e);if(null==c?void 0:c.isAuthError)return"Deposit wallet setup is temporarily unavailable. Please try again later.";let p=y(e);if(p)return"Transaction failed on-chain. Please try again. Reference: ".concat(p.transactionId);
1let h="string"==typeof e?e:e.message,E=h.toLowerCase();if(E.includes(r.GEOBLOCK_TRADE_MESSAGE.toLowerCase())||E.includes(d.toLowerCase())||E.includes(m.toLowerCase())||E.includes("finish deposit wallet setup"))return h;if(f(h))return"This wallet can't place orders on Polymarket yet. Finish deposit wallet setup, then try again.";if(E.includes("minimum order size")){let e=h.match(/minimum order size is\s*([\d.]+)/i);return e?"Order is too small. This market requires a minimum of ".concat(e[1]," shares."):"Order is too small for this market."}if(E.includes("min size")||E.includes("min_size")){let e=h.match(/min size:\s*\$?([\d.]+)/i);return e?"Order amount is too small. Minimum size is $".concat(e[1],"."):"Order amount is too small."}if(E.includes("tick size")||E.includes("min_tick_size"))return"Invalid price. Please use a valid price increment.";if(E.includes("max accuracy"))return"This amount can't be placed on this market. Try a slightly different amount.";if(E.includes("not enough balance")||E.includes("insufficient balance")||E.includes("not_enough_balance"))return"Insufficient balance to place this order.";if(!c&&(0,s.isInsufficientFundsError)(e))return w;if(!c&&(0,s.isWalletRpcUnauthorizedError)(e))return b;if(E.includes("duplicated")||E.includes("already been placed"))return"This order has already been placed.";if(E.includes("expiration"))return"Order expiration is invalid. Please try again.";if(E.includes("post only")||E.includes("post_only"))return"Post-only order would be filled immediately. Adjust your price.";if(E.includes("fok")||E.includes("fak")||E.includes("not filled")||E.includes("fully filled"))return"Not enough liquidity to fill this order right now. Try a smaller amount or place a limit order.";if(E.includes("market_not_ready")||E.includes("market not ready")||E.includes("not active"))return"This market is not currently accepting orders.";if(E.includes("execution_error")||E.includes("execution error"))return"Order execution failed. Please try again.";if((0,s.isUserRejectionError)(e))return"Transaction was cancelled.";let A=null!=(i=null==(t=(e=>{var t;return null!=(t=(0,l.collectErrorChain)(e).find(e=>e instanceof u))?t:null})(e))?void 0:t.status)?i:null==c?void 0:c.status,D=void 0!==A&&A>=500,T=E.includes("invalid_order_error")||E.includes("delaying_order_error"),k=void 0===A&&(x.test(E)||E.includes("internal server")||E.includes("bad gateway")||E.includes("service unavailable")||E.includes("gateway timeout"));return D||T||k?(a.default.warn("Polymarket upstream unavailable",{rawMessage:h,status:A}),"Service temporarily unavailable. Please try again."):E.includes("network")||E.includes("connection")||E.includes("fetch failed")||E.includes("timeout")||E.includes("timed out")||E.includes("econnrefused")||E.includes("enotfound")?"Network error. Please check your connection and try again.":(a.default.warn("Unrecognized Polymarket error",{rawMessage:h}),"Order failed. Please try again.")}},847449,e=>{"use strict";e.s([])},419283,e=>{"use strict";e.s(["CLOB_AUTH_TYPES",()=>r,"buildL1AuthMessage",()=>n,"getPolymarketDomain",()=>a]);var t=e.i(444914);let a=()=>({chainId:t.POLYGON_CHAIN_ID,name:"ClobAuthDomain",version:"1"}),r={ClobAuth:[{name:"address",type:"address"},{name:"timestamp",type:"string"},{name:"nonce",type:"uint256"},{name:"message",type:"string"}]},n=e=>({address:e,message:"This message attests that I control the given wallet",nonce:0n,timestamp:Math.floor(Date.now()/1e3).toString()})},21243,e=>{"use strict";e.s(["standardBase64ToUrlSafe",()=>a,"urlSafeBase64ToStandard",()=>t]);let t=e=>{let t=e.replace(/-/g,"+").replace(/_/g,"/"),a=t.length%4;return a&&(t+="=".repeat(4-a)),t},a=e=>e.replace(/\+/g,"-").replace(/\//g,"_")},114084,e=>{"use strict";e.s(["buildHmacMessage",()=>r,"generateHmacSignature",()=>a]);var t=e.i(21243);let a=async(e,a)=>{let r=(0,t.urlSafeBase64ToStandard)(a),n=Uint8Array.from(atob(r),e=>e.charCodeAt(0)),i=await crypto.subtle.importKey("raw",n,{hash:"SHA-256",name:"HMAC"},!1,["sign"]),l=btoa(String.fromCharCode(...new Uint8Array(await crypto.subtle.sign("HMAC",i,new TextEncoder().encode(e)))));return(0,t.standardBase64ToUrlSafe)(l)},r=function(e,t,a){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",n="".concat(e).concat(t).concat(a);return r&&(n+=r),n}},207869,e=>{"use strict";e.s(["buildL2Headers",()=>n]);var t=e.i(114084),a=e.i(773358);let r=async(e,a,r,n,i)=>{let l=(0,t.buildHmacMessage)(n,e,a,r);return(0,t.generateHmacSignature)(l,i)},n=async(e,t,n,i,l)=>{let s=Math.floor(Date.now()/1e3).toString(),o=n.split("?")[0],c=await r(t,o,i,s,l.secret);return a.default.debug("Building L2 headers",{apiKeyPrefix:"".concat(l.apiKey.slice(0,15),"..."),bodyLength:i.length,context:"L2Auth",hmacMessage:"".concat(s).concat(t).concat(o).concat(i?"[body]":""),method:t,originalPath:n,pathForSignature:o,polyAddress:e,signaturePrefix:"".concat(c.slice(0,20),"..."),timestamp:s}),{POLY_ADDRESS:e,POLY_API_KEY:l.apiKey,POLY_PASSPHRASE:l.passphrase,POLY_S
1IGNATURE:c,POLY_TIMESTAMP:s}}},799421,e=>{"use strict";e.s(["getPolymarketCredentials",()=>i,"hasPolymarketCredentials",()=>s,"removePolymarketCredentials",()=>n,"storePolymarketCredentials",()=>l]);var t=e.i(444914),a=e.i(773358);let r=e=>"".concat(t.POLYMARKET_KEY_LOCAL_STORAGE,"_").concat(e.toLowerCase()),n=e=>{let t=r(e);window.localStorage.removeItem(t),a.default.debug("Removed credentials",{address:"".concat(e.slice(0,10),"..."),context:"Credentials"})},i=e=>{let t=r(e),i=window.localStorage.getItem(t);if(!i)return a.default.debug("No stored credentials found",{address:"".concat(e.slice(0,10),"..."),context:"Credentials"}),null;try{let t=JSON.parse(i);if(!t.apiKey||!t.secret||!t.passphrase)return a.default.debug("Stored credentials incomplete",{address:"".concat(e.slice(0,10),"..."),context:"Credentials"}),null;let r=Date.now()-t.createdAt;if(r>2592e6)return a.default.debug("Stored credentials expired, removing",{address:"".concat(e.slice(0,10),"..."),ageHours:Math.round(r/36e5),context:"Credentials"}),n(e),null;return a.default.debug("Retrieved stored credentials",{address:"".concat(e.slice(0,10),"..."),context:"Credentials"}),{apiKey:t.apiKey,passphrase:t.passphrase,secret:t.secret}}catch(t){return a.default.warn("Failed to parse stored credentials",{address:"".concat(e.slice(0,10),"..."),context:"Credentials",error:t instanceof Error?t.message:String(t)}),null}},l=(e,t)=>{let n=r(e),i={...t,createdAt:Date.now()};window.localStorage.setItem(n,JSON.stringify(i)),a.default.debug("Stored credentials",{address:"".concat(e.slice(0,10),"..."),context:"Credentials"})},s=e=>null!==i(e)},722370,e=>{"use strict";e.s(["buildBuilderHeaders",()=>i]);var t=e.i(662211),a=e.i(114084),r=e.i(773358);let n=async e=>{let{body:t,method:r,path:n,secret:i,timestamp:l}=e,s=(0,a.buildHmacMessage)(l,r,n,t);return(0,a.generateHmacSignature)(s,i)},i=async(e,a,i,l)=>{let s=(()=>{let e=t.default.env.POLYMARKET_BUILDER_API_KEY,a=t.default.env.POLYMARKET_BUILDER_SECRET,r=t.default.env.POLYMARKET_BUILDER_PASSPHRASE;return e&&a&&r?{apiKey:e,passphrase:r,secret:a}:null})();if(!s)return null;let o=l?l.toString():Math.floor(Date.now()/1e3).toString();r.default.debug("Signing builder message",{bodyPreview:i.substring(0,100)+(i.length>100?"...":""),context:"BuilderAuth",messageLength:"".concat(o).concat(e).concat(a).concat(i).length,method:e,path:a,timestamp:o});let c=await n({body:i,method:e,path:a,secret:s.secret,timestamp:o});return{POLY_BUILDER_API_KEY:s.apiKey,POLY_BUILDER_PASSPHRASE:s.passphrase,POLY_BUILDER_SIGNATURE:c,POLY_BUILDER_TIMESTAMP:o}}},410920,e=>{"use strict";e.s([]),e.i(773358),e.i(722370)},134629,e=>{"use strict";e.s(["DEPOSIT_WALLET_OVERRIDE_UPDATED_EVENT",()=>r,"clearDepositWalletOverride",()=>c,"getDepositWalletOverride",()=>s,"setDepositWalletOverride",()=>o]);var t=e.i(444914),a=e.i(773358);let r="polymarket-deposit-wallet-override-updated",n=e=>"".concat(t.POLYMARKET_KEY_LOCAL_STORAGE,"_deposit_wallet_override_").concat(e),i=e=>{window.dispatchEvent(new CustomEvent(r,{detail:{address:e}}))},l=e=>{window.localStorage.removeItem(n(e)),i(e)},s=e=>{let t=window.localStorage.getItem(n(e));if(!t)return!1;let a=Number(t);return!(!Number.isFinite(a)||Date.now()-a>6048e5)||(l(e),!1)},o=e=>{s(e)||(window.localStorage.setItem(n(e),Date.now().toString()),a.default.info("Set deposit-wallet routing override",{address:"".concat(e.slice(0,10),"..."),context:"DepositWalletOverride"}),i(e))},c=e=>{window.localStorage.getItem(n(e))&&l(e)}},472083,e=>{"use strict";e.s([]),e.i(419283),e.i(207869),e.i(799421),e.i(722370),e.i(410920),e.i(134629)},903691,e=>{"use strict";e.s(["ENDING_SOON_WINDOW_MS",()=>T,"RESOLVED_PRICE",()=>U,"calculateArbitrage",()=>B,"collapseRecurringSeries",()=>G,"curateFeaturedBlock",()=>P,"eventHasRewards",()=>I,"filterEndedEvents",()=>R,"filterEndingSoonEvents",()=>C,"filterEventsForListing",()=>_,"getActiveMarkets",()=>d,"getDisplayMarkets",()=>N,"getEventEndDate",()=>S,"getEventRefreshInterval",()=>D,"getEventTimeStatus",()=>w,"getMarketOutcomeName",()=>u,"getMarketTimeStatus",()=>y,"getNoPrice",()=>s,"getPendingResolutionEnd",()=>x,"getResolvedOutcome",()=>j,"getYesPrice",()=>l,"isCryptoTagged",()=>W,"isEventEnded",()=>A,"isMultiOutcomeEvent",()=>o,"isStaleDeadline",()=>b,"isUpDownOutcomes",()=>F,"isYesNoOutcomes",()=>M,"parseClobTokenIds",()=>n,"parseOutcomes",()=>r,"pickLiveWindow",()=>
1v,"resolveChartTokenId",()=>i,"shouldHideMultiOutcomeChart",()=>c]);var t=e.i(444914);let a=e=>{if(!e)return["0","0"];if(Array.isArray(e))return e;try{let t=JSON.parse(e);return Array.isArray(t)?t:["0","0"]}catch(e){return["0","0"]}},r=e=>{if(!e)return["Yes","No"];if(Array.isArray(e))return e;try{let t=JSON.parse(e);return Array.isArray(t)?t:["Yes","No"]}catch(e){return["Yes","No"]}},n=e=>{if(!e)return[];if(Array.isArray(e))return e;try{let t=JSON.parse(e);return Array.isArray(t)?t:[]}catch(e){return[]}},i=(e,t)=>{var a;if(void 0!==t)return t;let r=null==(a=e.tokens)?void 0:a.find(e=>"YES"===e.outcome.toUpperCase());return(null==r?void 0:r.token_id)||n(e.clobTokenIds)[0]||""},l=e=>parseFloat(a(e)[0])||0,s=e=>parseFloat(a(e)[1])||0,o=e=>!!e&&e.length>1,c=e=>{let{hasError:t,isLoading:a,series:r}=e;return!a&&!t&&!r.some(e=>e.data.length>0)},u=e=>e.groupItemTitle||e.question||"Unknown",d=e=>[...e].filter(e=>e.active&&!e.closed).sort((e,t)=>l(t.outcomePrices)-l(e.outcomePrices)),m=e=>e.filter(e=>{var t;return!!(null==(t=e.markets)?void 0:t.length)&&e.markets.some(e=>e.active&&!e.closed)}),p=e=>!!e.gameStartTime||!!e.sportsMarketType,f=e=>!0===e.active&&!e.closed&&!0===e.acceptingOrders&&!e.umaResolutionStatus,g=e=>{var a;return!(e=>{var a;return!!(null==(a=e.tags)?void 0:a.some(e=>!!e.slug&&t.RECURRING_WINDOW_TAGS.has(e.slug.toLowerCase())))})(e)&&!!(null==(a=e.markets)?void 0:a.some(f))},h=e=>!!p(e)&&!e.closed&&!!e.endDate&&new Date(e.endDate).getTime()<=Date.now(),y=e=>h(e)?"live":e.endDate&&new Date(e.endDate).getTime()<Date.now()&&!f(e)?"ended":p(e)?"pregame":"upcoming",S=e=>{var t;let a,r=-1/0;for(let n of null!=(t=e.markets)?t:[]){if(!n.endDate)continue;let e=new Date(n.endDate).getTime();e>r&&(r=e,a=n.endDate)}return null!=a?a:e.endDate||void 0},v=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),a=null;for(let n of e){var r;let e=new Date(null!=(r=S(n))?r:"").getTime();!n.closed&&Number.isFinite(e)&&e>t&&(null===a||e<a.end)&&(a={end:e,event:n})}return a},E=e=>{var t;return!!(null==(t=e.markets)?void 0:t.some(h))},A=e=>{if(E(e))return!1;let t=S(e);return!(!t||new Date(t).getTime()>=Date.now())&&!g(e)},w=e=>{var t;if(E(e))return"live";let a=S(e);return a&&new Date(a).getTime()<Date.now()&&!g(e)?"ended":(null==(t=e.markets)?void 0:t.some(p))?"pregame":"upcoming"},b=function(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Date.now();if("upcoming"!==e||!t)return!1;let r=new Date(t).getTime();return Number.isFinite(r)&&r<a},x=function(e){var a;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),n=null!=(a=null==e?void 0:e.markets)?a:[],i=r-t.TIMING.RESOLUTION_POLL_TRAIL_MS,l=null;for(let e of n){if(e.closed||p(e)||!e.endDate)continue;let t=new Date(e.endDate).getTime();Number.isFinite(t)&&!(t<i)&&(null===l||t<l)&&(l=t)}if(null!==l)return l;if(!n.some(e=>!e.closed&&!p(e))||n.some(e=>e.endDate)||!(null==e?void 0:e.endDate))return null;let s=new Date(e.endDate).getTime();return Number.isFinite(s)&&s>=i?s:null},D=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),r=x(e,a);return null!==r&&a>=r-t.TIMING.RESOLUTION_POLL_LEAD_MS?t.TIMING.MARKETS_REFRESH_INTERVAL_FAST:t.TIMING.MARKETS_REFRESH_INTERVAL},T=6048e5,k=e=>{let t=S(e);if(!t)return!1;let a=new Date(t).getTime()-Date.now();return a>=0&&a<T},_=e=>m(e).filter(e=>!A(e)),P=e=>_(e).filter(e=>null!=e.featuredOrder).slice(0,30),C=e=>m(e).filter(k),R=e=>e.filter(e=>{var t;return!!(null==(t=e.markets)?void 0:t.length)&&A(e)}),N=e=>{let t=d(e);return t.length>0?t:e},O=e=>{var t;return!!(null==(t=e.clobRewards)?void 0:t.length)},I=e=>{var t;return!!(null==(t=e.markets)?void 0:t.some(O))},L=(e,t,a)=>{if(2!==e.length)return!1;let r=e.map(e=>e.toLowerCase().trim());return r.includes(t)&&r.includes(a)},M=e=>L(e,"yes","no"),F=e=>L(e,"up","down"),U=.99,j=e=>{var t;let n=r(e.outcomes),i=a(e.outcomePrices).findIndex(e=>parseFloat(e)>=U);return i>=0&&null!=(t=n[i])?t:null},W=e=>{var a;if(!(null==(a=e.tags)?void 0:a.length))return!1;let r=e.tags.map(e=>e.slug.toLowerCase());return t.CRYPTO_TAGS.some(e=>r.includes(e))},G=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),a=e=>{let t=S(e);return t?new Date(t).getTime():1/0},r=new Map,n=[];for(let s of e){var i,l;let e=s.seriesSlug||(null==(l=s.series)||null==(i=l.find(e=>e.slug))?void 0:i.slug);
1if(!e){n.push(s);continue}let o=r.get(e);if(void 0===o){r.set(e,n.length),n.push(s);continue}let c=a(s),u=a(n[o]),d=c>t;(d===u>t?c<u:d)&&(n[o]=s)}return n},B=(e,t)=>{if(!t||!e||e.length<=1)return null;let a=e.filter(e=>e.active&&!e.closed);if(a.length<=1)return null;let r=a.map(e=>l(e.outcomePrices));if(r.some(e=>0===e))return null;let n=r.reduce((e,t)=>e+t,0);return{hasArbitrage:n<.97,profitPercent:n>0&&n<1?(1-n)/n*100:0,totalCost:n}}},931707,e=>{"use strict";e.s(["fetchEventBySlug",()=>s,"fetchEvents",()=>l,"fetchMarketByConditionId",()=>o,"fetchTags",()=>c,"searchEvents",()=>u]),e.i(444914);var t=e.i(903691);let a="/api/polymarket",r=e=>"object"==typeof e&&null!==e&&"id"in e&&"title"in e&&"slug"in e&&"string"==typeof e.id&&"string"==typeof e.title,n=e=>"object"==typeof e&&null!==e&&"id"in e&&"question"in e&&"conditionId"in e&&"string"==typeof e.id&&"string"==typeof e.conditionId,i=e=>{if(!Array.isArray(e))throw Error("Expected array of events");return e.filter(r)},l=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=new URLSearchParams;void 0!==e.active&&t.set("active",String(e.active)),void 0!==e.closed&&t.set("closed",String(e.closed)),e.limit&&t.set("limit",String(e.limit)),e.offset&&t.set("offset",String(e.offset)),e.order&&t.set("order",e.order),void 0!==e.ascending&&t.set("ascending",String(e.ascending)),e.end_date_min&&t.set("end_date_min",e.end_date_min),e.end_date_max&&t.set("end_date_max",e.end_date_max),void 0!==e.featured&&t.set("featured",String(e.featured)),void 0!==e.live&&t.set("live",String(e.live)),void 0!==e.tag_id?t.set("tag_id",String(e.tag_id)):e.tag_slug&&t.set("tag_slug",e.tag_slug),e.series_id&&t.set("series_id",e.series_id);let r="".concat(a,"/events?").concat(t.toString()),n=await fetch(r,{cache:"no-store"});if(!n.ok)throw Error("Failed to fetch events: ".concat(n.status));return i(await n.json())},s=async e=>{let t="".concat(a,"/events?slug=").concat(encodeURIComponent(e)),r=await fetch(t,{cache:"no-store"});if(!r.ok)throw Error("Failed to fetch event: ".concat(r.status));let n=i(await r.json());if(0===n.length)throw Error("Event not found: ".concat(e));return n[0]},o=async e=>{let t="".concat(a,"/markets?condition_ids=").concat(encodeURIComponent(e)),r=await fetch(t,{cache:"no-store"});if(!r.ok)throw Error("Failed to fetch market: ".concat(r.status));let i=(e=>{if(!Array.isArray(e))throw Error("Expected array of markets");return e.filter(n)})(await r.json());if(0===i.length)throw Error("Market not found for conditionId: ".concat(e));return i[0]},c=async()=>{let e=await fetch("".concat(a,"/tags"));if(!e.ok)throw Error("Failed to fetch tags: ".concat(e.status));return e.json()},u=async(e,r)=>{let n=new URLSearchParams({events_status:"active",q:e,type:"events"});(null==r?void 0:r.tagSlug)&&n.set("events_tag",r.tagSlug),(null==r?void 0:r.limitPerType)!==void 0&&n.set("limit_per_type",String(r.limitPerType)),(null==r?void 0:r.sort)&&n.set("sort",r.sort),(null==r?void 0:r.ascending)!==void 0&&n.set("ascending",String(r.ascending)),n.append("presets","EventsTitle"),n.append("presets","Events");let l="".concat(a,"/search?").concat(n.toString()),s=await fetch(l);if(!s.ok)throw Error("Failed to search events: ".concat(s.status));let o=i((await s.json()).events||[]),c=new Set,u=o.filter(e=>!c.has(e.id)&&(c.add(e.id),!0));return(null==r?void 0:r.filterEnded)?u.filter(e=>!(0,t.isEventEnded)(e)):u}},381656,e=>{"use strict";e.s(["ORDER_TYPES_V2",()=>i,"ZERO_BYTES32",()=>l,"buildOrderDataV2",()=>h,"calculateOrderAmounts",()=>f,"createSignedOrderV2",()=>S,"formatSignedOrderPayloadV2",()=>v,"getTickSizePrecision",()=>u,"roundToTickSize",()=>d]);var t=e.i(94935),a=e.i(444914),r=e.i(773358);let n=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return{chainId:a.POLYGON_CHAIN_ID,name:"Polymarket CTF Exchange",verifyingContract:e?a.NEG_RISK_CTF_EXCHANGE_V2_ADDRESS:a.CTF_EXCHANGE_V2_ADDRESS,version:"2"}},i={Order:[{name:"salt",type:"uint256"},{name:"maker",type:"address"},{name:"signer",type:"address"},{name:"tokenId",type:"uint256"},{name:"makerAmount",type:"uint256"},{name:"takerAmount",type:"uint256"},{name:"side",type:"uint8"},{name:"signatureType",type:"uint8"},{name:"timestamp",type:"uint256"},{name:"metadata",type:"bytes32"},{name:"builder",type:"bytes32"}]},l="0x".concat("0".repeat(64)),s=e=>{if(!e)return l;let t=e.startsWith("0x")?e.slice(2):e;if(0===t.length)return l;if(!/^[0-9a-fA-F]{64}$/.test(t))throw Error("Invalid bytes32 value: expected 64 hex chars, got ".concat(t.length,' ("').concat(e,'")'));return"0x".concat(t)},o=e=>{if(Number.isInteger(e))return 0;let[,t=""]=e.toString().split(".");return t.length},c=(e,t)=>{if(o(e)<=t)return e;let a=Math.pow(10,t);return Math.floor(e*a)/a},u=e=>{let t="string"==typeof e?parseFloat(e):e;return t>=1?0:Math.round(-Math.log10(t))},d=(e,t)=>c(e,u(t)),m={"0.0001":{amount:6,price:4,size:2},"0.001":{amount:5,price:3,size:2},"0.01":{amount:4,price:2,size:2},"0.1":{amount:3,price:1,size:2}},p=(e,t)=>{if(o(e)<=t)return e;let a=((e,t)=>{if(o(e)<=t)return e;let a=Math.pow(10,t);return Math.ceil(e*a)/a})(e,t+4);return o(a)>t?c(a,t):a},f=function(e,r,n){var i;let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"0.01",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"GTC",{amount:u,price:d,size:f}=null!=(i=m["number"==typeof l?l.toString():l.trim()])?i:m["0.01"];if("BUY"===e&&("FOK"===s||"FAK"===s)){let e=c(r,d),i=c(n*e,f),l=p(e>0?i/e:0,u);return{makerAmount:(0,t.parseUnits)(i.toFixed(f),a.USDC_DECIMALS),takerAmount:(0,t.parseUnits)(l.toFixed(u),a.USDC_DECIMALS)}}let g=((e,t)=>{if(o(e)<=t)return e;let a=Math.pow(10,t);
1return Math.round((e+Number.EPSILON)*a)/a})(r,d),h=c(n,f),y=p(h*g,u),S=(0,t.parseUnits)(h.toFixed(f),a.USDC_DECIMALS),v=(0,t.parseUnits)(y.toFixed(u),a.USDC_DECIMALS);return"BUY"===e?{makerAmount:v,takerAmount:S}:{makerAmount:S,takerAmount:v}},g=!1,h=(e,t,n,i)=>{var l;let o=null!=(l=e.builderCode)?l:a.POLYMARKET_BUILDER_CODE;o||g||(g=!0,r.default.warn("POLYMARKET_BUILDER_CODE unset â V2 orders will sign with bytes32(0) and skip builder attribution",{context:"Polymarket"}));let{makerAmount:c,takerAmount:u}=f(e.side,e.price,e.size,e.tickSize,e.orderType);return{builder:s(o),maker:t,makerAmount:c,metadata:s(e.metadata),salt:(()=>{let e=new Uint8Array(6);return crypto.getRandomValues(e),1n|BigInt("0x".concat(Array.from(e).map(e=>e.toString(16).padStart(2,"0")).join("")))})(),side:"BUY"===e.side?a.ORDER_SIDE_VALUES.BUY:a.ORDER_SIDE_VALUES.SELL,signatureType:i,signer:n,takerAmount:u,timestamp:BigInt(Date.now()),tokenId:BigInt(e.tokenId)}},y=async function(e,t,a){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],l={builder:t.builder,maker:t.maker,makerAmount:t.makerAmount,metadata:t.metadata,salt:t.salt,side:t.side,signatureType:t.signatureType,signer:t.signer,takerAmount:t.takerAmount,timestamp:t.timestamp,tokenId:t.tokenId},s=await e.signTypedData({account:a,domain:n(r),message:l,primaryType:"Order",types:i});return{...t,signature:s}},S=async(e,t,a,r,n)=>y(e,h(t,a,r,n),r,t.negRisk),v=e=>({builder:e.builder,maker:e.maker,makerAmount:e.makerAmount.toString(),metadata:e.metadata,salt:Number(e.salt),side:0===e.side?"BUY":"SELL",signature:e.signature,signatureType:e.signatureType,signer:e.signer,takerAmount:e.takerAmount.toString(),timestamp:e.timestamp.toString(),tokenId:e.tokenId.toString()})},178540,e=>{"use strict";e.s(["cancelAllOrders",()=>m,"cancelOrder",()=>d,"createApiCredentials",()=>o,"deriveApiCredentials",()=>s,"getOpenOrders",()=>c,"placeOrder",()=>u,"updateBalanceAllowance",()=>f]);var t=e.i(207869),a=e.i(444914),r=e.i(381656),n=e.i(773358),i=e.i(913146);let l=e=>!!e&&"object"==typeof e&&"string"==typeof e.apiKey&&e.apiKey.length>0&&"string"==typeof e.secret&&e.secret.length>0&&"string"==typeof e.passphrase&&e.passphrase.length>0,s=async function(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},{nonce:o=0,signatureType:c=0}=s,u="".concat((0,a.getClobApiUrl)(),"/auth/derive-api-key"),d=await fetch(u,{headers:{POLY_ADDRESS:e,POLY_NONCE:o.toString(),POLY_SIGNATURE:t,POLY_SIGNATURE_TYPE:c.toString(),POLY_TIMESTAMP:r},method:"GET"});if(!d.ok){let e=(await d.json().catch(()=>({}))).error||d.statusText;throw new i.ClobHttpError("derive API key",d.status,e)}let m=await d.json();if(!l(m))throw n.default.error("Invalid credentials received from derive-api-key",{context:"CLOB",hasApiKey:!!(null==m?void 0:m.apiKey),hasPassphrase:!!(null==m?void 0:m.passphrase),hasSecret:!!(null==m?void 0:m.secret)}),Error("Invalid credentials received from Polymarket");return m},o=async function(e,t,r){let s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},{nonce:o=0,signatureType:c=0}=s,u="".concat((0,a.getClobApiUrl)(),"/auth/api-key"),d=await fetch(u,{headers:{"Content-Type":"application/json",POLY_ADDRESS:e,POLY_NONCE:o.toString(),POLY_SIGNATURE:t,POLY_SIGNATURE_TYPE:c.toString(),POLY_TIMESTAMP:r},method:"POST"});if(!d.ok){let e=(await d.json().catch(()=>({}))).error||d.statusText;throw new i.ClobHttpError("create API key",d.status,e)}let m=await d.json();if(!l(m))throw n.default.error("Invalid credentials received from api-key",{context:"CLOB",hasApiKey:!!(null==m?void 0:m.apiKey),hasPassphrase:!!(null==m?void 0:m.passphrase),hasSecret:!!(null==m?void 0:m.secret)}),Error("Invalid credentials received from Polymarket");return m},c=async(e,a)=>{let r=await (0,t.buildL2Headers)(e,"GET","/data/orders","",a),n=await fetch("/api/polymarket/orders",{cache:"no-store",headers:{"Cache-Control":"no-cache","Content-Type":"application/json",...r},method:"GET"});if(!n.ok){let e=await n.json().catch(()=>({}));throw new i.ClobHttpError("get open orders",n.status,JSON.stringify(e))}return n.json()},u=async function(e,l,s){var o,c;let u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"GTC",d=arguments.length>4?arguments[4]:void 0,m="/order",p=(0,r.formatSignedOrderPayloadV2)(s),f={deferExec:!1,order:p,orderType:u,owner:l.apiKey,...d&&{postOnly:d}},g=JSON.stringify(f);n.default.debug("Placing order",{context:"CLOB",maker:p.maker,makerAmount:p.makerAmount,orderType:f.orderType,owner:f.owner,postOnly:null!=d&&d,salt:p.salt,side:p.side,signatureType:p.signatureType,signer:p.signer,takerAmount:p.takerAmount,tokenId:p.tokenId});let h="".concat((0,a.getClobApiUrl)()).concat(m),y=await (0,t.buildL2Headers)(e,"POST",m,g,l);n.default.debug("L2 Headers",{context:"CLOB",POLY_ADDRESS:y.POLY_ADDRESS,POLY_API_KEY:"".concat(null==(o=y.POLY_API_KEY)?void 0:o.slice(0,15),"..."),POLY_TIMESTAMP:y.POLY_TIMESTAMP,signatureLength:null==(c=y.POLY_SIGNATURE)?void 0:c.length});let S=await fetch(h,{body:g,headers:{"Content-Type":"application/json",...y},method:"POST"});if(!S.ok){let e=await S.json().catch(()=>({})),t=e.error||S.statusText;throw n.default.error("Order placement failed",{context:"CLOB",error:e,status:S.status}),new i.ClobHttpError("place order",S.status,JSON.stringify(t))}let v=await S.json();return n.default.info("Order placed successfully",{context:"CLOB",orderID:v.orderID,status:v.status}
1),{makingAmount:v.makingAmount,orderID:v.orderID,status:v.status,takingAmount:v.takingAmount}},d=async(e,r,n)=>{let l="/order",s=JSON.stringify({orderID:n}),o="".concat((0,a.getClobApiUrl)()).concat(l),c=await (0,t.buildL2Headers)(e,"DELETE",l,s,r),u=await fetch(o,{body:s,headers:{"Content-Type":"application/json",...c},method:"DELETE"});if(!u.ok){let e=await u.json().catch(()=>({}));throw new i.ClobHttpError("cancel order",u.status,JSON.stringify(e))}return u.json()},m=async(e,r)=>{let n="/orders",l="".concat((0,a.getClobApiUrl)()).concat(n),s=await (0,t.buildL2Headers)(e,"DELETE",n,"",r),o=await fetch(l,{headers:{"Content-Type":"application/json",...s},method:"DELETE"});if(!o.ok)throw new i.ClobHttpError("cancel all orders",o.status);return o.json()},p=async e=>{let t=await e.text();return t&&""!==t.trim()?JSON.parse(t):{allowance:"0",balance:"0"}},f=async function(e,r,n){let l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"COLLATERAL",s=new URLSearchParams({asset_type:l,signature_type:n.toString()}),o="/balance-allowance/update?".concat(s.toString()),c="".concat((0,a.getClobApiUrl)()).concat(o),u=await (0,t.buildL2Headers)(e,"GET",o,"",r),d=await fetch(c,{cache:"no-store",headers:{"Cache-Control":"no-cache","Content-Type":"application/json",...u},method:"GET"});if(!d.ok){let e=await d.json().catch(()=>({}));throw new i.ClobHttpError("update balance allowance",d.status,JSON.stringify(e))}return p(d)}},265186,e=>{"use strict";e.s(["getUserActivityHistory",()=>l,"getUserClosedPositions",()=>i,"getUserPositions",()=>n]);var t=e.i(444914);let a=async e=>{if(400!==e.status)return!1;try{let t=await e.json();return(null==t?void 0:t.code)==="VALIDATION_ERROR"}catch(e){return!1}},r=async(e,r)=>{let n=Date.now()+12e3,i=!1;try{let t=await fetch("/api/polymarket/".concat(e,"?").concat(r),{signal:AbortSignal.timeout(Math.max(0,Math.min(1e4,n-Date.now())))});if(t.ok)return await t.json();i=await a(t)}catch(e){}if(i)throw Error("Failed to get ".concat(e,": rejected before egress"));let l=await fetch("".concat(t.DATA_API_URL,"/").concat(e,"?").concat(r),{signal:AbortSignal.timeout(Math.max(0,Math.min(8e3,n-Date.now())))});if(!l.ok)throw Error("Failed to get ".concat(e,": ").concat(l.status));return await l.json()},n=async e=>(await r("positions","user=".concat(e))).map(e=>{var t;return{...e,size:String(null!=(t=e.size)?t:"")}}),i=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100;return r("closed-positions","user=".concat(e,"&limit=").concat(t))},l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500;return r("activity","user=".concat(e,"&limit=").concat(t))}},868777,e=>{"use strict";e.s([]),e.i(931707),e.i(178540),e.i(265186),e.i(245677)},571229,e=>{"use strict";e.s(["getMoneylineMarket",()=>s,"getSportsTeamRows",()=>d,"getSubMarkets",()=>u,"isSportsHeadToHead",()=>l,"isSportsTagged",()=>n,"isTradableGame",()=>o,"parseGameScore",()=>m]);var t=e.i(444914),a=e.i(903691);let r=["draw","tie","no contest","neither"],n=e=>{var a;if(!(null==(a=e.tags)?void 0:a.length))return!1;let r=e.tags.map(e=>e.slug.toLowerCase());return t.SPORTS_TAGS.some(e=>r.includes(e))},i=e=>{let t=(e.groupItemTitle||"").toLowerCase().trim();return r.some(e=>t===e||t.startsWith("".concat(e," (")))},l=e=>{var t,r;if(!(null==(t=e.markets)?void 0:t.length))return!1;if((null==(r=e.teams)?void 0:r.length)===2||e.markets.some(e=>"moneyline"===e.sportsMarketType))return!0;if(!n(e))return!1;if(1===e.markets.length){let t=(0,a.parseOutcomes)(e.markets[0].outcomes);if(!(0,a.isYesNoOutcomes)(t))return!0}return!!(e.negRisk&&e.markets.length>=3&&e.markets.some(i))||!1},s=e=>{var t,r;if(!(null==(t=e.markets)?void 0:t.length))return null;let n=e.markets.find(e=>"moneyline"===e.sportsMarketType);if(n)return n;if(1===e.markets.length)return e.markets[0];let l=e.markets.find(e=>{if(e.groupItemTitle&&""!==e.groupItemTitle.trim())return!1;let t=(0,a.parseOutcomes)(e.outcomes);return!(0,a.isYesNoOutcomes)(t)});return l||(e.negRisk&&null!=(r=e.markets.find(e=>!i(e)))?r:e.markets[0])},o=e=>{var t,a;return(null!=(a=null==(t=e.teams)?void 0:t.length)?a:0)>=2&&null!==(e=>{var t;let a=null!=(t=e.markets)?t:[],r=a.filter(e=>"moneyline"===e.sportsMarketType),n=(r.length?r:a.every(e=>!e.sportsMarketType)?a:[]).find(e=>!e.closed&&e.acceptingOrders);return n||null})(e)},c=(e,t)=>{let r=(t.groupItemTitle||"").toLowerCase().trim(),n=(0,a.parseOutcomes)(t.outcomes);for(let t of e){var i,l,s,o;let e=null!=(s=null==(i=t.name)?void 0:i.toLowerCase())?s:"",a=null!=(o=null==(l=t.alias)?void 0:l.toLowerCase())?o:"";if(r&&(e&&r.includes(e)||a&&r.includes(a)))return t;for(let r of n){let n=r.toLowerCase();if(e&&n===e||a&&n===a)return t}}return null},u=e=>{var t;if(!(null==(t=e.markets)?void 0:t.length))return[];let a=s(e);return a?e.negRisk&&e.markets.length<=3?[]:e.markets.filter(e=>e.id!==a.id).sort((e,t)=>
1(t.volumeNum||0)-(e.volumeNum||0)):e.markets},d=e=>{var t,n,l,o,u;let d=null!=(t=e.teams)?t:[],m=null!=(n=e.markets)?n:[],p=[];if(1===m.length||!e.negRisk){let t=s(e);if(!t)return p;let n=(0,a.parseOutcomes)(t.outcomes),i=[(0,a.getYesPrice)(t.outcomePrices),1-(0,a.getYesPrice)(t.outcomePrices)],c=(0,a.parseClobTokenIds)(t.clobTokenIds);for(let e=0;e<Math.min(n.length,2);e++){let a=n[e].toLowerCase(),s=d.length&&null!=(l=d.find(e=>{var t,r;return(null==(t=e.name)?void 0:t.toLowerCase())===a||(null==(r=e.alias)?void 0:r.toLowerCase())===a}))?l:null,u=+(0!==e);p.push({isDraw:r.includes(a),label:n[e],market:t,outcomeIndex:u,probability:i[e],team:s,tokenId:null!=(o=c[u])?o:""})}return p}let f=[],g=[];for(let e of m){let t=i(e),r=e.groupItemTitle||(0,a.parseOutcomes)(e.outcomes)[0]||"Unknown",n=t?null:c(d,e),l=(0,a.getYesPrice)(e.outcomePrices),s={isDraw:t,label:r,market:e,outcomeIndex:0,probability:l,team:n,tokenId:null!=(u=(0,a.parseClobTokenIds)(e.clobTokenIds)[0])?u:""};t?g.push(s):f.push(s)}return[...f,...g]},m=e=>{var t;let a=null!=(t=e.teams)?t:[];if(!e.score||a.length<2)return{};let r=e.score.split("|").map(e=>e.trim()).filter(e=>/^\d+-\d+$/.test(e)).pop();if(!r)return{};let[n,i]=r.split("-");return{[a[0].id]:n,[a[1].id]:i}}},662728,e=>{"use strict";e.s(["getEventWinner",()=>n,"isEventResolved",()=>r]);var t=e.i(571229),a=e.i(903691);let r=e=>{var t;return!!(null==(t=e.markets)?void 0:t.length)&&e.markets.every(e=>e.closed)},n=(e,r)=>{var n,i,l;if((0,t.isSportsHeadToHead)(e))return null!=(i=null==(n=(0,t.getSportsTeamRows)(e).find(e=>e.probability>=a.RESOLVED_PRICE))?void 0:n.label)?i:null;if((0,a.isMultiOutcomeEvent)(e.markets)){let t=(null!=(l=e.markets)?l:[]).filter(e=>(0,a.getYesPrice)(e.outcomePrices)>=a.RESOLVED_PRICE).map(e=>(0,a.getMarketOutcomeName)(e));return t.length?t.join(", "):null}return(0,a.getResolvedOutcome)(r)}},707560,e=>{"use strict";e.s(["createSignedDepositWalletOrderV2",()=>h]);var t=e.i(594010),a=e.i(181601),r=e.i(235715),n=e.i(444914),i=e.i(381656);let l="Order(uint256 salt,address maker,address signer,uint256 tokenId,uint256 makerAmount,uint256 takerAmount,uint8 side,uint8 signatureType,uint256 timestamp,bytes32 metadata,bytes32 builder)",s=(0,a.keccak256)((0,r.stringToHex)(l)),o=(0,a.keccak256)((0,r.stringToHex)("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")),c="Polymarket CTF Exchange",u=(0,a.keccak256)((0,r.stringToHex)(c)),d=(0,a.keccak256)((0,r.stringToHex)("2")),m={Order:i.ORDER_TYPES_V2.Order,TypedDataSign:[{name:"contents",type:"Order"},{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"},{name:"salt",type:"bytes32"}]},p=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n.POLYGON_CHAIN_ID;return(0,a.keccak256)((0,t.encodeAbiParameters)([{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"address"}],[o,u,d,BigInt(r),e]))},f=function(e,t,a){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n.POLYGON_CHAIN_ID;return{domain:{chainId:r,name:c,verifyingContract:a,version:"2"},message:{chainId:BigInt(r),contents:{builder:e.builder,maker:e.maker,makerAmount:e.makerAmount,metadata:e.metadata,salt:e.salt,side:e.side,signatureType:e.signatureType,signer:e.signer,takerAmount:e.takerAmount,timestamp:e.timestamp,tokenId:e.tokenId},name:"DepositWallet",salt:i.ZERO_BYTES32,verifyingContract:t,version:"1"},primaryType:"TypedDataSign",types:m}},g=async e=>{let{chainId:i=n.POLYGON_CHAIN_ID,depositWallet:o,eoaSigner:c,exchangeAddress:u,order:d,walletClient:m}=e,g=(e=>(0,a.keccak256)((0,t.encodeAbiParameters)([{type:"bytes32"},{type:"uint256"},{type:"address"},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint8"},{type:"uint8"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[s,e.salt,e.maker,e.signer,e.tokenId,e.makerAmount,e.takerAmount,e.side,e.signatureType,e.timestamp,e.metadata,e.builder])))(d),h=p(u,i),y=f(d,o,u,i),S=await m.signTypedData({account:c,...y}),v=(0,r.stringToHex)(l),E=(v.slice(2).length/2).toString(16).padStart(4,"0");
1return"0x".concat(S.slice(2)).concat(h.slice(2)).concat(g.slice(2)).concat(v.slice(2)).concat(E)},h=async(e,t,a,r)=>{let l=(0,i.buildOrderDataV2)(t,a,a,n.SIGNATURE_TYPES.POLY_1271),s=t.negRisk?n.NEG_RISK_CTF_EXCHANGE_V2_ADDRESS:n.CTF_EXCHANGE_V2_ADDRESS,o=await g({depositWallet:a,eoaSigner:r,exchangeAddress:s,order:l,walletClient:e});return{...l,signature:o}}},942657,e=>{"use strict";e.s([]),e.i(381656),e.i(707560)},620101,e=>{"use strict";e.s(["getProxyWalletAddress",()=>l]);var t=e.i(276355),a=e.i(65089),r=e.i(181601),n=e.i(444914);let i=[{constant:!0,inputs:[{name:"user",type:"address"}],name:"computeProxyAddress",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"user",type:"address"}],name:"getSalt",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[],name:"getContractBytecode",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"}],l=async function(e,l){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(s){let i=(0,r.keccak256)((0,t.encodePacked)(["address"],[e]));return(0,a.getCreate2Address)({bytecodeHash:n.POLYMARKET_PROXY_INIT_CODE_HASH,from:n.POLYMARKET_PROXY_FACTORY_ADDRESS,salt:i})}return await l.readContract({abi:i,address:n.GNOSIS_SAFE_FACTORY_ADDRESS,args:[e],functionName:"computeProxyAddress"})}},720448,e=>{"use strict";let t;e.s(["deriveDepositWalletAddress",()=>y,"hasContractCode",()=>v,"hasContractCodeWithRetry",()=>E,"isDepositWalletActive",()=>b,"isLegacySafeUsable",()=>D,"resolvePolymarketWalletType",()=>S]);var a=e.i(829604),r=e.i(670026),n=e.i(594010),i=e.i(128690),l=e.i(65089),s=e.i(611156),o=e.i(181601),c=e.i(308999),u=e.i(235715),d=e.i(534999),m=e.i(265186),p=e.i(444914);let f=e=>{let t=(0,c.pad)(e,{size:32});return(0,n.encodeAbiParameters)([{type:"address"},{type:"bytes32"}],[p.DEPOSIT_WALLET_FACTORY_ADDRESS,t])},g=e=>(0,o.keccak256)((0,a.concatHex)(e)),h=async e=>(await (null!=t||(t=(async()=>{try{let{data:t}=await e.call({data:"0x49493a4d",to:p.DEPOSIT_WALLET_FACTORY_ADDRESS});if(!t)return{beacon:!1,confident:!0};let[a]=(0,r.decodeAbiParameters)([{type:"address"}],t);return{beacon:!(0,s.isAddressEqual)(a,d.zeroAddress),confident:!0}}catch(e){return t=void 0,{beacon:!1,confident:!1}}})()),t)).beacon,y=async(e,t)=>{let a=(e=>{let t=f(e);return(0,l.getCreate2Address)({bytecodeHash:(e=>{let t=BigInt((e.length-2)/2);return g([(0,u.toHex)(0x61003d3d8160233d3973n+(t<<56n),{size:10}),p.DEPOSIT_WALLET_IMPLEMENTATION_ADDRESS,"0x6009","0x5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076","0xcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f3",e])})(t),from:p.DEPOSIT_WALLET_FACTORY_ADDRESS,salt:(0,o.keccak256)(t)})})(e);return!await h(t)||await E(a,t)?a:(e=>{let t=f(e);return(0,l.getCreate2Address)({bytecodeHash:(e=>{let t=BigInt((e.length-2)/2);return g([(0,u.toHex)(0x6100523d8160233d3973n+(t<<56n),{size:10}),p.DEPOSIT_WALLET_BEACON_ADDRESS,"0x60195155f3363d3d373d3d363d602036600436635c60da","0x1b60e01b36527fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6c","0xb3582b35133d50545afa5036515af43d6000803e604d573d6000fd5b3d6000f3",e])})(t),from:p.DEPOSIT_WALLET_FACTORY_ADDRESS,salt:(0,o.keccak256)(t)})})(e)},S=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2)||void 0===arguments[2]||arguments[2];return e&&!t&&a?"GNOSIS_SAFE":"DEPOSIT_WALLET"},v=async(e,t)=>{let a=await t.getCode({address:e});return!!a&&"0x"!==a&&a.length>2},E=async function(e,t){let a,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3;for(let n=0;n<r;n++)try{return await v(e,t)}catch(e){a=e,n<r-1&&await new Promise(e=>setTimeout(e,250*(n+1)))}throw a},A=e=>e.some(e=>"fulfilled"===e.status&&e.value),w=e=>{if(A(e))return!0;let t=e.find(e=>"rejected"===e.status);if(t)throw t.reason;return!1},b=async(e,t)=>{let a=await y(e,t),r=e=>t.readContract({abi:i.erc20Abi,address:e,args:[a],functionName:"balanceOf"});return w(await Promise.allSettled([v(a,t),r(p.PUSD_ADDRESS).then(e=>e>0n),r(p.USDC_POLYGON_ADDRESS).then(e=>e>0n)]))},x=e=>{let t=Number.parseFloat(e.size);
1if(!(t>0))return!1;let{curPrice:a,redeemable:r}=e;return!0===r?(null!=a?a:0)>=.99:t>=1},D=async(e,t)=>{let a=a=>t.readContract({abi:i.erc20Abi,address:a,args:[e],functionName:"balanceOf"}),r=await Promise.allSettled([a(p.PUSD_ADDRESS),a(p.USDC_POLYGON_ADDRESS)]),n=[{status:"fulfilled",value:r.reduce((e,t)=>"fulfilled"===t.status?e+t.value:e,0n)>=1000000n},...r.filter(e=>"rejected"===e.status)];return!!A(n)||w([...n,...await Promise.allSettled([(0,m.getUserPositions)(e).then(e=>e.some(x))])])}},40608,e=>{"use strict";e.s(["deploySafeDirect",()=>u]);var t=e.i(616435),a=e.i(734071),r=e.i(534999),n=e.i(773358),i=e.i(444914),l=e.i(265849),s=e.i(356229);let o=[{inputs:[{name:"user",type:"address"}],name:"computeProxyAddress",outputs:[{name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{name:"paymentToken",type:"address"},{name:"payment",type:"uint256"},{name:"paymentReceiver",type:"address"},{components:[{name:"v",type:"uint8"},{name:"r",type:"bytes32"},{name:"s",type:"bytes32"}],name:"createSig",type:"tuple"}],name:"createProxy",outputs:[],stateMutability:"nonpayable",type:"function"}],c={CreateProxy:[{name:"paymentToken",type:"address"},{name:"payment",type:"uint256"},{name:"paymentReceiver",type:"address"}]},u=async(e,u,d)=>{let m=u.account;if(!m)throw Error("Wallet client has no account");let p=(0,a.getAddress)(i.GNOSIS_SAFE_FACTORY_ADDRESS);n.default.info("Deploying Safe directly from EOA (no relayer)",{context:"SafeDeploy",eoaAddress:e,factoryAddress:p});let f=await u.signTypedData({account:m,domain:{chainId:i.POLYGON_CHAIN_ID,name:"Polymarket Contract Proxy Factory",verifyingContract:p},message:{payment:0n,paymentReceiver:r.zeroAddress,paymentToken:r.zeroAddress},primaryType:"CreateProxy",types:c}),g=(0,s.toEcrecoverSig)(f);n.default.debug("CreateProxy signature obtained",{context:"SafeDeploy",v:g.v});let h=(0,t.encodeFunctionData)({abi:o,args:[r.zeroAddress,0n,r.zeroAddress,g],functionName:"createProxy"}),y=await (0,l.sendEoaTransaction)(d,u,{account:m.address,data:h,to:p}),S=y.hash;n.default.info("Safe deploy tx submitted",{context:"SafeDeploy",txHash:S});let v=await (0,l.waitForEoaReceipt)(d,y);if("success"!==v.status)throw n.default.error("Safe deploy reverted on-chain",{context:"SafeDeploy",txHash:v.transactionHash}),Error("Safe deploy reverted on-chain: ".concat(v.transactionHash));let E=await d.readContract({abi:o,address:p,args:[e],functionName:"computeProxyAddress"});return n.default.info("Safe deployed directly from EOA",{context:"SafeDeploy",proxyAddress:E,txHash:v.transactionHash}),{proxyAddress:E,transactionHash:v.transactionHash}}},82741,e=>{"use strict";e.s(["wrapUsdcEOnProxy",()=>c,"wrapUsdcEToDepositWallet",()=>u]);var t=e.i(616435),a=e.i(128690),r=e.i(954012),n=e.i(773358),i=e.i(245677),l=e.i(444914),s=e.i(265849),o=e.i(337845);let c=async(e,t,a,r,l)=>{if(l<=0n)throw Error("Wrap amount must be positive");let c=(0,i.buildWrapTransaction)(a,l);n.default.info("Wrapping USDC.e to pUSD on proxy",{amount:l.toString(),context:"CollateralWrap",proxyAddress:a});let u=await (0,o.executeSafeFromOwner)(e,t,a,r,[{data:c.data,to:c.to}]),d=await (0,s.waitForEoaReceipt)(e,u);if("success"!==d.status)throw Error("USDC.e â pUSD wrap reverted: ".concat(d.transactionHash));return n.default.info("USDC.e â pUSD wrap confirmed",{context:"CollateralWrap",txHash:d.transactionHash}),d.transactionHash},u=async(e,o,c,u,d,m)=>{var p,f;if(d<=0n)throw Error("Wrap amount must be positive");if(await e.readContract({abi:a.erc20Abi,address:l.USDC_POLYGON_ADDRESS,args:[c,l.COLLATERAL_ONRAMP_ADDRESS],functionName:"allowance"})<d){let n=await (0,s.sendEoaTransaction)(e,o,{account:c,data:(0,t.encodeFunctionData)({abi:a.erc20Abi,args:[l.COLLATERAL_ONRAMP_ADDRESS,r.maxUint256],functionName:"approve"}),to:l.USDC_POLYGON_ADDRESS});if(null==m||null==(f=m.onSent)||f.call(m,n,"approve"),"success"!==(await (0,s.waitForEoaReceiptStep)(e,n,"approve",{amount:d})).status)throw Error("USDC.e approval to Onramp reverted: ".concat(n.hash))}let g=(0,i.buildWrapTransaction)(u,d),h=await (0,s.sendEoaTransaction)(e,o,{account:c,data:g.data,to:g.to});null==m||null==(p=m.onSent)||p.call(m,h,"wrap");
1let y=await (0,s.waitForEoaReceiptStep)(e,h,"wrap",{amount:d});if("success"!==y.status)throw Error("USDC.e â pUSD wrap reverted: ".concat(y.transactionHash));return n.default.info("Funded deposit wallet with pUSD",{amount:d.toString(),context:"CollateralWrap",depositWallet:u,txHash:y.transactionHash}),y.transactionHash}},28310,e=>{"use strict";e.s(["CHART_RANGES",()=>t,"getAvailableChartRanges",()=>n,"getDefaultChartRange",()=>i]);let t=["1h","6h","1d","1w"],a={"1d":864e5,"1h":36e5,"1w":6048e5,"6h":216e5},r=["1h","6h"],n=function(e){var n;let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now(),l=null!=(n=null==e?void 0:e.startDate)?n:null==e?void 0:e.createdAt,s=l?Date.parse(l):NaN;if(!Number.isFinite(s))return[...t];let o=i-s;return t.filter(e=>r.includes(e)||a[e]<=o)},i=e=>{var t;return e.includes("1d")?"1d":null!=(t=e[e.length-1])?t:"1d"}},340185,e=>{"use strict";e.s(["formatWindowLabel",()=>l,"isIntradaySeries",()=>i]);let t=new Intl.DateTimeFormat("en-US",{hour:"numeric",minute:"2-digit",timeZone:"America/New_York"}),a=new Intl.DateTimeFormat("en-US",{day:"numeric",month:"short",timeZone:"America/New_York"}),r=new Intl.DateTimeFormat("en-US",{day:"numeric",month:"short",timeZone:"America/New_York",year:"numeric"}),n=new Intl.DateTimeFormat("en-US",{timeZone:"America/New_York",year:"numeric"}),i=e=>{let t=e.filter(e=>Number.isFinite(e.openTime)&&Number.isFinite(e.endTime));if(0===t.length)return!1;let a=t.map(e=>e.endTime).sort((e,t)=>e-t),r=a.slice(1).map((e,t)=>e-a[t]).filter(e=>e>0),n=r.length?Math.min(...r):t[0].endTime-t[0].openTime;return n>0&&n<864e5},l=(e,i)=>{let{intraday:l,now:s=Date.now()}=i;return Number.isFinite(e)?l?t.format(e):n.format(e)===n.format(s)?a.format(e):r.format(e):""}},387516,e=>{"use strict";e.s([]),e.i(444914),e.i(847449),e.i(472083),e.i(868777),e.i(903691),e.i(571229),e.i(662728),e.i(942657),e.i(620101),e.i(720448),e.i(608065),e.i(337845),e.i(40608),e.i(930796),e.i(82741),e.i(28310),e.i(340185)},963985,e=>{"use strict";e.s(["createMonotonicProbe",()=>t]);let t=e=>{let t=new Set,a=new Map,r=new Map,n=new Map,i=new Map;return Object.assign((l,s)=>{if(t.has(l))return Promise.resolve(!0);let o=Date.now(),c=a.get(l);if(void 0!==c&&o<c)return Promise.resolve(!1);let u=r.get(l);if(void 0!==u&&o<u.until)return Promise.reject(u.error);let d=n.get(l);if(d)return d;let m=e(l,s).then(e=>(r.delete(l),i.set(l,e),e?(t.add(l),a.delete(l)):a.set(l,Date.now()+5e3),e)).catch(e=>{throw r.set(l,{error:e,until:Date.now()+1e3}),e}).finally(()=>{n.delete(l)});return n.set(l,m),m},{lastResolved:e=>i.get(e)})}},112425,e=>{"use strict";e.s(["getResolvedRoute",()=>r,"publishResolvedRoute",()=>n,"subscribeResolvedRoute",()=>i]);let t=new Map,a=new Map,r=e=>t.get(e),n=(e,r)=>{var n;let i=t.get(e);((null==i?void 0:i.walletType)!==r.walletType||(null==i?void 0:i.proxyWalletAddress)!==r.proxyWalletAddress)&&(t.set(e,r),null==(n=a.get(e))||n.forEach(e=>e(r)))},i=(e,t)=>{var r;let n=null!=(r=a.get(e))?r:new Set;return n.add(t),a.set(e,n),()=>{n.delete(t),a.get(e)===n&&0===n.size&&a.delete(e)}}},267608,e=>{"use strict";e.s(["usePolymarketAuth",()=>_]),e.i(66367);var t=e.i(191614),a=e.i(240334),r=e.i(62674),n=e.i(378996),i=e.i(173745),l=e.i(582154),s=e.i(121073),o=e.i(773358);e.i(387516);var c=e.i(419283),u=e.i(178540),d=e.i(720448),m=e.i(134629),p=e.i(799421),f=e.i(620101),g=e.i(444914),h=e.i(963985),y=e.i(112425);let S="polymarket-credentials-updated",v=new Map,E=new Map,A=new Map,w=new Map,b=new Set([401,403]),x=e=>{let t=new Set,a=e;for(;null!=a&&!t.has(a);){let e=a.status;if("number"==typeof e&&b.has(e))return!0;t.add(a),a=a.cause}return!1},D=(0,h.createMonotonicProbe)(d.hasContractCodeWithRetry),T=(0,h.createMonotonicProbe)(d.isDepositWalletActive),k=(0,h.createMonotonicProbe)(d.isLegacySafeUsable),_=()=>{let{primaryWallet:e}=(0,t.useDynamicContext)(),{data:h}=(0,l.useWalletClient)({chainId:g.POLYGON_CHAIN_ID}),b=(0,r.useConfig)(),{switchChainAsync:_}=(0,i.useSwitchChain)(),P=(0,n.usePublicClient)({chainId:g.POLYGON_CHAIN_ID}),[C,R]=(0,a.useState)(null),[N,O]=(0,a.useState)(!1),[I,L]=(0,a.useState)(null),[M,F]=(0,a.useState)(null),[U,j]=(0,a.useState)(0),[W,G]=(0,a.useState)(0),[B,Y]=(0,a.useState)(!1),H=(0,a.useRef)(0),z=(0,a.useRef)(null),V=!!e,K=null==e?void 0:e.address,[q,X]=(0,a.useState)(null),J="DEPOSIT_WALLET"===q?g.SIGNATURE_TYPES.POLY_1271:g.SIGNATURE_TYPES.GNOSIS_SAFE;(0,a.useEffect)(()=>
1{if(K&&(0,p.hasPolymarketCredentials)(K)){let e=(0,p.getPolymarketCredentials)(K);e&&(o.default.debug("Loading stored credentials",{apiKeyPrefix:"".concat(e.apiKey.slice(0,15),"..."),context:"PolymarketAuth"}),R(e))}else R(null)},[K]),(0,a.useEffect)(()=>{let e=e=>{e.detail.address===K&&K&&R((0,p.getPolymarketCredentials)(K))};return window.addEventListener(S,e),()=>{window.removeEventListener(S,e)}},[K]),(0,a.useEffect)(()=>{if(!K)return;let e=e=>{let{proxyWalletAddress:t,walletType:a}=e;X(a),F(t)},t=(0,y.getResolvedRoute)(K);return t&&e(t),(0,y.subscribeResolvedRoute)(K,e)},[K]),(0,a.useEffect)(()=>{let e=e=>{K&&e.detail.address===K&&j(e=>e+1)};return window.addEventListener(m.DEPOSIT_WALLET_OVERRIDE_UPDATED_EVENT,e),()=>{window.removeEventListener(m.DEPOSIT_WALLET_OVERRIDE_UPDATED_EVENT,e)}},[K]),(0,a.useEffect)(()=>{let e=!1,t=!1,a=()=>(t=!0,!(H.current>=3)&&(H.current+=1,z.current&&clearTimeout(z.current),z.current=setTimeout(()=>{z.current=null,G(e=>e+1)},3e3),!0)),r=()=>{a()||Y(!0)},n=(e,t)=>{var a,r;let n=K?(0,y.getResolvedRoute)(K):void 0,i=t&&(null==n?void 0:n.walletType)!==t?void 0:n,l=null!=i?i:e;X(null!=(a=null==l?void 0:l.walletType)?a:null),F(null!=(r=null==l?void 0:l.proxyWalletAddress)?r:null)};return(async()=>{if(!K||!P)return n(null);let i=!1,l=e=>{if(i)return void n(e);X(e.walletType),F(e.proxyWalletAddress),(0,y.publishResolvedRoute)(K,e),t||(H.current=0)};if((0,m.getDepositWalletOverride)(K))try{let t=await (0,d.deriveDepositWalletAddress)(K,P);if(e)return;o.default.debug("Routing to deposit wallet (override set)",{context:"PolymarketAuth",depositWallet:t,eoaAddress:K}),l({proxyWalletAddress:t,walletType:"DEPOSIT_WALLET"});return}catch(t){if(e)return;o.default.warn("Override deposit-wallet derivation failed; falling back to detection",{context:"PolymarketAuth",error:t instanceof Error?t.message:"Unknown error"}),i=!0,a()}try{let t,s=await ((e,t)=>{let a="".concat(e,"-safe"),r=v.get(a);if(r)return Promise.resolve(r);let n=E.get(a);if(n)return n;let i=(0,f.getProxyWalletAddress)(e,t,!1).then(e=>(v.set(a,e),e)).finally(()=>{E.delete(a)});return E.set(a,i),i})(K,P);try{t=await D(s,P)}catch(t){if(e)return;o.default.warn("Legacy Safe code probe failed; defaulting to Safe path",{context:"PolymarketAuth",error:t instanceof Error?t.message:"Unknown error"}),n({proxyWalletAddress:s,walletType:"GNOSIS_SAFE"}),a();return}let c=!1;if(t)try{c=await T(K,P)}catch(t){if(e)return;i=!0,a(),o.default.warn("Deposit-wallet activity probe failed; keeping Safe path",{context:"PolymarketAuth",error:t instanceof Error?t.message:"Unknown error"})}if(e)return;let u=!0;if(t&&!c)try{u=await k(s,P)}catch(r){if(e)return;let t=k.lastResolved(s);u=null==t||t,!0!==t&&(i=!0),o.default.warn("Legacy Safe usability probe failed",{context:"PolymarketAuth",error:r instanceof Error?r.message:"Unknown error",usingLastResolved:void 0!==k.lastResolved(s)}),a()}if(e)return;if("DEPOSIT_WALLET"===(0,d.resolvePolymarketWalletType)(t,c,u))try{let a=await (0,d.deriveDepositWalletAddress)(K,P);if(e)return;o.default.debug("Routing to deposit wallet",{context:"PolymarketAuth",depositWallet:a,eoaAddress:K,reason:t?c?"deposit wallet active despite legacy Safe code":"legacy Safe has no stake (empty artifact)":"no legacy Safe deployed"}),l({proxyWalletAddress:a,walletType:"DEPOSIT_WALLET"});return}catch(t){if(e)return;o.default.error("Deposit-wallet derivation failed; routing left unresolved",{context:"PolymarketAuth",error:t instanceof Error?t.message:"Unknown error"}),n(null,"DEPOSIT_WALLET"),r();return}if(e)return;o.default.debug("Derived proxy wallet address",{context:"PolymarketAuth",eoaAddress:K,factory:"Gnosis Safe",proxyAddress:s}),l({proxyWalletAddress:s,walletType:"GNOSIS_SAFE"})}catch(a){if(e)return;let t=a instanceof Error?a.message:"Unknown error";o.default.error("Failed to derive proxy wallet address",{context:"PolymarketAuth",error:t}),n(null),r()}})(),()=>{e=!0}},[K,P,U,W]),(0,a.useEffect)(()=>{H.current=0,Y(!1),z.current&&(clearTimeout(z.current),z.current=null)},[K,U]),(0,a.useEffect)(()=>()=>{z.current&&clearTimeout(z.current)},[]);let $=(0,a.useCallback)(async()=>
1{if(!e||!K)throw Error("No wallet connected");if(h)return h;let t=w.get(K);if(t)return t;o.default.info("Wallet client unavailable â switching to Polygon to sign",{context:"PolymarketAuth"});let a=(async()=>{await _({chainId:g.POLYGON_CHAIN_ID});let e=Date.now()+2e4,t=Error("Wallet client not available for signing"),a=300;for(;;){try{let e=await (0,s.getWalletClient)(b,{chainId:g.POLYGON_CHAIN_ID});if(e)return e}catch(e){if(x(e))throw e;t=e}if(Date.now()>=e)break;await new Promise(e=>setTimeout(e,a)),a=Math.min(2*a,3e3)}throw t instanceof Error?t:Error("Wallet client not available for signing")})();w.set(K,a);try{return await a}finally{w.get(K)===a&&w.delete(K)}},[e,K,h,_,b]);return{authenticate:(0,a.useCallback)(async t=>{if(!e||!K)throw Error("No wallet connected");let{forceCreate:a=!1}=null!=t?t:{};a&&(A.delete(K),o.default.info("Force auth: cleared pending promises",{context:"PolymarketAuth"}));let r=A.get(K);if(r)return o.default.info("Reusing existing authentication promise",{context:"PolymarketAuth",eoaAddress:"".concat(K.slice(0,10),"...")}),r;o.default.info("Starting authentication",{context:"PolymarketAuth",eoaAddress:"".concat(K.slice(0,10),"..."),forceCreate:a}),O(!0),L(null);let n=()=>{},i=()=>{},l=new Promise((e,t)=>{n=e,i=t});return A.set(K,l),(async()=>{try{let e,t=(0,c.buildL1AuthMessage)(K),r=(0,c.getPolymarketDomain)();o.default.info("Auth: Building L1 message",{context:"PolymarketAuth",domain:JSON.stringify(r),eoaAddress:K,messageAddress:t.address,messageTimestamp:t.timestamp,nonce:t.nonce.toString()}),o.default.info("Requesting wallet signature",{context:"PolymarketAuth",messageAddress:"".concat(t.address.slice(0,10),"..."),timestamp:t.timestamp});let i=await $(),l=await i.signTypedData({account:K,domain:r,message:t,primaryType:"ClobAuth",types:c.CLOB_AUTH_TYPES});o.default.info("Auth: Signature obtained",{context:"PolymarketAuth",signatureLength:l.length,signaturePrefix:"".concat(l.slice(0,20),"...")}),a&&((0,p.removePolymarketCredentials)(K),R(null),o.default.info("Cleared old credentials for re-auth",{context:"PolymarketAuth"})),o.default.info("Auth: Attempting to derive credentials",{addressForDerive:K,context:"PolymarketAuth",nonce:Number(t.nonce),timestamp:t.timestamp});let s={nonce:Number(t.nonce),signatureType:J};try{e=await (0,u.deriveApiCredentials)(K,l,t.timestamp,s),o.default.info("Auth: API credentials derived successfully",{apiKeyPrefix:"".concat(e.apiKey.slice(0,15),"..."),context:"PolymarketAuth",signatureType:J})}catch(r){let a=r instanceof Error?r.message:String(r);o.default.info("Auth: Derive failed (likely first-time user), creating new credentials",{context:"PolymarketAuth",error:a,signatureType:J}),e=await (0,u.createApiCredentials)(K,l,t.timestamp,s),o.default.info("Auth: API credentials created successfully",{apiKeyPrefix:"".concat(e.apiKey.slice(0,15),"..."),context:"PolymarketAuth",signatureType:J})}o.default.info("Auth: Storing credentials",{apiKeyPrefix:"".concat(e.apiKey.slice(0,15),"..."),context:"PolymarketAuth",eoaAddress:K}),(0,p.storePolymarketCredentials)(K,e),R(e),window.dispatchEvent(new CustomEvent(S,{detail:{address:K}})),n()}catch(t){let e=t instanceof Error?t:Error("Authentication failed");L(e),i(e)}finally{O(!1),A.delete(K)}})(),l},[e,K,J,$]),credentials:C,ensureWalletClient:$,eoaAddress:null!=K?K:null,error:I,isAuthenticated:null!==C,isAuthenticating:N,isWalletConnected:V,proxyWalletAddress:M,routingExhausted:B,signatureType:J,walletType:q}}},468617,e=>{"use strict";e.s(["useClaimPositions",()=>g]);var t=e.i(240334),a=e.i(85315),r=e.i(7521),n=e.i(94935),i=e.i(378996),l=e.i(773358),s=e.i(245677),o=e.i(444914),c=e.i(493370),u=e.i(265849),d=e.i(297717),m=e.i(337845),p=e.i(913146),f=e.i(267608);let g=()=>{let[e,g]=(0,t.useState)(!1),[h,y]=(0,t.useState)(null),{ensureWalletClient:S,eoaAddress:v,proxyWalletAddress:E,walletType:A}=(0,f.usePolymarketAuth)(),{mutate:w}=(0,a.useSWRConfig)(),b=(0,i.usePublicClient)({chainId:o.POLYGON_CHAIN_ID});return{claimAll:async e=>{if(0===e.length)return l.default.warn("No positions to claim",{context:"useClaimPositions"}),null;if(!E||!v||!b)return y(Error("Wallet not connected")),null;g(!0),y(null);let t=()=>w(e=>Array.isArray(e)&&"polymarket-positions"===e[0]);try{let a;
1e.forEach(e=>{if(!e.conditionId.startsWith("0x")||66!==e.conditionId.length)throw Error("Invalid conditionId format: ".concat(e.conditionId));if(!/^\d+$/.test(String(e.asset)))throw Error("Invalid asset token id: ".concat(e.asset))});let i=e.filter(e=>!e.negRisk),f=e.filter(e=>e.negRisk),g=i.length>0?await b.multicall({allowFailure:!1,contracts:i.flatMap(e=>[{abi:s.ctfAbi,address:o.CTF_ADDRESS,args:[e.conditionId],functionName:"payoutDenominator"},{abi:s.ctfAbi,address:o.CTF_ADDRESS,args:[E,BigInt(e.asset)],functionName:"balanceOf"}])}):[],h=i.map((e,t)=>({balance:g[2*t+1],position:e,resolved:g[2*t]>0n})),y=[...h.filter(e=>e.resolved&&e.balance>0n),...f.map(e=>({balance:(0,n.parseUnits)(e.size,o.USDC_DECIMALS),position:e}))].filter(e=>e.balance>0n);if(0===y.length){await t();let e=h.some(e=>!e.resolved);throw Error(e?p.CLAIM_NOT_FINALIZED_MESSAGE:p.CLAIM_ALREADY_CLAIMED_MESSAGE)}let w=y.length,x=Number((0,r.formatUnits)(y.reduce((e,t)=>{let{balance:a}=t;return e+a},0n),o.USDC_DECIMALS)).toFixed(2);l.default.info("Executing batch claim",{context:"useClaimPositions",positionCount:w});let D=await S();if("DEPOSIT_WALLET"===A){let e=(0,c.buildDepositWalletClaimCalls)(y.map(e=>{let{balance:t,position:a}=e;return{balance:t,conditionId:a.conditionId,negRisk:a.negRisk,outcome:a.outcome}}),E),t=await (0,d.submitDepositWalletBatch)({calls:(0,d.toBatchCalls)(e),depositWallet:E,eoaAddress:v,publicClient:b,walletClient:D});(a=t.transactionHash)||l.default.warn("Deposit-wallet claim confirmed without a tx hash",{context:"useClaimPositions",transactionId:t.transactionID})}else{let e=y.map(e=>{let{position:t}=e;return(0,s.buildRedeemPositionsTransactionV2)(t.conditionId,t.negRisk)}),t=await (0,m.executeSafeMultiSend)(b,D,E,v,e),r=await (0,u.waitForEoaReceipt)(b,t);if("success"!==r.status)throw Error("Claim transaction reverted on-chain");a=t.hash}return l.default.info("Batch claim successful",{context:"useClaimPositions",txHash:a}),await t(),{claimedAmount:x,claimedCount:w,txHash:a}}catch(a){if(a instanceof d.RelayerPollTimeoutError||(0,u.isPendingTransaction)(a))throw await t(),a;let e=a instanceof Error?a:Error("Failed to claim positions");return l.default.error("Claim failed",{cause:e.cause instanceof Error?e.cause.message:e.cause,context:"useClaimPositions",error:e.message,name:e.name,stack:e.stack,walletType:A}),y(e),null}finally{g(!1)}},error:h,isClaiming:e}}},287595,e=>{"use strict";e.s(["deserializeSentTx",()=>r,"isStoredSentTx",()=>t,"serializeSentTx",()=>a]);let t=e=>{if("object"!=typeof e||null===e||"string"!=typeof e.hash)return!1;let t=e.request;return"object"==typeof t&&null!==t&&"string"==typeof t.account&&"string"==typeof t.to&&"string"==typeof t.data&&"number"==typeof t.nonce&&(void 0===t.value||"string"==typeof t.value)&&void 0!==(e=>"string"==typeof e.gasPrice?e.gasPrice:"string"==typeof e.maxFeePerGas?e.maxFeePerGas:void 0)(t)},a=e=>({hash:e.hash,request:{account:e.request.account,data:e.request.data,gasPrice:e.request.gasPrice.toString(),nonce:e.request.nonce,to:e.request.to,...void 0!==e.request.value&&{value:e.request.value.toString()}}}),r=e=>{var t;let a=null!=(t=e.request.gasPrice)?t:e.request.maxFeePerGas;return{hash:e.hash,request:{account:e.request.account,data:e.request.data,gasPrice:BigInt(a),nonce:e.request.nonce,to:e.request.to,...void 0!==e.request.value&&{value:BigInt(e.request.value)}}}}},167706,e=>{"use strict";e.s(["clearPendingFundingTx",()=>d,"isFundingSendInProgress",()=>u,"loadPendingFundingTx",()=>l,"markFundingSendFinished",()=>c,"markFundingSendStarted",()=>o,"savePendingFundingTx",()=>i]);var t=e.i(773358),a=e.i(287595);let r=e=>"".concat("predictr:pending-funding-tx:").concat(e),n=["approve","wrap","sweep"],i=(e,n)=>{try{window.localStorage.setItem(r(e),JSON.stringify({amount:n.amount.toString(),sent:(0,a.seri
1alizeSentTx)(n.sent),step:n.step,toastId:n.toastId}))}catch(e){t.default.warn("Failed to persist pending funding transaction",{context:"PendingFundingTxStore",error:e instanceof Error?e.message:"Unknown error"})}},l=e=>{let t;try{t=window.localStorage.getItem(r(e))}catch(e){return null}if(!t)return null;try{let r=JSON.parse(t);if("object"!=typeof r||null===r||"string"!=typeof r.amount||!(0,a.isStoredSentTx)(r.sent))return d(e),null;return{amount:BigInt(r.amount),sent:(0,a.deserializeSentTx)(r.sent),step:(e=>"string"==typeof e&&n.includes(e))(r.step)?r.step:void 0,toastId:"number"==typeof r.toastId?r.toastId:void 0}}catch(t){return d(e),null}},s=new Set,o=e=>{s.add(r(e))},c=e=>{s.delete(r(e))},u=e=>s.has(r(e)),d=e=>{try{window.localStorage.removeItem(r(e))}catch(e){}}},650105,e=>{"use strict";e.s(["useDepositWallet",()=>g]);var t=e.i(240334),a=e.i(568331),r=e.i(378996),n=e.i(536027),i=e.i(773358),l=e.i(930796),s=e.i(82741),o=e.i(444914),c=e.i(265849),u=e.i(167706),d=e.i(297717),m=e.i(913146),p=e.i(267608);let f=async(e,t)=>{try{let a=await e.getTransactionReceipt({hash:t});return"success"===a.status}catch(e){return!1}},g=()=>{let{ensureWalletClient:e,eoaAddress:g,proxyWalletAddress:h,walletType:y}=(0,p.usePolymarketAuth)(),S=(0,r.usePublicClient)({chainId:o.POLYGON_CHAIN_ID}),v="DEPOSIT_WALLET"===y,E=v?h:null,[A,w]=(0,t.useState)(null),[b,x]=(0,t.useState)(null),[D,T]=(0,t.useState)(!1),[k,_]=(0,t.useState)(!1),[P,C]=(0,t.useState)(!1),[R,N]=(0,t.useState)(!1),[O,I]=(0,t.useState)("idle"),[L,M]=(0,t.useState)(null),[F,U]=(0,t.useState)(null),[j,W]=(0,t.useState)(null),G=(0,t.useCallback)(()=>W(null),[]),{discardTransaction:B,markFailed:Y,markSuccess:H}=(0,n.default)(),z=(0,t.useCallback)(e=>{U(e),g&&(e?(0,u.savePendingFundingTx)(g,e):(0,u.clearPendingFundingTx)(g))},[g]),V=(0,t.useRef)(null),K=(0,t.useRef)(null);(0,t.useEffect)(()=>{if(!g||!S||K.current===g)return;let e=null!==K.current;K.current=g,e&&U(null);let t=(0,u.loadPendingFundingTx)(g);if(!t)return;let a=!1;return(async()=>{if(await (0,c.isNonceConsumed)(S,t.sent))return(0,u.clearPendingFundingTx)(g);a||U(e=>null!=e?e:t)})(),()=>{a=!0}},[g,S]),(0,t.useEffect)(()=>{if(!S||!F||P||!g)return;let{sent:e,step:t,toastId:a}=F,r=!1,n=setInterval(async()=>{var n;if((0,u.isFundingSendInProgress)(g)||!await (0,c.isNonceConsumed)(S,e)||r)return;let l=await (0,c.readEoaReceipt)(S,e.hash);if(r||"unreadable"===l||(0,u.isFundingSendInProgress)(g))return;let s=(0,u.loadPendingFundingTx)(g);if(s&&s.sent.hash!==e.hash)return void U(s);if(null===l){let t=V.current,a=(null==t?void 0:t.hash)===e.hash?t.ticks+1:1;if(V.current={hash:e.hash,ticks:a},a<2)return void i.default.info("Absent funding receipt; re-asking before unlocking",{context:"DepositWallet",ticks:a,txHash:e.hash})}else V.current=null;if(i.default.info("Stalled funding send settled; unlocking the CTA",{context:"DepositWallet",status:null!=(n=null==l?void 0:l.status)?n:"unknown",step:t,txHash:e.hash}),z(null),(null==l?void 0:l.status)==="reverted"){let t=Error("Deposit-wallet funding reverted: ".concat(e.hash));M(t),Y(t,a);return}let o=(null==l?void 0:l.status)==="success"&&"approve"!==t;M(e=>o||(0,c.isPendingTransaction)(e)?null:e),o?H(l.transactionHash,a):B(a),W(o?{funded:!0,hash:l.transactionHash}:{funded:!1})},1e4);return()=>{r=!0,clearInterval(n)}},[B,g,P,Y,H,F,S,z]);let q=(0,t.useRef)(!1),X=(0,t.useRef)(0),J=(0,t.useRef)(null),$=(0,t.useRef)(0),Z=(0,t.useCallback)(async()=>{if(!g||!E||!S){w(null),x(null);return}$.current+=1;let e=$.current;T(!0);try{let t=await (0,d.isDepositWalletDeployed)(E);if($.current!==e)return;if("unknown"===t){if(q.current||null!==J.current)return;X.current<6?(X.current+=1,J.current=setTimeout(()=>{J.current=null,Z()},5e3)):M(new m.DepositWalletStatusError);return}if(q.current=!0,M(null),w(t),t){let{needsAnyApproval:t}=await (0,l.checkDepositWalletNeedsApprovals)(S,E);if($.current!==e)return;x(t),I(t?"idle":"ready")}else x(null)}catch(t){if($.current!==e)return;w(null),x(null),M(new m.DepositWalletStatusError),i.default.error("Failed to refresh deposit-wallet status",{context:"DepositWallet",error:t instanceof Error?t.message:"Unknown error"})}finally{$.current===e&&T(!1)}},[g,E,S]);(0,t.useEffect)(()=>{v&&E&&(q.current=!1,X.current=0,Z())}
1,[v,E,Z]),(0,t.useEffect)(()=>()=>{J.current&&clearTimeout(J.current)},[]);let Q=(0,t.useCallback)(async()=>{try{return await e()}catch(t){let e=(0,m.wrapError)(t,"Wallet client not available");throw M(e),e}},[e]),ee=(0,t.useCallback)(async()=>{let e;if(!g||!E||!S)return void M(Error("Wallet not ready for deposit-wallet setup"));_(!0);try{e=await Q()}catch(e){throw _(!1),e}M(null);try{let t=null,a=await (0,d.isDepositWalletDeployed)(E);if(!0!==a){I("creating");let e=await (0,d.createDepositWallet)(g);try{await (0,d.pollRelayerTransaction)(e.transactionID)}catch(t){if(!(0,m.isRelayerPollTimeout)(t)||await (0,d.isDepositWalletDeployed)(E)!==!0)throw t;i.default.warn("Deposit-wallet create poll timed out but wallet is live",{context:"DepositWallet",transactionId:e.transactionID})}t=e.transactionID,w(!0)}let{needsAnyApproval:r}=await (0,l.checkDepositWalletNeedsApprovals)(S,E);if(r){I("approving");let a=()=>(0,d.submitApprovalBatch)({depositWallet:E,eoaAddress:g,publicClient:S,walletClient:e}),r=async()=>{try{await a()}catch(e){if(t&&(0,d.isWalletNotRegisteredError)(e))await (0,d.pollRelayerTransaction)(t,{terminalStates:d.REGISTRY_FINALIZED_STATES}),await a();else if((0,m.isRelayerPollTimeout)(e)){let{needsAnyApproval:t}=await (0,l.checkDepositWalletNeedsApprovals)(S,E);if(t)throw e;i.default.warn("Approval batch poll timed out but approvals are live",{context:"DepositWallet"})}else throw e}},n=new AbortController,s=r();try{await Promise.race([s,((e,t,a)=>new Promise(r=>{let n=null,i=()=>{n&&clearTimeout(n),r()};if(a.aborted)return r();a.addEventListener("abort",i,{once:!0});let s=async()=>{try{let{needsAnyApproval:n}=await (0,l.checkDepositWalletNeedsApprovals)(e,t);if(a.aborted)return;if(!n)return a.removeEventListener("abort",i),r()}catch(e){}a.aborted||(n=setTimeout(s,2e3))};s()}))(S,E,n.signal)])}finally{n.abort()}}await Z(),I("ready")}catch(t){let e=t instanceof Error?t:Error("Deposit-wallet setup failed");throw(0,m.isRelayerPollTimeout)(e)?i.default.warn("Deposit-wallet setup still processing",{context:"DepositWallet",error:e.message}):i.default.error("Deposit-wallet setup failed",{context:"DepositWallet",error:e.message}),M(e),I("idle"),e}finally{_(!1)}},[g,E,S,Q,Z]),et=(0,t.useCallback)(async(e,t)=>{let a;if(!g||!E||!S){let e=Error("Wallet not ready for funding");throw M(e),e}C(!0);try{a=await Q()}catch(e){throw C(!1),e}M(null),z(null);let r={funding:null};(0,u.markFundingSendStarted)(g);try{let n=await (0,s.wrapUsdcEToDepositWallet)(S,a,g,E,e,{onSent:(a,n)=>{r.funding={amount:e,sent:a,step:n,toastId:t},(0,u.savePendingFundingTx)(g,r.funding)}});return z(null),n}catch(l){let a=(0,c.isPendingTransaction)(l)?l:null;a||!r.funding||await (0,c.isNonceConsumed)(S,r.funding.sent)||(i.default.error("Funding wait failed over a send holding its nonce",{context:"useDepositWallet",error:l instanceof Error?l.message:String(l),hash:r.funding.sent.hash}),a=new c.PendingTransactionError(r.funding.sent,r.funding.step,r.funding.amount)),a?z({amount:e,sent:a.sent,step:a.step,toastId:t}):z(null);let n=null!=a?a:l instanceof Error?l:Error("Deposit-wallet funding failed");throw M(n),n}finally{C(!1),(0,u.markFundingSendFinished)(g)}},[g,E,S,Q,z]),ea=(0,t.useCallback)(async()=>{let e;if(!(null==F?void 0:F.step)||!S||!g||!E)return null;C(!0),(0,u.markFundingSendStarted)(g);try{e=await Q()}catch(e){throw C(!1),(0,u.markFundingSendFinished)(g),e}let t=!1,a={sent:null};try{let r;try{let t=await (0,c.speedUpEoaTransaction)(S,e,F.sent);a.sent=t,z({amount:F.amount,sent:t,step:F.step,toastId:F.toastId});let n=await (0,c.waitForEoaReceiptStep)(S,t,F.step,{amount:F.amount});if("success"!==n.status)throw Error("Funding transaction reverted: ".concat(t.hash));r=n.transactionHash}catch(e){if((0,c.isPendingTransaction)(e)||!await f(S,F.sent.hash))throw e;i.default.info("Stalled funding send mined before its replacement",{context:"DepositWallet",step:F.step,txHash:F.sent.hash}),r=F.sent.hash}return t=!0,a.sent=null,"approve"===F.step&&(r=await (0,s.wrapUsdcEToDepositWallet)(S,e,g,E,F.amount,{onSent:(e,t)=>{a.sent=e,z({amount:F.amount,sent:e,step:t,toastId:F.toastId})}})),z(null),M(null),r}catch(l){var r,n;if((0,c.isPendingTransaction)(l))return z({amount:F.amount,sent:l.sent,step:null!=(r=l.step)?r:F.step,toastId:F.toastId}),M(l),null;let e=null!=(n=a.sent)?n:t?null:F.sent;(null===e||await (0,c.isNonceConsumed)(S,e))&&z(null);let i=l instanceof Error?l:Error("Failed to speed up funding");throw M(i),i}finally{C(!1),(0,u.markFundingSendFinished)(g)}},[F,S,g,E,Q,z]),er=(0,t.useCallback)(async e=>{let t;if(!g||!E||!S){let e=Error("Wallet not ready for wrapping");throw M(e),e}N(!0);try{t=await Q()}catch(e){throw N(!1),e}M(null);try{let r=await (0,d.wrapOnDepositWallet)({amount:e,depositWallet:E,eoaAddress:g,publicClient:S,walletClient:t});return(0,a.isHex)(r.transactionHash)?r.transactionHash:null}catch(t){let e=t instanceof Error?t:Error("Deposit-wallet wrap failed");throw M(e),e}finally{N(!1)}},[g,E,S,Q]);return{acknowledgeFundingSettlement:G,depositWalletAddress:E,eoaAddress:g,error:L,fund:et,fundingSettlement:j,isCheckingStatus:D,isDeployed:A,isDepositWalletUser:v,isFunding:P,isSettingUp:k,isWrapping:R,needsApprovals:b,pendingFunding:F,refresh:Z,setup:ee,speedUpFunding:ea,step:O,wrap:er}}},586411,e=>{"use strict";e.s(["usePolymarketClaimFlow",()=>u]);var t=e.i(756601),a=e.i(240334),r=e.i(545314),n=e.i(773358),i=e.i(444914),l=e.i(913146),s=e.i(88845),o=e.i(468617),c=e.i(650105);let u=e=>{var u;let d=(0,t.useTranslations)(),{claimAll:m,error:p,isClaiming:f}=(0,o.useClaimPositions)(),{checkV2Setup:g,isApproving:h,setupV2:y,v2SetupNeeded:S}=(0,r.usePolymarketContext)(),{isDepositWalletUser:v,isSettingUp:E,setup:A}=(0,c.useDepositWallet)(),[w,b]=(0,a.useState)(null),[x,D]=(0,a.useState)(!1),[T,k]=(0,a.useState)(null),_=e.length>0&&!0===S,P=null===S,C=(0,a.useMemo)(()=>e.map(e=>"".concat(e.conditionId,":").concat(e.outcome)).join("|"),[e]),R=(0,a.useMemo)(()=>new Set(C.split("|")),[C]);(0,a.useEffect)(()=>{b(e=>e?"setup"===e.kind?!1===S?null:e:e.claimedKeys.some(e=>R.has(e))?e:null:null)},[R,S]);let N=async()=>{b(null),k(null);try{v?(await A(),await g()):await y()}catch(e){if((0,l.handleRelayerTimeout)(e,e=>b({kind:"setup",message:e})))return void g();n.default.error("Claim setup failed",{context:"usePolymarketClaimFlow",error:e}),k(e instanceof Error?e:Error("Claim setup failed"))}};return{claim:async()=>{b(null);let t=e.map(e=>"".concat(e.conditionId,":").concat(e.outcome));try{let t=await m(e);t&&(D(!0),(0,s.showTransactionToast)({onClick:t.txHash?()=>window.open("".concat(i.POLYGONSCAN_TX_URL,"/").concat(t.txHash),"_blank"):void 0,title:d("polymarket-claimed-success",{amount:t.claimedAmount,count:t.claimedCount}),type:"success"}))}catch(e){if((0,l.handleRelayerTimeout)(e,e=>b({claimedKeys:t,kind:"claim",message:e})))return;n.default.error("Claim failed",{context:"usePolymarketClaimFlow",error:e})}},clearLock:()=>b(null),dismissConfetti:()=>D(!1),errorMessage:p?(0,l.createPolymarketUserFriendlyErrorMessage)(p):T?(0,l.createPolymarketUserFriendlyErrorMessage)(T):null,isCheckingSetup:P,isClaiming:f,isSettingUp:h||E,processingMessage:null!=(u=null==w?void 0:w.message)?u:null,runSetup:N,showConfetti:x,showSetupGate:_}}},297560,e=>{"use strict";e.s(["MAX_PRICE",()=>r,"MIN_PRICE",()=>a,"getPriceInputStep",()=>l,"priceToCents",()=>i,"validateLimitPrice",()=>n]);var t=e.i(381656);let a=.01,r=.99,n=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"0.01";if(isNaN(e)||e<=0)return{error:"Price must be a positive number",isValid:!1,roundedPrice:0};if(e<a)return{error:"Price must be at least ".concat(a),isValid:!1,roundedPrice:e};if(e>r)return{error:"Price must be at most ".concat(r),isValid:!1,roundedPrice:e};let i=(0,t.roundToTickSize)(e,n);return i<a?{error:"Price rounds to ".concat(i,", which is below minimum ").concat(a),isValid:!1,roundedPrice:i}:{isValid:!0,roundedPrice:i}},i=(e,a)=>{let r=Math.max(0,(a?(0,t.getTickSizePrecision)(a):2)-2);return(100*e).toFixed(r)},l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"0.01";return("string"==typeof e?parseFloat(e):e).toString()}},169781,e=>{"use strict";e.s(["ceilToCents",()=>o,"formatShares",()=>
1p,"getBestAsk",()=>n,"getBestBid",()=>r,"getMarketOrderPrice",()=>m,"getMarketableBasePrice",()=>d,"getOrderSize",()=>c,"hasNoMarketableLiquidity",()=>i,"maxMarketBuyAmount",()=>u,"sharesToUsd",()=>s,"usdToShares",()=>l]);var t=e.i(297560);let a=(e,t)=>{let a=null;for(let r of e){let e=parseFloat(r.price);e>0&&e<1&&(a=null===a?e:t(a,e))}return a},r=e=>a(e,Math.max),n=e=>a(e,Math.min),i=(e,a,r)=>"BUY"===e?null===a||a>t.MAX_PRICE:null===r||r<t.MIN_PRICE,l=(e,t)=>t<=0||t>1?0:e/t,s=(e,t)=>e*t,o=e=>e<=0?0:Math.ceil(100*e-1e-6)/100,c=(e,t,a)=>"BUY"===a?l(e,t):e,u=(e,t)=>e<=0||t<=0?0:Math.floor(e/t*100)/100,d=(e,t,a,r)=>{let n="BUY"===e?t:a;return null!==n&&n>0&&n<1?n:r},m=(e,t)=>{let a=Math.max(.03*e,.01);return"BUY"===t?Math.min(e+a,.99):Math.max(e-a,.01)},p=e=>e.toLocaleString("en",{maximumFractionDigits:2})},683837,e=>{"use strict";e.s(["useOrderBook",()=>n]);var t=e.i(737668),a=e.i(169781),r=e.i(213237);let n=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{refreshInterval:i=5e3}=n,{data:l,error:s,isLoading:o,mutate:c}=(0,t.default)(e?"/api/polymarket/book?token_id=".concat(encodeURIComponent(e)):null,r.fetcher,{dedupingInterval:2e3,refreshInterval:i,revalidateOnFocus:!0}),u=(null==l?void 0:l.bids)?(0,a.getBestBid)(l.bids):null,d=(null==l?void 0:l.asks)?(0,a.getBestAsk)(l.asks):null,m=null!==u&&null!==d?d-u:null,p=null!==u&&null!==d?(u+d)/2:null;return{bestAsk:d,bestBid:u,error:s,isLoading:o,liveBestAsk:s?null:d,liveBestBid:s?null:u,midpoint:p,orderBook:null!=l?l:null,refresh:()=>c(),spread:m,spreadPercent:null!==m&&null!==p&&p>0?m/p*100:null}}},957297,e=>{"use strict";e.s(["parseMarketMessage",()=>n]);let t=(e,t)=>{let a=e>0,r=t>0;return a&&r?Number(((e+t)/2).toFixed(6)):a?e:r?t:null},a=(e,t)=>{if(!Array.isArray(e))return 0;let a=0;for(let i of e){var r,n;let e=parseFloat(null!=(r=null==i?void 0:i.price)?r:""),l=parseFloat(null!=(n=null==i?void 0:i.size)?n:"");e>0&&l>0&&(a=0===a?e:"bid"===t?Math.max(a,e):Math.min(a,e))}return a},r=(e,t,a)=>{null!=a&&"string"==typeof t&&t.length>0&&e.push({assetId:t,price:a})},n=e=>{let n;try{n=JSON.parse(e)}catch(e){return[]}let i=Array.isArray(n)?n:[n],l=[];for(let e of i)if(e&&"object"==typeof e){if("price_change"===e.event_type&&Array.isArray(e.price_changes))for(let a of e.price_changes){var s,o;let e=parseFloat(String(null!=(s=null==a?void 0:a.best_bid)?s:"")),n=parseFloat(String(null!=(o=null==a?void 0:a.best_ask)?o:""));r(l,null==a?void 0:a.asset_id,t(e,n))}else if("book"===e.event_type){let n=t(a(e.bids,"bid"),a(e.asks,"ask"));r(l,e.asset_id,n)}}return l}},192368,e=>{"use strict";e.s(["usePolymarketWebSocket",()=>l]);var t=e.i(240334),a=e.i(773358),r=e.i(444914),n=e.i(957297);let i=e=>JSON.stringify({assets_ids:e,type:"market"}),l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{enabled:l=!0,onPriceUpdate:s,tokenIds:o=[]}=e,c=(0,t.useRef)(null),[u,d]=(0,t.useState)(!1),m=(0,t.useRef)(null),p=(0,t.useRef)(0),f=(0,t.useRef)(null),g=(0,t.useRef)(0),h=(0,t.useRef)(0),y=(0,t.useRef)(o),S=(0,t.useRef)(s),v=(0,t.useRef)([]);(0,t.useEffect)(()=>{y.current=o},[o]),(0,t.useEffect)(()=>{S.current=s},[s]);let E=(0,t.useCallback)(e=>{if(0!==e.length){if(!c.current||c.current.readyState!==WebSocket.OPEN){v.current=[...new Set([...v.current,...e])];return}c.current.send(i(e))}},[]),A=(0,t.useCallback)(e=>{},[]),w=(0,t.useCallback)(()=>{var e;if((null==(e=c.current)?void 0:e.readyState)===WebSocket.OPEN)return;let t=new WebSocket(r.WS_URL);t.onopen=()=>{d(!0),p.current=0,g.current=0,h.current=0,f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{g.current>0&&0===h.current&&a.default.warn("Polymarket market WebSocket connected but no frames parsed â wire format may have drifted",{context:"WebSocket",frames:g.current})},15e3);let e=[...new Set([...y.current,...v.current])];v.current=[],e.length>0&&t.send(i(e))},t.onmessage=e=>{var t;let a="string"==typeof e.data?e.data:"",r=(0,n.parseMarketMessage)(a);for(let e of(g.current+=1,h.current+=r.length,r))null==(t=S.current)||t.call(S,e)},t.onclose=()=>{if(d(!1),l){let e=p.current;p.current=e+1,m.current=setTimeout(w,Math.min(r.TIMING.WS_RECONNECT_BASE_DELAY*2**e,r.TIMING.WS_RECONNECT_MAX_DELAY))}},t.onerror=()=>{a.default.debug("Polymarket market WebSocket error",{context:"WebSocket"})},c.current=t},[l]),b=(0,t.useCallback)(()=>{m.current&&clearTimeout(m.current),f.current&&clearTimeout(f.current),c.current&&(c.current.onclose=null,c.current.onerror=null,c.current.onmessage=null,c.current.onopen=null,c.current.close(),c.current=null),d(!1)},[]);return(0,t.useEffect)(()=>(l&&w(),()=>{b()}),[l,w,b]),{isConnected:u,subscribe:E,unsubscribe:A}}},483519,e=>{"use strict";e.s(["PolymarketPriceProvider",()=>l,"usePriceSubscription",()=>i]);var t=e.i(4095),a=e.i(240334),r=e.i(192368);let n=(0,a.createContext)(null),i=e=>{var t;let r=(0,a.useContext)(n),i=(0,a.useRef)(new Set),l=null==r?void 0:r.subscribe,s=null==r?void 0:r.unsubscribe,o=JSON.stringify(e),c=(0,a.useMemo)(()=>JSON.parse(o),[o]);(0,a.useEffect)(()=>
1{if(!l||!s||0===c.length)return;let e=i.current,t=c.filter(t=>!e.has(t));return t.length>0&&(l(t),t.forEach(t=>e.add(t))),()=>{let t=Array.from(e);t.length>0&&(s(t),e.clear())}},[l,s,c]);let u=null==r?void 0:r.getPrice,d=null==r?void 0:r.priceVersion,m=(0,a.useMemo)(()=>{if(!u)return{};let e={};return c.forEach(t=>{let a=u(t);null!==a&&(e[t]=a)}),e},[u,c,d]);return{isConnected:null!=(t=null==r?void 0:r.isConnected)&&t,prices:m}},l=e=>{let{children:i}=e,l=(0,a.useRef)(new Map),[s,o]=(0,a.useState)(0),c=(0,a.useRef)(new Map),[u,d]=(0,a.useState)([]),m=(0,a.useCallback)(e=>{e.price>0&&(l.current.set(e.assetId,{price:e.price,timestamp:Date.now()}),o(e=>e+1))},[]),{isConnected:p,subscribe:f,unsubscribe:g}=(0,r.usePolymarketWebSocket)({enabled:u.length>0,onPriceUpdate:m,tokenIds:u}),h=(0,a.useCallback)(e=>{let t=[];e.forEach(e=>{let a=c.current.get(e)||0;c.current.set(e,a+1),0===a&&t.push(e)}),t.length>0&&(d(e=>[...new Set([...e,...t])]),f(t))},[f]),y=(0,a.useCallback)(e=>{let t=[];e.forEach(e=>{let a=c.current.get(e)||0;a<=1?(c.current.delete(e),t.push(e)):c.current.set(e,a-1)}),t.length>0&&(d(e=>e.filter(e=>!t.includes(e))),g(t))},[g]),S=(0,a.useCallback)(e=>{var t;let a=l.current.get(e);return null!=(t=null==a?void 0:a.price)?t:null},[]),v=(0,a.useMemo)(()=>({getPrice:S,isConnected:p,priceVersion:s,subscribe:h,unsubscribe:y}),[S,p,s,h,y]);return(0,t.jsx)(n.Provider,{value:v,children:i})}},870536,e=>{"use strict";e.s(["useLiveOutcomePrices",()=>n]);var t=e.i(240334),a=e.i(483519);e.i(387516);var r=e.i(903691);let n=e=>{var n,i;let l=(0,t.useMemo)(()=>(0,r.parseClobTokenIds)(null==e?void 0:e.clobTokenIds),[null==e?void 0:e.clobTokenIds]),s=l[0],o=l[1],c=(0,t.useMemo)(()=>[s,o].filter(Boolean),[s,o]),{prices:u}=(0,a.usePriceSubscription)(c),d=e?(0,r.getYesPrice)(e.outcomePrices):0,m=e?(0,r.getNoPrice)(e.outcomePrices):0;return{noPrice:null!=(n=o?u[o]:void 0)?n:m,noTokenId:o,yesPrice:null!=(i=s?u[s]:void 0)?i:d,yesTokenId:s}}},247588,e=>{"use strict";e.s(["usePolymarketActivity",()=>i]);var t=e.i(737668),a=e.i(265186),r=e.i(444914),n=e.i(267608);let i=()=>{let{proxyWalletAddress:e}=(0,n.usePolymarketAuth)(),{data:i,error:l,isLoading:s,mutate:o}=(0,t.default)(e?["polymarket-activity",e]:null,()=>(0,a.getUserActivityHistory)(e,500),{refreshInterval:r.TIMING.ACTIVITY_REFRESH_INTERVAL,revalidateOnFocus:!0});return{activities:null!=i?i:[],error:l,isLoading:s,refetch:o}}},767977,e=>{"use strict";e.s(["clearPendingSetupTx",()=>l,"loadPendingSetupTx",()=>i,"savePendingSetupTx",()=>n]);var t=e.i(773358),a=e.i(287595);let r=e=>"".concat("predictr:pending-setup-tx:").concat(e),n=(e,n)=>{try{window.localStorage.setItem(r(e),JSON.stringify((0,a.serializeSentTx)(n)))}catch(e){t.default.warn("Failed to persist pending setup transaction",{context:"PendingSetupTxStore",error:e instanceof Error?e.message:"Unknown error"})}},i=e=>{let t;try{t=window.localStorage.getItem(r(e))}catch(e){return null}if(!t)return null;try{let r=JSON.parse(t);if(!(0,a.isStoredSentTx)(r))return l(e),null;return(0,a.deserializeSentTx)(r)}catch(t){return l(e),null}},l=e=>{try{window.localStorage.removeItem(r(e))}catch(e){}}},842611,e=>{"use strict";e.s(["usePolymarketAllowances",()=>g]);var t=e.i(240334),a=e.i(128690),r=e.i(378996),n=e.i(773358);e.i(387516);var i=e.i(245677),l=e.i(444914),s=e.i(930796),o=e.i(265849),c=e.i(767977),u=e.i(40608),d=e.i(337845),m=e.i(267608);let p=async(e,t,r)=>{let{collateralToken:n,exchange:i}=(0,l.getPolymarketAddresses)(r);return e.readContract({abi:a.erc20Abi,address:n,args:[t,i],functionName:"allowance"})},f=async(e,t,a)=>{let{exchange:r}=(0,l.getPolymarketAddresses)(a);return e.readContract({abi:i.ctfAbi,address:l.CTF_ADDRESS,args:[t,r],functionName:"isApprovedForAll"})},g=()=>{let{ensureWalletClient:e,eoaAddress:a,proxyWalletAddress:i,walletType:g}=(0,m.usePolymarketAuth)(),h=(0,r.usePublicClient)({chainId:l.POLYGON_CHAIN_ID}),[y,S]=(0,t.useState)({checkFailed:!1,ctfApproved:!1,error:null,isApproving:!1,isChecking:!1,pendingTx:null,safeIsDeployed:null,setupError:null,usdcApproved:!1,v2SetupNeeded:null}),v=(0,t.useCallback)(e=>{a&&(e?(0,c.savePendingSetupTx)(a,e):(0,c.clearPendingSetupTx)(a))},[a]),E=(0,t.useRef)(null);(0,t.useEffect)(()=>
1{if(!a||!h||E.current===a)return;E.current=a;let e=(0,c.loadPendingSetupTx)(a);e&&(async()=>{try{if(await h.getTransactionCount({address:e.request.account,blockTag:"latest"})>e.request.nonce)return void(0,c.clearPendingSetupTx)(a);S(t=>t.pendingTx?t:{...t,pendingTx:e})}catch(e){E.current=null}})()},[a,h]);let A=(0,t.useCallback)(async e=>{if(!i||!h)return n.default.warn("Cannot check allowances: missing prerequisites",{context:"Allowances",hasProxyWalletAddress:!!i,hasPublicClient:!!h}),{checkFailed:!0,ctfApproved:!1,usdcApproved:!1};S(e=>({...e,checkFailed:!1,error:null,isChecking:!0}));try{let[t,a]=await Promise.all([p(h,i,e),f(h,i,e)]),r=t>0n,l=a;if(r&&l)if("DEPOSIT_WALLET"===g){let{needsAnyApproval:e}=await (0,s.checkDepositWalletNeedsApprovals)(h,i);e&&(r=!1,l=!1)}else{let{missingApprovals:e}=await (0,s.checkSafeNeedsApprovals)(h,i),t=e.usdceOnramp||e.pusdOfframp||e.pusdStdExchange||e.pusdNegRiskExchange||e.pusdStdAdapter||e.pusdNegRiskAdapter||e.pusdLegacyNegRiskAdapter,a=e.ctStdExchange||e.ctNegRiskExchange||e.ctStdAdapter||e.ctNegRiskAdapter;t&&(r=!1),a&&(l=!1)}return S(e=>({...e,checkFailed:!1,ctfApproved:l,error:null,isApproving:!1,isChecking:!1,usdcApproved:r})),n.default.debug("Checked allowances",{context:"Allowances",ctfApproved:l,negRisk:e,proxyWallet:i,usdcAllowance:t.toString(),usdcApproved:r}),{checkFailed:!1,ctfApproved:l,usdcApproved:r}}catch(a){let e=a instanceof Error?a.message:"Unknown error";n.default.error("Failed to check allowances",{context:"Allowances",error:e});let t=a instanceof Error?a:Error("Failed to check allowances");return S(e=>({...e,checkFailed:!0,error:t,isChecking:!1})),{checkFailed:!0,ctfApproved:!1,usdcApproved:!1}}},[i,h,g]),w=(0,t.useCallback)(async e=>{let{ctfApproved:t,usdcApproved:a}=await A(e);return!a||!t},[A]),b=(0,t.useCallback)(async t=>{if(S(e=>({...e,setupError:null})),!h||!i||!a)throw n.default.warn("Cannot setup allowances: missing required clients/addresses",{context:"Allowances",hasEoaAddress:!!a,hasProxyWalletAddress:!!i,hasPublicClient:!!h}),Error("Wallet not ready for allowance setup");S(e=>({...e,isApproving:!0}));try{let r=await e(),l=await h.getCode({address:i});if(!(l&&"0x"!==l&&l.length>2)){n.default.info("Deploying Safe directly from EOA",{context:"Allowances",eoaAddress:a,proxyWalletAddress:i});let{transactionHash:e}=await (0,u.deploySafeDirect)(a,r,h);S(e=>({...e,safeIsDeployed:!0}));let l=(0,s.buildAllApprovalTransactions)(),c=await (0,d.executeSafeFromOwner)(h,r,i,a,l),m=await (0,o.waitForEoaReceipt)(h,c);if("success"!==m.status)throw Error("Approvals MultiSend reverted: ".concat(m.transactionHash));return await A(t),S(e=>({...e,isApproving:!1})),e}let{missingApprovals:c,needsAnyApproval:m}=await (0,s.checkSafeNeedsApprovals)(h,i);if(!m){n.default.info("All approvals already set",{context:"Allowances"}),await A(t),S(e=>({...e,isApproving:!1}));return}n.default.debug("Setting up missing approvals",{context:"Allowances",missingApprovals:c});let p=(0,s.buildAllApprovalTransactions)();n.default.info("Batching approvals via MultiSend",{context:"Allowances",transactionCount:p.length});let f=await (0,d.executeSafeMultiSend)(h,r,i,a,p);n.default.info("MultiSend approvals submitted",{context:"Allowances",txHash:f.hash});let g=await (0,o.waitForEoaReceipt)(h,f);if("success"!==g.status)throw n.default.error("MultiSend approvals reverted",{context:"Allowances",txHash:g.transactionHash}),Error("Approvals MultiSend reverted: ".concat(g.transactionHash));return await A(t),n.default.info("Allowances set up successfully",{context:"Allowances"}),S(e=>({...e,isApproving:!1,pendingTx:null})),v(null),f.hash}catch(a){if((0,o.isPendingTransaction)(a))throw n.default.warn("Allowance setup still pending on-chain",{context:"Allowances",txHash:a.sent.hash}),S(e=>({...e,isApproving:!1,pendingTx:a.sent,setupError:a})),v(a.sent),a;let e=a instanceof Error?a.message:"Unknown error";n.default.error("Failed to set up allowances",{context:"Allowances",error:e});let t=a instanceof Error?a:Error("Failed to set up allowances");throw S(e=>({...e,isApproving:!1,setupError:t})),t}}
1,[A,a,e,v,i,h]),x=(0,t.useCallback)(async()=>{if(!h||!i)return!1;let e=await h.getCode({address:i});if(!(e&&"0x"!==e&&e.length>2))return S(e=>({...e,safeIsDeployed:!1,v2SetupNeeded:!0})),!0;let{needsAnyApproval:t}="DEPOSIT_WALLET"===g?await (0,s.checkDepositWalletNeedsApprovals)(h,i):await (0,s.checkSafeNeedsApprovals)(h,i);return S(e=>({...e,safeIsDeployed:!0,v2SetupNeeded:t})),t},[h,i,g]),D=(0,t.useCallback)(async()=>{let e=await b(!1);return S(e=>({...e,v2SetupNeeded:!1})),e},[b]),T=(0,t.useCallback)(async()=>{let t=y.pendingTx;if(t&&h){S(e=>({...e,isApproving:!0}));try{let a=await e(),r=await (0,o.speedUpEoaTransaction)(h,a,t),n=await (0,o.waitForEoaReceipt)(h,r);if("success"!==n.status)throw Error("Setup transaction reverted: ".concat(r.hash));await A(!1),S(e=>({...e,isApproving:!1,pendingTx:null,setupError:null,v2SetupNeeded:!1})),v(null)}catch(t){if((0,o.isPendingTransaction)(t)){S(e=>({...e,isApproving:!1,pendingTx:t.sent,setupError:t})),v(t.sent);return}try{let{needsAnyApproval:e}=await (0,s.checkSafeNeedsApprovals)(h,i);if(!e){await A(!1),S(e=>({...e,isApproving:!1,pendingTx:null,setupError:null,v2SetupNeeded:!1})),v(null);return}}catch(e){}let e=t instanceof Error?t:Error("Failed to speed up setup");n.default.error("Failed to speed up the setup transaction",{context:"Allowances",error:e.message}),S(t=>({...t,isApproving:!1,setupError:e}))}}}
1,[A,e,v,i,h,y.pendingTx]);return{...y,checkAllowances:A,checkV2Setup:x,needsApproval:w,setupAllowances:b,setupV2:D,speedUpSetup:T}}},497820,e=>{"use strict";e.s(["usePolymarketBalance",()=>s]);var t=e.i(737668),a=e.i(128690),r=e.i(378996),n=e.i(773358);e.i(387516);var i=e.i(444914),l=e.i(267608);let s=()=>{var e,s;let{proxyWalletAddress:o}=(0,l.usePolymarketAuth)(),c=(0,r.usePublicClient)({chainId:i.POLYGON_CHAIN_ID}),{data:u,error:d,isLoading:m,isValidating:p,mutate:f}=(0,t.default)(o&&c?["polymarket-balance",o]:null,async()=>{if(!o||!c)return null;let e=c.readContract({abi:a.erc20Abi,address:i.USDC_POLYGON_ADDRESS,args:[o],functionName:"balanceOf"}),t=c.readContract({abi:a.erc20Abi,address:i.PUSD_ADDRESS,args:[o],functionName:"balanceOf"}),[r,l]=await Promise.allSettled([t,e]);return"rejected"===r.status&&n.default.error("Failed to read pUSD balance",{context:"PolymarketBalance",error:r.reason instanceof Error?r.reason.message:String(r.reason)}),"rejected"===l.status&&n.default.error("Failed to read USDC.e balance",{context:"PolymarketBalance",error:l.reason instanceof Error?l.reason.message:String(l.reason)}),{collateral:"fulfilled"===r.status?r.value:null,usdcE:"fulfilled"===l.status?l.value:null}},{dedupingInterval:2e3,refreshInterval:15e3,revalidateOnFocus:!0});return{error:d,isLoading:m,isValidating:p,refreshBalance:()=>f(),usdcBalance:null!=(e=null==u?void 0:u.collateral)?e:null,usdcEBalance:null!=(s=null==u?void 0:u.usdcE)?s:null}}},639672,e=>{"use strict";e.s(["usePolymarketEventBySlug",()=>l]);var t=e.i(240334),a=e.i(737668);e.i(387516);var r=e.i(931707),n=e.i(903691),i=e.i(444914);let l=(e,l)=>{let{data:s,error:o,isLoading:c,mutate:u}=(0,a.default)(e?["polymarket-event-by-slug",e]:null,()=>(0,r.fetchEventBySlug)(e),{fallbackData:null==l?void 0:l.fallbackData,refreshInterval:e=>(0,n.getEventRefreshInterval)(e),revalidateOnFocus:!0}),d=(0,n.getPendingResolutionEnd)(s);return(0,t.useEffect)(()=>{if(null==d)return;let e=d-i.TIMING.RESOLUTION_POLL_LEAD_MS-Date.now();if(e<=0)return;let t=setTimeout(()=>{u()},e);return()=>clearTimeout(t)},[d,u]),{error:o,event:s,isLoading:c}}},181177,e=>{"use strict";e.s(["usePolymarketGeoblock",()=>n]);var t=e.i(737668),a=e.i(444914),r=e.i(213237);let n=()=>{var e;let{data:n,isLoading:i}=(0,t.default)(a.GEOBLOCK_URL,r.fetcher,{dedupingInterval:3e5,revalidateOnFocus:!1}),l=(0,a.deriveGeoTier)(null!=(e=null==n?void 0:n.blocked)&&e,null==n?void 0:n.country);return{canClose:"blocked"!==l,isGeoBlocked:"allowed"!==l,isLoading:i,tier:l}}},408907,e=>{"use strict";e.s(["cache",()=>t.c]);var t=e.i(448032)},833186,e=>{"use strict";e.s(["default",()=>b]);var t=e.i(240334),a=e.i(737668),r=e.i(85315),n=e.i(471436),i=e.i(408907),l=e.i(820814),s=e.i(554224),o=e.i(300728),c=e.i(259472),u=e.i(678865),d=e.i(74742),m=e.i(822060),p=e.i(907998);let f=()=>{},g=f(),h=Object,y=e=>e===g,S=new WeakMap,v=(e,t)=>e==="[object ".concat(t,"]"),E=0,A=e=>{let t,a,r=typeof e,n=h.prototype.toString.call(e),i=v(n,"Date"),l=v(n,"RegExp"),s=v(n,"Object");if(h(e)!==e||i||l)t=i?e.toJSON():"symbol"==r?e.toString():"string"==r?JSON.stringify(e):""+e;else{if(t=S.get(e))return t;if(t=++E+"~",S.set(e,t),Array.isArray(e)){for(a=0,t="@";a<e.length;a++)t+=A(e[a])+",";S.set(e,t)}if(s){t="#";let r=h.keys(e).sort();for(;!y(a=r.pop());)y(e[a])||(t+=a+":"+A(e[a])+",");S.set(e,t)}}return t},w=Promise.resolve(),b=(0,r.withMiddleware)(a.default,e=>(a,r,f)=>{let g,h=(0,t.useRef)(!1),{cache:y,initialSize:S=1,revalidateAll:v=!1,persistSize:E=!1,revalidateFirstPage:b=!0,revalidateOnMount:x=!1,parallel:D=!1}=f,[,,,T]=n.SWRGlobalState.get(i.cache);try{(g=(e=>(e=>{if("function"==typeof e)try{e=e()}catch(t){e=""}let t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?A(e):"",t]})(e?e(0,null):null)[0])(a))&&(g=l.INFINITE_PREFIX+g)}catch(e){}let[k,_,P]=(0,s.createCacheHelper)(y,g),C=(0,t.useCallback)(()=>(0,o.isUndefined)(k()._l)?S:k()._l,[y,g,S]);(0,p.useSyncExternalStore)((0,t.useCallback)(e=>g?P(g,()=>{e()}):()=>{},[y,g]),C,C);let R=(0,t.useCallback)(()=>{let e=k()._l;return(0,o.isUndefined)(e)?S:e},[g,S]),N=(0,t.useRef)(R());(0,c.useIsomorphicLayoutEffect)(()=>
1{if(!h.current){h.current=!0;return}g&&_({_l:E?N.current:R()})},[g,y]);let O=x&&!h.current,I=e(g,async e=>{let t=k()._i,n=k()._r;_({_r:u.UNDEFINED});let i=[],l=R(),[c]=(0,s.createCacheHelper)(y,e),m=c().data,p=[],g=null;for(let e=0;e<l;++e){let[l,c]=(0,d.serialize)(a(e,D?null:g));if(!l)break;let[u,h]=(0,s.createCacheHelper)(y,l),S=u().data,E=v||t||(0,o.isUndefined)(S)||b&&!e&&!(0,o.isUndefined)(m)||O||m&&!(0,o.isUndefined)(m[e])&&!f.compare(m[e],S);if(r&&("function"==typeof n?n(S,c):E)){let t=async()=>{if(l in T){let e=T[l];delete T[l],S=await e}else S=await r(c);h({data:S,_k:c}),i[e]=S};D?p.push(t):await t()}else i[e]=S;D||(g=S)}return D&&await Promise.all(p.map(e=>e())),_({_i:u.UNDEFINED}),i},f),L=(0,t.useCallback)(function(e,t){let a="boolean"==typeof t?{revalidate:t}:t||{},r=!1!==a.revalidate;return g?(r&&((0,o.isUndefined)(e)?_({_i:!0,_r:a.revalidate}):_({_i:!1,_r:a.revalidate})),arguments.length?I.mutate(e,{...a,revalidate:r}):I.mutate()):w},[g,y]),M=(0,t.useCallback)(e=>{let t;if(!g)return w;let[,r]=(0,s.createCacheHelper)(y,g);if((0,m.isFunction)(e)?t=e(R()):"number"==typeof e&&(t=e),"number"!=typeof t)return w;r({_l:t}),N.current=t;let n=[],[i]=(0,s.createCacheHelper)(y,g),l=null;for(let e=0;e<t;++e){let[t]=(0,d.serialize)(a(e,l)),[r]=(0,s.createCacheHelper)(y,t),c=t?r().data:u.UNDEFINED;if((0,o.isUndefined)(c))return L(i().data);n.push(c),l=c}return L(n)},[g,y,L,R]);return{size:R(),setSize:M,mutate:L,get data(){return I.data},get error(){return I.error},get isValidating(){return I.isValidating},get isLoading(){return I.isLoading}}})},135626,e=>{"use strict";e.s(["usePolymarketMarkets",()=>s,"usePolymarketMarketsInfinite",()=>o,"usePolymarketSearch",()=>c]);var t=e.i(240334),a=e.i(737668),r=e.i(833186),n=e.i(328268);e.i(387516);var i=e.i(931707),l=e.i(444914);let s=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:t=!0,ascending:r=!1,closed:n=!1,enabled:s=!0,endDateMax:o,endDateMin:c,featured:u,limit:d=50,live:m,offset:p=0,order:f="volume",refreshInterval:g=l.TIMING.MARKETS_REFRESH_INTERVAL,sortKey:h,tagId:y,tagSlug:S}=e,{data:v,error:E,isLoading:A,mutate:w}=(0,a.default)(s?["polymarket-events",t,r,n,c,o,u,d,m,p,y,S,f,h]:null,()=>(0,i.fetchEvents)({active:t,ascending:r,closed:n,end_date_max:o,end_date_min:c,featured:u,limit:d,live:m,offset:p,order:f,tag_id:y,tag_slug:S}),{refreshInterval:g,revalidateOnFocus:!1});return{error:E,events:null!=v?v:[],isLoading:A,mutate:w}},o=function(){var e;let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{active:n,ascending:s=!1,closed:o,enabled:c=!0,endDateMax:u,endDateMin:d,limit:m=24,order:p="volume",refreshInterval:f=l.TIMING.MARKETS_REFRESH_INTERVAL,tagId:g,tagSlug:h}=a,y=(0,t.useCallback)((e,t)=>!c||t&&t.length<m?null:{active:n,ascending:s,closed:o,endDateMax:u,endDateMin:d,key:"polymarket-events-infinite",limit:m,offset:e*m,order:p,tagId:g,tagSlug:h},[n,s,o,c,d,u,m,p,g,h]),{data:S,error:v,isLoading:E,isValidating:A,mutate:w,setSize:b,size:x}=(0,r.default)(y,e=>{let{offset:t}=e;return(0,i.fetchEvents)({active:n,ascending:s,closed:o,end_date_max:u,end_date_min:d,limit:m,offset:t,order:p,tag_id:g,tag_slug:h})},{refreshInterval:f,revalidateFirstPage:!1,revalidateOnFocus:!1}),D=(0,t.useMemo)(()=>{if(!S)return[];let e=S.flat(),t=new Set;return e.filter(e=>!t.has(e.id)&&(t.add(e.id),!0))},[S]),T=!!c&&(!S||(null==(e=S[S.length-1])?void 0:e.length)===m),k=x>1&&!!S&&void 0===S[x-1],_=(0,t.useRef)(A);(0,t.useEffect)(()=>{_.current=A},[A]);let P=(0,t.useCallback)(()=>{!_.current&&T&&b(e=>e+1)},[T,b]);return{error:v,events:D,hasMore:T,isLoading:E,isLoadingMore:k,loadMore:P,mutate:w,reset:(0,t.useCallback)(()=>{b(1)},[b])}},c=(e,t)=>{let{debounceMs:r=300,...s}=null!=t?t:{},o=(0,n.useDebounce)(e,r),c=0===r?e:o,{data:u,error:d,isLoading:m}=(0,a.default)(c.length>=l.MIN_SEARCH_LENGTH?["polymarket-search",c,s.tagSlug,s.sort,s.ascending,s.filterEnded,s.limitPerType]:null,()=>(0,i.searchEvents)(c,s),{revalidateOnFocus:!1});return{error:d,isLoading:m,results:null!=u?u:[]}}},66570,e=>{"use strict";e.s(["useGammaFeaturedEvents",()=>n]);var t=e.i(240334);e.i(387516);var a=e.i(903691),r=e.i(135626);let n=e=>{var n;let{error:i,events:l,isLoading:s}=(0,r.usePolymarketMarkets)({active:!0,ascending:!0,closed:!1,enabled:null==(n=null==e?void 0:e.enabled)||n,featured:!0,limit:50,order:"featuredOrder",sort
1Key:"featured-block"});return{error:i,events:(0,t.useMemo)(()=>(0,a.curateFeaturedBlock)(l),[l]),isLoading:s}}},731471,e=>{"use strict";e.s(["fetchIconsByTokenId",()=>m,"fetchMarketNames",()=>c,"fetchMarketNamesByTokenId",()=>u,"fetchMarketWithCache",()=>s,"fetchOutcomesByTokenId",()=>d]);var t=e.i(931707),a=e.i(773358);let r=new Map,n=new Map,i=new Map,l=new Map,s=async e=>{var n,l;if(r.has(e))return null!=(n=r.get(e))?n:null;if(i.has(e))return null!=(l=i.get(e))?l:null;let s=(async()=>{try{let a=await (0,t.fetchMarketByConditionId)(e);return r.set(e,a),a}catch(t){return a.default.debug("Failed to fetch market for conditionId",{conditionId:e,context:"enrichMarketNames",error:t instanceof Error?t.message:"Unknown"}),null}finally{i.delete(e)}})();return i.set(e,s),s},o=async e=>{var t,r;if(n.has(e))return null!=(t=n.get(e))?t:null;if(l.has(e))return null!=(r=l.get(e))?r:null;let i=(async()=>{try{let t="/api/polymarket/markets?clob_token_ids=".concat(encodeURIComponent(e)),r=await fetch(t);if(!r.ok)throw Error("Failed to fetch market: ".concat(r.status));let i=await r.json();if(a.default.debug("Gamma API response for token ID lookup",{context:"enrichMarketNames",marketsCount:Array.isArray(i)?i.length:0,tokenId:e,url:t}),!Array.isArray(i)||0===i.length)throw Error("Market not found for tokenId: ".concat(e));let l=i[0],s="string"==typeof l.clobTokenIds?JSON.parse(l.clobTokenIds):l.clobTokenIds||[],o="string"==typeof l.outcomes?JSON.parse(l.outcomes):l.outcomes||[];a.default.debug("Found market for token ID",{clobTokenIds:s,context:"enrichMarketNames",marketQuestion:l.question,outcomes:o,tokenId:e});let c="",u=s.findIndex(t=>t===e);-1!==u&&o[u]&&(c=o[u]);let d={icon:l.icon||l.image||"",outcome:c,question:l.question};return n.set(e,d),d}catch(t){return a.default.debug("Failed to fetch market for tokenId",{context:"enrichMarketNames",error:t instanceof Error?t.message:"Unknown",tokenId:e}),null}finally{l.delete(e)}})();return l.set(e,i),i},c=async e=>{let t=[...new Set(e.filter(Boolean))],a=new Map,r=t.map(async e=>{let t=await s(e);(null==t?void 0:t.question)&&a.set(e,t.question)});return await Promise.all(r),a},u=async e=>{let t=[...new Set(e.filter(Boolean))],a=new Map,r=t.map(async e=>{let t=await o(e);(null==t?void 0:t.question)&&a.set(e,t.question)});return await Promise.all(r),a},d=async e=>{let t=[...new Set(e.filter(Boolean))],a=new Map,r=t.map(async e=>{let t=await o(e);(null==t?void 0:t.outcome)&&a.set(e,t.outcome)});return await Promise.all(r),a},m=async e=>{let t=[...new Set(e.filter(Boolean))],a=new Map,r=t.map(async e=>{let t=await o(e);(null==t?void 0:t.icon)&&a.set(e,t.icon)});return await Promise.all(r),a}},823082,e=>{"use strict";e.s(["usePolymarketOrders",()=>c]);var t=e.i(240334),a=e.i(737668),r=e.i(773358),n=e.i(178540),i=e.i(444914),l=e.i(731471),s=e.i(267608);let o=new Set,c=()=>{let{authenticate:e,credentials:c,eoaAddress:u,isAuthenticated:d}=(0,s.usePolymarketAuth)(),[m,p]=(0,t.useState)(!1),f=(0,t.useRef)(!1),g=(0,t.useRef)(0),[h,y]=(0,t.useState)([]),[S,v]=(0,t.useState)(!1),E=d&&u&&c&&!m&&!o.has(c.apiKey),{data:A,error:w,isLoading:b,mutate:x}=(0,a.default)(E?["polymarket-orders",u,c.apiKey]:null,async()=>u&&c?(r.default.debug("Fetching orders",{apiKeyPrefix:"".concat(c.apiKey.slice(0,15),"..."),context:"PolymarketOrders"}),(0,n.getOpenOrders)(u,c)):[],{refreshInterval:i.TIMING.ORDERS_REFRESH_INTERVAL,revalidateOnFocus:!0});return(0,t.useEffect)(()=>{(async()=>{if(!(e=>{if(!e)return!1;let t=e.message.toLowerCase();return t.includes("401")||t.includes("unauthorized")||t.includes("invalid api key")})(w)||f.current||!c)return;(e=>{o.add(e);{let t=window.sessionStorage.getItem("polymarket_failed_keys"),a=t?JSON.parse(t):[];a.includes(e)||(a.push(e),window.sessionStorage.setItem("polymarket_failed_keys",JSON.stringify(a)))}})(c.apiKey),r.default.info("Marking API key as failed",{apiKeyPrefix:"".concat(c.apiKey.slice(0,15),"..."),context:"PolymarketOrders"});let t=Date.now(),a=t-g.current;if(a<i.TIMING.REAUTH_COOLDOWN_MS)return r.default.debug("Skipping re-auth due to cooldown",{context:"PolymarketOrders",remainingCooldown:i.TIMING.REAUTH_COOLDOWN_MS-a});f.current=!0,g.current=t,p(!0),r.default.info("401 error detected, attempting re-authentication",{context:"PolymarketOrders"});try{await e({forceCreate:!0}),r.default.info("Re-authentication successful",{context:"PolymarketOrders"})}catch(e){r.default.error("Re-authentication failed",{context:"PolymarketOrders",error:e instanceof Error?e.message:"Unknown"})}finally{f.current=!1,p(!1)}})()},[w,e,c]),(0,t.useEffect)(()=>{(async()=>{let e=null!=A?A:[];
1if(0===e.length){y([]),v(!1);return}v(!0);let t=e.map(e=>e.asset_id).filter(Boolean),[a,r]=await Promise.all([(0,l.fetchMarketNamesByTokenId)(t),(0,l.fetchIconsByTokenId)(t)]);y(e.map(e=>({...e,icon:r.get(e.asset_id)||e.icon,market:a.get(e.asset_id)||e.market}))),v(!1)})()},[A]),{cancelOrder:(0,t.useCallback)(async e=>{if(!u||!c)throw Error("Not authenticated");await (0,n.cancelOrder)(u,c,e),await x()},[u,c,x]),error:m?void 0:w,isEnriching:S,isLoading:b,isReauthenticating:m,orders:h,refetch:x}}},500887,e=>{"use strict";e.s(["usePolymarketRawPositions",()=>i]);var t=e.i(737668);e.i(387516);var a=e.i(265186),r=e.i(444914),n=e.i(267608);let i=()=>{let{isWalletConnected:e,proxyWalletAddress:i,routingExhausted:l}=(0,n.usePolymarketAuth)();return Object.assign((0,t.default)(i?["polymarket-positions",i]:null,()=>(0,a.getUserPositions)(i),{refreshInterval:r.TIMING.BALANCE_REFRESH_INTERVAL,revalidateOnFocus:!0}),{isAccountResolving:e&&!i&&!l})}},540108,e=>{"use strict";e.s(["usePolymarketPositions",()=>i]);var t=e.i(240334),a=e.i(773358),r=e.i(731471),n=e.i(500887);let i=()=>{let[e,i]=(0,t.useState)([]),[l,s]=(0,t.useState)(!1),[o,c]=(0,t.useState)(void 0),{data:u,error:d,isAccountResolving:m,isLoading:p,isValidating:f,mutate:g}=(0,n.usePolymarketRawPositions)();(0,t.useEffect)(()=>{let e=!0;return(async()=>{let t=null!=u?u:[];if(0===t.length){if(!e)return;i([]),s(!1),c(u);return}s(!0);try{let n=t.map(e=>e.conditionId).filter(Boolean),l=t.map(e=>e.asset).filter(Boolean);a.default.debug("Enriching positions with market names and prices",{conditionIds:n,context:"usePolymarketPositions",positionCount:t.length,tokenIds:l});let s=t.filter(e=>!e.outcome).map(e=>e.asset).filter(Boolean),[o,c,u]=await Promise.all([(0,r.fetchMarketNames)(n),s.length>0?(0,r.fetchOutcomesByTokenId)(s):Promise.resolve(new Map),(0,r.fetchIconsByTokenId)(l)]);a.default.debug("Market data fetched for positions",{context:"usePolymarketPositions",iconsCount:u.size,marketNamesCount:o.size,outcomesCount:c.size});let d=[...new Set(n)],m=await Promise.all(d.map(async e=>{var t,a,n;let i=await (0,r.fetchMarketWithCache)(e);return i?[e,{minOrderSize:null!=(t=i.orderMinSize)?t:0,negRisk:null!=(a=i.negRisk)&&a,tickSize:null!=(n=i.orderPriceMinTickSize)?n:.01}]:null})),p=new Map(m.filter(Boolean)),f=t.map(e=>{var t,a,r,n,i,l,s,d;let m=parseFloat(e.size||"0"),f=e.outcome||c.get(e.asset)||"",g=null!=(a=e.currentValue)?a:m*(null!=(t=e.curPrice)?t:0),h=null!=(r=e.initialValue)?r:m*parseFloat(e.avgPrice||"0"),y=null!=(n=e.cashPnl)?n:g-h,S=null!=(i=e.percentPnl)?i:h>0?y/h*100:0,v=!0===e.redeemable,E=!0===e.redeemable&&(null!=(l=e.curPrice)?l:0)>=.99,A=E?m.toFixed(2):"0",w=p.get(e.conditionId);return{...e,claimableAmount:A,icon:u.get(e.asset)||e.icon,isClaimable:E,isResolved:v,isWinner:E,market:o.get(e.conditionId)||e.title||e.market,minOrderSize:null==w?void 0:w.minOrderSize,negRisk:null!=(s=null==w?void 0:w.negRisk)?s:e.negativeRisk,outcome:f,pnl:y.toFixed(2),pnlPercent:S.toFixed(2),price:(null!=(d=e.curPrice)?d:0).toFixed(4),tickSize:null==w?void 0:w.tickSize,value:g.toFixed(2)}});e&&i(f)}catch(e){a.default.error("Failed to enrich positions",{context:"usePolymarketPositions",error:e})}finally{e&&(s(!1),c(u))}})(),()=>{e=!1}},[u]);let h=(0,t.useMemo)(()=>e.filter(e=>!e.isResolved),[e]),y=(0,t.useMemo)(()=>e.filter(e=>e.isClaimable&&"boolean"==typeof e.negRisk).map(e=>({asset:e.asset,conditionId:e.conditionId,icon:e.icon,market:e.market,negRisk:e.negRisk,outcome:e.outcome,size:e.size})),[e]),S=(0,t.useMemo)(()=>e.filter(e=>e.isClaimable).reduce((e,t)=>e+parseFloat(t.size||"0"),0),[e]),v=S.toFixed(2),E=m||p||u!==o,{totalCostBasis:A,totalPnl:w,totalPnlPercent:b,totalValue:x}=(0,t.useMemo)(()=>{let e=h.reduce((e,t)=>e+parseFloat(t.value||"0"),0)+S,t=h.reduce((e,t)=>e+parseFloat(t.pnl||"0"),0),a=h.reduce((e,t)=>{var a;return e+(null!=(a=t.initialValue)?a:0)},0);return{totalCostBasis:a.toFixed(2),totalPnl:t.toFixed(2),totalPnlPercent:(a>0?t/a*100:0).toFixed(2),totalValue:e.toFixed(2)}},[h,S]);return{claimablePositions:y,error:d,hasClaimable:y.length>0,isEnriching:l,isLoading:p,isSettling:E,isValidating:f,mutate:g,positions:h,totalClaimableAmou
1nt:v,totalCostBasis:A,totalPnl:w,totalPnlPercent:b,totalValue:x}}},498927,e=>{"use strict";e.s(["getIntervalParams",()=>a,"usePolymarketPriceHistory",()=>n]);var t=e.i(737668);let a=e=>{switch(e){case"1h":return{fidelity:1,interval:"1h"};case"6h":return{fidelity:5,interval:"6h"};case"1d":return{fidelity:15,interval:"1d"};case"1w":default:return{fidelity:60,interval:"1w"};case"1m":return{fidelity:240,interval:"1m"};case"all":return{fidelity:1440,interval:"all"}}},r=async(e,t)=>{let r=a(t),n="/api/polymarket/prices-history?market=".concat(encodeURIComponent(e),"&interval=").concat(r.interval,"&fidelity=").concat(r.fidelity),i=await fetch(n);if(!i.ok)throw Error("Failed to fetch price history: ".concat(i.status));return(await i.json()).history||[]},n=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{enabled:n=!0,interval:i="1w"}=a,{data:l,error:s,isLoading:o}=(0,t.default)(n&&e?["polymarket-price-history",e,i]:null,()=>r(e,i),{revalidateOnFocus:!1});return{error:s,history:null!=l?l:[],isLoading:o}}},660252,e=>{"use strict";e.s(["POLYMARKET_STATUS_PAGE_URL",()=>a,"isTradingBlocked",()=>l]),e.i(290421);var t=e.i(411211);let a="https://status.polymarket.com";t.z.enum(["OPERATIONAL","DEGRADEDPERFORMANCE","PARTIALOUTAGE","MINOROUTAGE","MAJOROUTAGE","UNDERMAINTENANCE"]);let r=t.z.string().url().refine(e=>{try{return new URL(e).origin===a}catch(e){return!1}}),n=t.z.object({id:t.z.string(),name:t.z.string(),started:t.z.string().optional(),url:r.optional().catch(void 0)}),i=t.z.object({activeIncidents:t.z.array(n).optional(),id:t.z.string(),name:t.z.string(),status:t.z.string()});t.z.object({components:t.z.array(i)});let l=e=>(null==e?void 0:e.severity)==="outage"},531483,e=>{"use strict";e.s(["usePolymarketStatus",()=>i]);var t=e.i(737668),a=e.i(444914),r=e.i(660252),n=e.i(213237);let i=()=>{var e;let{data:i,error:l,isLoading:s}=(0,t.default)("/api/polymarket/status",n.fetcher,{onErrorRetry:(e,t,r,n,i)=>{setTimeout(()=>n(i),a.TIMING.STATUS_REFRESH_INTERVAL*(.75+.5*Math.random()))},refreshInterval:a.TIMING.STATUS_REFRESH_INTERVAL,revalidateOnFocus:!0,shouldRetryOnError:!0}),o=void 0===l&&null!=(e=null==i?void 0:i.status)?e:null;return{error:l,isDegraded:(null==o?void 0:o.severity)==="degraded",isLoading:s&&void 0===l,isTradingDown:(0,r.isTradingBlocked)(o),status:o}}},558065,e=>{"use strict";e.s(["usePolymarketTrade",()=>E]);var t=e.i(240334),a=e.i(128690),r=e.i(7521),n=e.i(378996),i=e.i(773358),l=e.i(178540),s=e.i(799421),o=e.i(134629),c=e.i(82741),u=e.i(444914),d=e.i(707560),m=e.i(381656),p=e.i(297717),f=e.i(913146),g=e.i(842611),h=e.i(267608),y=e.i(181177);let S=[500,750,1125,1700,2500],v=async(e,t,a,r)=>{let n=Number(r)/1e6,s={allowance:"0",balance:"0"};for(let r=0;r<S.length;r++){await new Promise(e=>setTimeout(e,S[r]));let o=parseFloat((s=await (0,l.updateBalanceAllowance)(e,t,a,"COLLATERAL")).balance);if(i.default.debug("CLOB cache poll attempt",{allowance:s.allowance,attempt:r+1,backoffMs:S[r],balance:s.balance,context:"Trade",required:n}),!isNaN(o)&&o>=n)return s}return i.default.warn("CLOB cache did not reflect wrap after max poll attempts, proceeding anyway",{allowance:s.allowance,balance:s.balance,context:"Trade",maxAttempts:S.length,required:n}),s},E=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onOrderCancelled:S,onOrderPlaced:E,refetchOrders:A,refetchPositions:w}=e,{credentials:b,ensureWalletClient:x,eoaAddress:D,isAuthenticated:T,proxyWalletAddress:k,signatureType:_,walletType:P}=(0,h.usePolymarketAuth)(),{checkAllowances:C,isApproving:R,setupAllowances:N}=(0,g.usePolymarketAllowances)(),{tier:O}=(0,y.usePolymarketGeoblock)(),I=(0,n.usePublicClient)({chainId:u.POLYGON_CHAIN_ID}),[L,M]=(0,t.useState)(!1),[F,U]=(0,t.useState)(!1),[j,W]=(0,t.useState)(!1),[G,B]=(0,t.useState)(null),[Y,H]=(0,t.useState)("idle"),z=(0,t.useCallback)(async e=>{if("DEPOSIT_WALLET"===P){let{checkFailed:t,ctfApproved:a,usdcApproved:r}=await C(e);return!t&&r&&a}try{i.default.debug("Checking allowances before trade",{context:"Trade",negRisk:e});let{checkFailed:t,ctfApproved:a,usdcApproved:r}=await C(e);if(t)return i.default.error("Allowance check failed - cannot verify approval status",{context:"Trade"}),!1;if(i.default.debug("Allowance check result",{context:"Trade",ctfApproved:a,negRisk:e,usdcApproved:r}),!r||!a){i.default.info("Setting up missing allowances",{context:"Trade",ctfApproved:a,negRisk:e,usdcApproved:r}),await N(e);let t=await C(e);if(!t.usdcApproved||!t.ctfApproved)return i.default.error("Allowances still not approved after setup",{context:"Trade",ctfApproved:t.ctfApproved,usdcApproved:t.usdcApproved}),!1;i.default.info("Allowances verified successfully",{context:"Trade"})}return!0}catch(e){return i.default.error("Failed to set up allowances",{context:"Trade",error:e instanceof Error?e.message:String(e)}),!1}},[C,N,P]),V=(0,t.useCallback)(async e=>{if((0,u.isOrderGeoBlocked)(e.side,O))throw Error((0,u.geoBlockMessage)(O));let t=b;if(!t&&D&&(t=(0,s.getPolymarketCredentials)(D)),!t||!D)throw Error("Not authenticated");if(!k)throw Error("Proxy wallet address not available");let n=await x();M(!0),B(null);try{if(e.minOrderSize&&e.size<e.minOrderSize)throw Error("Minimum order size is ".concat(e.minOrderSize));if(!e.skipAllowanceCheck){var g;if(H("setting-up-allowances"),!await z(null!=(g=e.negRisk)&&g))throw Error("DEPOSIT_WALLET"===P?"Your Predictr account setup is incomplete. Finish deposit wallet setup, then try again.":"Failed to set up exchange allowances. Please try again.");await new Promise(e=>setTimeout(e,u.TIMING.CLOB_INDEXING_DELAY/2))}let s=null;if("BUY"===e.side){if(!I)throw Error("Public client not available for collateral wrap");let{makerAmount:t}=(0,m.calculateOrderAmounts)(e.side,e.price,e.size,e.tickSize,e.orderType),l=106n*t/100n,o=await I.readContract({abi:a.erc20Abi,address:u.PUSD_ADDRESS,args:[k],functionName:"balanceOf"});if(o<l){let e=await I.readContract({abi:a.erc20Abi,address:u.USDC_POLYGON_ADDRESS,args:[k],functionName:"balanceOf"});if(o+e<l){let t=(0,r.formatUnits)(o+e,6),a=(0,r.formatUnits)(l,6);throw Error("Insufficient balance to cover order + fees. You have $".concat(t," but need ~$").concat(a,"."))}i.default.info("Wrapping USDC.e before order submit",{context:"Trade",pUsdBalance:o.toString(),required:l.toString(),wrapAmount:e.toString()}),H("wrapping-collateral"),"DEPOSIT_WALLET"===P?await (0,p.wrapOnDepositWallet)({amount:e,depositWallet:k,eoaAddress:D,publicClient:I,walletClient:n}):await (0,c.wrapUsdcEOnProxy)(I,n,k,D,e),s={required:l}}}H("syncing-with-exchange");let o=s?await v(D,t,_,s.required):await (0,l.updateBalanceAllowance)(D,t,_,"COLLATERAL");i.default.debug("CLOB updateBalanceAllowance response",{allowance:o.allowance,balance:o.balance,context:"Trade"});let f=parseFloat(o.allowance),h=parseFloat(o.balance);if((isNaN(f)||f<=0)&&i.default.warn("CLOB returned empty for new proxy, proceeding with trade anyway",{allowance:o.allowance,balance:o.balance,context:"Trade",eoaAddress:D,signatureType:_}),"BUY"===e.side){let t=e.size*e.price;if(!isNaN(h)&&h>0&&h<t)throw Error("Insufficient balance. You have $".concat(h.toFixed(2)," but need $").concat(t.toFixed(2)));!isNaN(h)&&h>0&&i.default.debug("CLOB cache validated",{allowance:f,balance:h,context:"Trade",orderCost:t})}H("placing-order");let y=_===u.SIGNATURE_TYPES.POLY_1271?await (0,d.createSignedDepositWalletOrderV2)(n,{negRisk:e.negRisk,orderType:e.orderType,price:e.price,side:e.side,size:e.size,tickSize:e.tickSize,tokenId:e.tokenId},k,D):await (0,m.createSignedOrderV2)(n,{negRisk:e.negRisk,orderType:e.orderType,price:e.price,side:e.side,size:e.size,tickSize:e.tickSize,tokenId:e.tokenId},k,D,_),S=await (0,l.placeOrder)(D,t,y,e.orderType||"GTC",e.postOnly);return setTimeout(()=>{null==A||A(),null==w||w()}
1,u.TIMING.POST_TX_REFRESH_DELAY),null==E||E(S),{makingAmount:S.makingAmount,orderID:S.orderID,status:S.status,takingAmount:S.takingAmount}}catch(a){let e=(0,f.wrapError)(a,"Trade failed");"DEPOSIT_WALLET"!==P&&D&&(0,f.isMakerNotAllowedError)(e)&&(0,o.setDepositWalletOverride)(D);let t=Error((0,f.createPolymarketUserFriendlyErrorMessage)(e),{cause:e});throw B(t),t}finally{M(!1),H("idle")}},[b,D,k,_,x,I,z,A,w,E,P,O]),K=(0,t.useCallback)(async e=>{if(!T||!b||!D)throw Error("Not authenticated");U(!0),B(null);try{await (0,l.cancelOrder)(D,b,e),setTimeout(()=>{null==A||A()},u.TIMING.POST_TX_REFRESH_DELAY),null==S||S(e)}catch(a){let e=(0,f.wrapError)(a,"Cancel failed"),t=Error((0,f.createPolymarketUserFriendlyErrorMessage)(e),{cause:e});throw B(t),t}finally{U(!1)}},[T,b,D,A,S]);return{cancelAllOrders:(0,t.useCallback)(async()=>{if(!T||!b||!D)throw Error("Not authenticated");W(!0),B(null);try{await (0,l.cancelAllOrders)(D,b),setTimeout(()=>{null==A||A()},u.TIMING.POST_TX_REFRESH_DELAY)}catch(a){let e=(0,f.wrapError)(a,"Cancel all failed"),t=Error((0,f.createPolymarketUserFriendlyErrorMessage)(e),{cause:e});throw B(t),t}finally{W(!1)}},[T,b,D,A]),cancelOrder:K,checkAndSetupAllowances:z,error:G,isCancellingAll:j,isCancellingOrder:F,isExecuting:L||F||j,isPlacingOrder:L,isSettingUpAllowances:R,placeOrder:V,resetError:(0,t.useCallback)(()=>B(null),[]),tradeProgress:Y}}},36121,e=>{"use strict";e.s(["usePolymarketWithdraw",()=>f]);var t=e.i(240334),a=e.i(85315),r=e.i(128690),n=e.i(94935),i=e.i(378996);e.i(387516);var l=e.i(245677),s=e.i(444914),o=e.i(265849),c=e.i(297717),u=e.i(337845),d=e.i(913146),m=e.i(267608),p=e.i(497820);let f=()=>{let{ensureWalletClient:e,eoaAddress:f,isAuthenticated:g,proxyWalletAddress:h,walletType:y}=(0,m.usePolymarketAuth)(),{refreshBalance:S}=(0,p.usePolymarketBalance)(),{mutate:v}=(0,a.useSWRConfig)(),E=(0,i.usePublicClient)({chainId:s.POLYGON_CHAIN_ID}),A=(0,t.useCallback)(()=>v(e=>Array.isArray(e)&&"polymarket-positions"===e[0]),[v]),[w,b]=(0,t.useState)("idle"),[x,D]=(0,t.useState)(null),T=(0,t.useCallback)(()=>{b("idle"),D(null)},[]),k=(0,t.useCallback)((e,t)=>{if((0,d.asRelayerPollTimeout)(e)||(0,o.isPendingTransaction)(e))throw b("idle"),e;let a=e instanceof Error?e:Error(t);throw D(a),b("error"),a},[]),_=(0,t.useCallback)(async(t,a)=>{if(!g||!h||!f)throw Error("Not authenticated or wallet not connected");if(!E)throw Error("Public client not available");b("transferring"),D(null);try{let o=await e(),d=(0,n.parseUnits)(a,s.USDC_DECIMALS);if("DEPOSIT_WALLET"===y){var i;let e=await (0,c.submitWithdrawBatch)({amount:d,depositWallet:h,eoaAddress:f,publicClient:E,recipient:t,walletClient:o});return b("success"),S(),null!=(i=e.transactionHash)?i:void 0}let m=await E.readContract({abi:r.erc20Abi,address:s.USDC_POLYGON_ADDRESS,args:[h],functionName:"balanceOf"}),p=[];if(d>m){let e=d-m;p.push((0,l.buildUnwrapTransaction)(h,e))}p.push((0,l.buildUsdcTransferTransaction)(t,d));let g=await (0,u.executeSafeFromOwner)(E,o,h,f,p);return b("success"),S(),g.hash}catch(e){return k(e,"Transfer failed")}},[g,h,f,E,e,S,y,k]),P=(0,t.useCallback)(async(t,a)=>{var r;if(!f)throw Error("Not authenticated or wallet not connected");let n=await e();if(!E)throw Error("Public client not available");return null!=(r=(await (0,c.submitDepositWalletBatch)({calls:(0,c.toBatchCalls)(a),depositWallet:t,eoaAddress:f,publicClient:E,walletClient:n})).transactionHash)?r:void 0},[f,e,E]);return{error:x,isWithdrawing:"transferring"===w||"merging"===w,resetStatus:T,status:w,transferUsdc:_,withdraw:(0,t.useCallback)(async(t,a,r)=>{if(!g||!f)throw Error("Not authenticated or wallet not connected");if(!h)throw Error("Proxy wallet not available");b("merging"),D(null);try{let i,c=(0,n.parseUnits)(a,s.USDC_DECIMALS);if("DEPOSIT_WALLET"===y){if(r)throw Error("Neg-risk merge is unavailable for deposit wallets");i=await P(h,[(0,l.buildDepositWalletMergeTransaction)(t,c),(0,l.buildUnwrapTransaction)(h,c)])}else{if(!E)throw Error("Public client not available");let a=await e(),n=(0,l.buildWithdrawTransactions)(t,c,h,r);i=(await (0,o.sendEoaTransactionBatch)(E,a,f,n)).transactionHash}return b("success"),S(),A(),i}catch(e){return k(e,"Withdraw failed")}},[g,f,e,E,h,S,A,P,y,k])}}},802509,e=>{"use strict";e.s(["RTDS_SYMBOL_BY_ASSET",()=>r,"RTDS_TOPIC_BY_SOURCE",()=>a,"RTDS_WS_URL",()=>t,"deriveBinanceBase",()=>s,"deriveChainlinkSymbol",()=>l,"detectCryptoAsset",()=>i,"parseCryptoPricePayloads",()=>c,"symbolToBase",()=>o]);let t="wss://ws-live-data.polymarket.com",a={binance:"crypto_prices",chainlink:"crypto_prices_chainlink"},r={BTC:"btc/usd",DOGE:"doge/usd",ETH:"eth/usd",SOL:"sol/usd",XRP:"xrp/usd"},n={BTC:/\b(btc|bitcoin)\b/i,DOGE:/\b(doge|dogecoin)\b/i,ETH:/\b(eth|ethereum|ether)\b/i,SOL:/\b(sol|solana)\b/i,XRP:/\b(xrp|ripple)\b/i},i=e=>{let t=Object.keys(n).find(t=>n[t].test(e));return null!=t?t:null},l=e=>{let t=e.match(/data\.chain\.link\/streams\/([a-z0-9]+)-usd/i);return t?"".concat(t[1].toLowerCase(),"/usd"):null},s=e=>{let t=e.match(/\b([a-z0-9]{2,15}?)[/_]?usdt\b/i);return t?t[1].toLowerCase():null},o=e=>(e.includes("/")?e.split("/")[0]:e.replace(/usdt$/i,"")).toLowerCase(),c=e=>(Array.isArray(e)?e:[e]).filter(e=>"object"==typeof e&&null!==e&&"string"==typeof e.symbol&&"number"==typeof e.value)},429733,e=>{"use strict";e.s(["useRtdsCryptoPrice",()=>i]);var t=e.i(240334),a=e.i(773358),r=e.i(444914),n=e.i(802509);let i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{asset:i,enabled:l=!0,onTick:s,source:o="chainlink"}=e,c=i?(0,n.symbolToBase)(i):null,[u,d]=(0,t.useState)(o),m=c?"binance"===u?"".concat(c,"usdt"):"".concat(c,"/usd"):null,p=n.RTDS_TOPIC_BY_SOURCE[u],f=(0,t.useRef)(s);f.current=s;let g=(0,t.useRef)(null),h=(0,t.useRef)(null),y=(0,t.useRef)(0),[S,v]=(0,t.useState)(!1),[E,A]=(0,t.useState)(null),[w,b]=(0,t.useState)(null),x=(0,t.useRef)(m),D=(0,t.useRef)(p);(0,t.useEffect)(()=>{x.current=m},[m]),(0,t.useEffect)(()=>{D.current=p},[p]),(0,t.useEffect)(()=>{d(o),A(null),b(null)},[c,o]),(0,t.useEffect)(()=>
1{if(!c||"chainlink"===o||"chainlink"===u||null!=E)return;let e=setTimeout(()=>d("chainlink"),4e3);return()=>clearTimeout(e)},[c,o,u,E]);let T=(0,t.useCallback)(()=>{var e;if((null==(e=g.current)?void 0:e.readyState)===WebSocket.OPEN)return;let t=new WebSocket(n.RTDS_WS_URL);t.onopen=()=>{y.current=0,v(!0),t.send(JSON.stringify({action:"subscribe",subscriptions:[{topic:p,type:"update"}]}))},t.onmessage=e=>{var t,a,r,i;let l,s="string"==typeof e.data?e.data.trim():"";if(!s)return;try{l=JSON.parse(s)}catch(e){return}if(l.topic!==D.current)return;let o=null==(t=x.current)?void 0:t.toLowerCase(),c=(0,n.parseCryptoPricePayloads)(l.payload),u=o?c.find(e=>e.symbol.toLowerCase()===o):c[0];if(u){let e=null!=(i=null!=(r=u.timestamp)?r:l.timestamp)?i:Date.now(),t=e<1e12?1e3*e:e;A(u.value),b(t),null==(a=f.current)||a.call(f,{price:u.value,timestamp:t})}},t.onclose=()=>{if(v(!1),l){let e=y.current++;h.current=setTimeout(()=>{T()},Math.min(3e4,r.TIMING.WS_RECONNECT_DELAY*2**e))}},t.onerror=e=>{a.default.error("RTDS WebSocket error",{context:"RTDS",error:e instanceof Error?e.message:"Connection error"})},g.current=t},[l,p]),k=(0,t.useCallback)(()=>{h.current&&clearTimeout(h.current),g.current&&(g.current.onclose=null,g.current.onerror=null,g.current.onmessage=null,g.current.onopen=null,g.current.close(),g.current=null),v(!1)},[]),_=l&&null!==m;return(0,t.useEffect)(()=>(_&&T(),()=>{k()}),[_,T,k]),(0,t.useMemo)(()=>({isConnected:S,price:E,timestamp:w}),[S,E,w])}},462942,e=>{"use strict";e.s(["getCryptoChartPeriod",()=>l,"getCryptoMarketConfig",()=>r,"getCryptoStrikePeriod",()=>i,"getCryptoWindow",()=>o,"getCryptoWindowOpenTs",()=>s,"getLiveCryptoFeed",()=>n]);var t=e.i(802509);let a=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=e.match(t?/\$\s*([\d,]+(?:\.\d+)?)/:/\$?\s*([\d,]+(?:\.\d+)?)/);if(!a)return null;let r=Number(a[1].replace(/,/g,""));return Number.isFinite(r)?r:null},r=(e,r)=>{var n,i,l,s,o,c,u;let d=(e=>{let t=(e=>{let t="".concat(e.resolutionSource," ").concat(e.description);return/chain\.?link/i.test(t)?"chainlink":"binance"})(e);
1if((e=>/up or down/i.test(e.question)||/resolve to "?Up"?/i.test(e.description))(e)){var r;let a=Date.parse(null!=(r=e.eventStartTime)?r:e.startDate);return Number.isNaN(a)?null:{kind:"updown",openTimestamp:a,source:t}}let n=e.groupItemTitle?a(e.groupItemTitle):null,i=null!=n?n:a(e.question,!0);return null!==i&&(e=>{var t;let a="".concat(null!=(t=e.groupItemTitle)?t:""," ").concat(e.question);return/[$ââ]/.test(a)||/\b(reach(?:es)?|hit(?:s)?|above|below|over|under|dip(?:s)?|drop(?:s)?|fall(?:s)?|exceed(?:s)?|surpass(?:es)?)\b/i.test(a)})(e)?{direction:(e=>{var t,a;return(null==(t=e.groupItemTitle)?void 0:t.includes("â"))?"below":(null==(a=e.groupItemTitle)?void 0:a.includes("â"))?"above":/\b(dip|drop|fall|below|under)\b/i.test(e.question)?"below":"above"})(e),kind:"strike",price:i,source:t}:null})(e);if(!d)return null;if("chainlink"===d.source){let a="".concat(e.resolutionSource," ").concat(e.description),n=null!=(i=(0,t.deriveChainlinkSymbol)(a))?i:(()=>{let a=(0,t.detectCryptoAsset)("".concat(e.question," ").concat(null!=r?r:""));return a?t.RTDS_SYMBOL_BY_ASSET[a]:null})();return n?{assetLabel:n.split("/")[0].toUpperCase(),symbol:n,target:d}:null}let m=null!=(u=null!=(c=null!=(o=(0,t.deriveBinanceBase)(null!=(l=e.resolutionSource)?l:""))?o:(0,t.deriveBinanceBase)(null!=(s=e.description)?s:""))?c:null==(n=(0,t.detectCryptoAsset)("".concat(e.question," ").concat(null!=r?r:"")))?void 0:n.toLowerCase())?u:null;return m?{assetLabel:m.toUpperCase(),symbol:"".concat(m,"usdt"),target:d}:null},n=e=>({source:e.target.source,symbol:e.symbol}),i=e=>{var t;let a=new Set((null!=(t=e.tags)?t:[]).map(e=>e.slug));return a.has("5M")?"5m":a.has("15M")?"15m":a.has("1H")?"1h":null},l=e=>{var t;let a=i(e);if(a)return a;let r=new Set((null!=(t=e.tags)?t:[]).map(e=>e.slug));return r.has("4h")||r.has("4H")?"4h":null},s=e=>"updown"===e.target.kind?Math.floor(e.target.openTimestamp/1e3):null,o=(e,t)=>({openTs:s(e),period:i(t)})},94250,e=>{"use strict";e.s(["useCryptoTargetPrice",()=>n]);var t=e.i(737668),a=e.i(462942),r=e.i(213237);let n=(e,n)=>{var i,l,s;let{assetLabel:o,target:c}=e,u=null!=(l=null==(i=n.eventMetadata)?void 0:i.priceToBeat)?l:null,{openTs:d,period:m}=(0,a.getCryptoWindow)(e,n),p=null!=d&&null!=m&&("5m"===m||"15m"===m||null==u),{data:f}=(0,t.default)(p?"/api/crypto/strike?symbol=".concat(o,"&period=").concat(m,"&openTs=").concat(d):null,r.fetcher,{refreshInterval:e=>(null==e?void 0:e.strike)!=null?0:"5m"===m?1e3:5e3,revalidateOnFocus:!1,revalidateOnMount:!0});return"strike"===c.kind?c.price:null!=(s=null==f?void 0:f.strike)?s:u}},174995,e=>{"use strict";e.s(["LiveCryptoChart",()=>s,"toChartTime",()=>o]);var t=e.i(4095),a=e.i(662347),r=e.i(240334);e.i(516251);var n=e.i(331395),i=e.i(477943);let l=e=>"$".concat(e.toLocaleString("en-US",{maximumFractionDigits:2,minimumFractionDigits:2})),s=e=>{let{animateDot:s=!0,className:o,color:c="var(--color-brand-green-950)",data:u,fitContent:d=!1,height:m=320,priceFormatter:p,targetLabel:f="Target",targetPrice:g}=e,h=(0,r.useRef)(null),y=(0,r.useRef)(null),S=(0,r.useRef)(null),v=(0,r.useRef)(null),E=(0,r.useRef)(null),A=(0,r.useRef)(p);A.current=p;let w=(0,r.useRef)(u);w.current=u;let b=(0,r.useRef)(g);b.current=g;let x=(0,r.useRef)(()=>{}),[D,T]=(0,r.useState)(0);return(0,r.useEffect)(()=>{let e=h.current;if(!e)return;let t=(0,a.createChart)(e,{...(0,n.buildBaseChartOptions)(e.clientWidth,m,{showGrid:!0}),handleScale:!1,handleScroll:!1,timeScale:{borderVisible:!1,fixLeftEdge:!0,rightOffset:2,secondsVisible:!0,timeVisible:!0}}),r=t.addSeries(a.AreaSeries,{autoscaleInfoProvider:e=>{let t=e(),a=b.current;return(null==t?void 0:t.priceRange)==null||null==a?t:{...t,priceRange:{maxValue:Math.max(t.priceRange.maxValue,a),minValue:Math.min(t.priceRange.minValue,a)}}},lastValueVisible:!0,lineWidth:2,priceFormat:{formatter:e=>{var t;return(null!=(t=A.current)?t:l)(e)},type:"custom"},priceLineVisible:!1});S.current=t,v.current=r,E.current=null,T(e=>e+1),x.current=()=>{let e=y.current,a=w.current;if(!e||0===a.length)return;let n=a[a.length-1],i=t.timeScale().timeToCoordinate(n.time),l=r.priceToCoordinate(n.value);if(null===i||null===l){e.style.display="none";return}e.style.display="block",e.style.transform="translate(".concat(i,"px, ").concat(l,"px)")};let i=new ResizeObserver(e=>{for(let a of e)t.applyOptions({width:a.contentRect.width});x.current()});return i.observe(e),t.timeScale().subscribeVisibleTimeRangeChange(()=>x.current()),()=>{i.disconnect(),t.remove(),S.current=null,v.current=null,E.current=null}},[m]),(0,r.useEffect)(()=>{let e=v.current;if(!e)return;let t=(e=>{var t;let a=e.match(/^var\((--[^)]+)\)$/);return a?(0,n.resolveCssVarColor)(a[1],"#4caf50"):null!=(t=(0,n.cssColorToHex)(e))?t:e})(c);e.applyOptions({bottomColor:(0,n.withAlpha)(t,"00"),lineColor:t,topColor:(0,n.withAlpha)(t,(0,n.opacityToHex)(.2))})},[c,D]),(0,r.useEffect)(()=>{let e=v.current,t=S.current;e&&t&&(e.setData((0,n.dedupeByTime)(u)),d?t.timeScale().fitContent():t.timeScale().scrollToRealTime(),x.current())},[u,D,d]),(0,r.useEffect)(()=>{let e=v.current;e&&(E.current&&(e.removePriceLine(E.current),E.current=null),null!=g&&(E.current=e.createPrice
1Line({axisLabelVisible:!0,color:(0,n.resolveCssVarColor)("--color-neutral-grey-800","#d1d5db"),lineStyle:a.LineStyle.LargeDashed,lineWidth:1,price:g,title:f})))},[g,f,D]),(0,r.useEffect)(()=>{var e;null==(e=v.current)||e.applyOptions({priceFormat:{formatter:e=>(null!=p?p:l)(e),type:"custom"}})},[p,D]),(0,t.jsxs)("div",{className:(0,i.twMerge)("relative",o),style:{height:m},children:[(0,t.jsx)("div",{className:"h-full overflow-hidden",ref:h}),(0,t.jsx)("div",{className:"pointer-events-none absolute left-0 top-0 hidden",ref:y,children:(0,t.jsxs)("span",{className:"relative -left-1 -top-1 flex size-2",children:[s&&(0,t.jsx)("span",{className:"absolute inline-flex size-full animate-ping rounded-full opacity-75",style:{backgroundColor:c}}),(0,t.jsx)("span",{className:"relative inline-flex size-2 rounded-full",style:{backgroundColor:c}})]})})]})};s.displayName="LiveCryptoChart";let o=e=>e},253053,e=>{"use strict";e.s([]),e.i(174995)},479346,e=>{"use strict";e.s(["useCryptoPriceHistory",()=>s]);var t=e.i(240334),a=e.i(737668),r=e.i(462942);e.i(253053);var n=e.i(174995),i=e.i(213237);let l=[],s=(e,s,o)=>{let{assetLabel:c}=e,u=(0,r.getCryptoWindowOpenTs)(e),d=(0,r.getCryptoChartPeriod)(s),m=null!=u&&null!=d,{data:p,error:f,isLoading:g}=(0,a.default)(m?"/api/crypto/history?symbol=".concat(c,"&period=").concat(d,"&openTs=").concat(u):o?"/api/crypto/history?symbol=".concat(c,"&range=").concat(o):null,i.fetcher,{refreshInterval:6e4*!m,revalidateOnFocus:!1,revalidateOnMount:!0});return{error:f,isLoading:g,points:(0,t.useMemo)(()=>{var e;return(null==p||null==(e=p.points)?void 0:e.length)?p.points.map(e=>({time:(0,n.toChartTime)(e.time),value:e.value})):l},[p])}}},428925,e=>{"use strict";e.s(["useCryptoMarketState",()=>l]);var t=e.i(240334),a=e.i(729383);e.i(387516);var r=e.i(903691),n=e.i(662728),i=e.i(462942);let l=(e,l)=>{let s=(0,t.useMemo)(()=>e&&l&&(0,r.isCryptoTagged)(e)?(0,i.getCryptoMarketConfig)(l,e.title):null,[e,l]),o=!!e&&(0,r.isMultiOutcomeEvent)(e.markets),c=(0,a.useIsPastDate)(s?o?e.endDate:null==l?void 0:l.endDate:null),u=(0,a.useIsPastDate)(s&&l?l.endDate:null),d=o?e.closed||(0,n.isEventResolved)(e):!!(null==l?void 0:l.closed),m=!!s&&(d||c),p=!!s&&(m||!!(null==l?void 0:l.closed)||u);return{cryptoConfig:s,isCryptoEnded:m,isOutcomeEnded:p}}},413231,e=>{"use strict";e.s(["useLiveSeriesEvent",()=>i]);var t=e.i(737668);e.i(387516);var a=e.i(931707),r=e.i(903691),n=e.i(444914);let i=function(e){var i;let l=!(arguments.length>1)||void 0===arguments[1]||arguments[1],{data:s,error:o,isLoading:c}=(0,t.default)(l&&e?["polymarket-live-series",e]:null,()=>(0,a.fetchEvents)({ascending:!0,closed:!1,limit:20,order:"endDate",series_id:e}),{refreshInterval:n.TIMING.MARKETS_REFRESH_INTERVAL,revalidateOnFocus:!0});return{error:o,isLoading:c,liveEvent:s?null==(i=(0,r.pickLiveWindow)(s))?void 0:i.event:void 0}}},518165,e=>{"use strict";e.s(["useSeriesWindows",()=>s]);var t=e.i(240334),a=e.i(737668);e.i(387516);var r=e.i(931707),n=e.i(340185),i=e.i(903691);let l=new Intl.DateTimeFormat("en-US",{day:"numeric",month:"short",timeZone:"America/New_York"}),s=(e,s)=>{let o={refreshInterval:1e4,revalidateOnFocus:!0},{data:c,error:u,isLoading:d}=(0,a.default)(e?["polymarket-live-series",e]:null,()=>(0,r.fetchEvents)({ascending:!0,closed:!1,limit:20,order:"endDate",series_id:e}),o),{data:m,error:p,isLoading:f}=(0,a.default)(e?["series-windows-closed",e]:null,()=>(0,r.fetchEvents)({ascending:!1,closed:!0,limit:16,order:"endDate",series_id:e}),o);return{error:null!=u?u:p,isLoading:d||f,windows:(0,t.useMemo)(()=>{var e,t;let a=Date.now(),r=l.format(a),o=new Map;for(let e of[...null!=m?m:[],...null!=c?c:[]])o.set(e.id,e);s&&o.set(s.id,s);let u=Array.from(o.values()),d=null!=(t=null==(e=(0,i.pickLiveWindow)(u,a))?void 0:e.end)?t:1/0,p=u.map(e=>({endTime:(e=>{var t;return new Date(null!=(t=(0,i.getEventEndDate)(e))?t:"").getTime()})(e),event:e,openTime:(e=>{var t,a;let r=null==(a=e.markets)||null==(t=a[0])?void 0:t.eventStartTime;return r?Date.parse(r):NaN})(e)})),f=(0,n.isIntradaySeries)(p);return p.map(e=>{var t,s;let{endTime:o,event:c,openTime:u}=e,m=Number.isFinite(o)&&o<=a,p=Number.isFinite(u)?u:o,g=Number.isFinite(p)?l.format(p):"";return{dateText:g,endTime:o,event:c,isIntraday:f,isLive:Number.isFinite(o)&&o===d,isPast:m,isToday:""!==g&&g===r,label:(0,n.formatWindowLabel)(p,{intraday:f,now:a}),openTime:u,outcome:m?(0,i.getResolvedOutcome)(null!=(s=null==(t=c.markets)?void 0:t[0])?s:{}):null,slug:c.slug}}).filter(e=>Number.isFinite(e.endTime)).sort((e,t)=>
1e.endTime-t.endTime)},[c,m,s])}}},658676,e=>{"use strict";e.s(["usePolymarketProxyStatus",()=>s]);var t=e.i(240334),a=e.i(128690),r=e.i(378996),n=e.i(773358);e.i(387516);var i=e.i(444914),l=e.i(267608);let s=()=>{let{proxyWalletAddress:e}=(0,l.usePolymarketAuth)(),s=(0,r.usePublicClient)({chainId:i.POLYGON_CHAIN_ID}),[o,c]=(0,t.useState)(null),[u,d]=(0,t.useState)(!1),[m,p]=(0,t.useState)(null),f=(0,t.useCallback)(async()=>{if(!e||!s)return void c(null);d(!0),p(null);try{let[t,r,l]=await Promise.all([s.getCode({address:e}),s.readContract({abi:a.erc20Abi,address:i.USDC_POLYGON_ADDRESS,args:[e],functionName:"balanceOf"}),s.readContract({abi:a.erc20Abi,address:i.PUSD_ADDRESS,args:[e],functionName:"balanceOf"})]),o=!!t&&"0x"!==t&&t.length>2,u=r>0n||l>0n,d=o||u;n.default.debug("Deployment check result",{address:e,codeLength:null==t?void 0:t.length,context:"PolymarketProxyStatus",deployed:d,hasBalance:u,hasCode:o,pUsdBalance:l.toString(),usdcEBalance:r.toString()}),c(d)}catch(t){let e=t instanceof Error?t.message:"Unknown error";n.default.error("Error checking proxy deployment",{context:"PolymarketProxyStatus",error:e}),p(t instanceof Error?t:Error("Failed to check deployment")),c(null)}finally{d(!1)}},[e,s]);return(0,t.useEffect)(()=>{e&&f()},[e,f]),{error:m,isCheckingDeployment:u,isDeployed:o}}},358740,e=>{"use strict";e.s(["useOrderExecutionSync",()=>n]);var t=e.i(240334),a=e.i(823082),r=e.i(540108);let n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{enabled:n=!0,onOrderExecuted:i}=e,{isLoading:l,orders:s,refetch:o}=(0,a.usePolymarketOrders)(),{mutate:c}=(0,r.usePolymarketPositions)(),u=(0,t.useRef)(new Map),d=(0,t.useRef)(!1),m=(0,t.useCallback)(()=>{o(),c()},[o,c]);return(0,t.useEffect)(()=>{if(!n||l)return;let e=new Map(s.map(e=>[e.id,e])),t=u.current;if(!d.current){u.current=e,d.current=!0;return}let a=!1;t.forEach((t,r)=>{let n=e.get(r);n?"MATCHED"===n.status&&"LIVE"===t.status?(a=!0,null==i||i({order:n,orderId:r,previousOrder:t,type:"matched"})):n.size_matched!==t.size_matched&&parseFloat(n.size_matched)>parseFloat(t.size_matched)&&(a=!0,null==i||i({order:n,orderId:r,previousOrder:t,type:"partially_filled"})):"LIVE"===t.status&&(a=!0,null==i||i({orderId:r,previousOrder:t,type:"removed"}))}),u.current=e,a&&setTimeout(()=>{c()},1e3)},[s,l,n,i,c]),{isLoading:l,orders:s,refetchAll:m}}},460923,e=>{"use strict";e.s(["usePolymarketPnL",()=>s]);var t=e.i(240334),a=e.i(737668);e.i(387516);var r=e.i(265186),n=e.i(444914),i=e.i(267608),l=e.i(500887);let s=()=>{let{proxyWalletAddress:e}=(0,i.usePolymarketAuth)(),{data:s,isAccountResolving:o,isLoading:c}=(0,l.usePolymarketRawPositions)(),{data:u,isLoading:d}=(0,a.default)(e?["polymarket-closed-positions",e]:null,()=>(0,r.getUserClosedPositions)(e),{refreshInterval:n.TIMING.POSITIONS_REFRESH_INTERVAL,revalidateOnFocus:!1}),m=(0,t.useMemo)(()=>{let e=null!=s?s:[],t=null!=u?u:[],a=e.reduce((e,t)=>{var a;return e+(null!=(a=t.realizedPnl)?a:0)},0)+t.reduce((e,t)=>{var a;return e+(null!=(a=t.realizedPnl)?a:0)},0),r=t.length>0||e.some(e=>{var t,a;return(null!=(t=e.realizedPnl)?t:0)!==0||(null!=(a=e.totalBought)?a:0)-parseFloat(e.size||"0")>1e-6}),n=(e,t,a)=>Math.max((null!=e?e:0)-a,0)*parseFloat(t||"0"),i=e.reduce((e,t)=>e+n(t.totalBought,t.avgPrice,parseFloat(t.size||"0")),0)+t.reduce((e,t)=>e+n(t.totalBought,t.avgPrice,0),0);return{hasRealizedTrades:r,pnl:a,pnlPercent:i>0?a/i*100:0}},[s,u]),p=m.pnl>=0?"+":"-",f=m.pnlPercent>=0?"+":"";return{hasRealizedTrades:m.hasRealizedTrades,isLoading:o||c||d,pnl:m.pnl,pnlFormatted:"".concat(p,"$").concat(Math.abs(m.pnl).toFixed(2)),pnlPercent:m.pnlPercent,pnlPercentFormatted:"".concat(f).concat(m.pnlPercent.toFixed(2),"%")}}},904002,e=>{"use strict";e.s(["getProgressMessage",()=>n,"useTradeSetup",()=>i]),e.i(323700);var t=e.i(823082),a=e.i(540108),r=e.i(558065);let n=e=>{switch(e){case"setting-up-allowances":return"Setting up trading permissions...";case"syncing-with-exchange":return"Syncing with exchange...";case"wrapping-collateral":return"Wrapping USDC.e to pUSD...";case"placing-order":return"Placing your order...";default:return null}},i=()=>{let{refetch:e}=(0,t.usePolymarketOrders)(),{mutate:n}=(0,a.usePolymarketPositions)();return{...(0,r.usePolymarketTrade)({refetchOrders:e,refetchPositions:n}),refetchOrders:e,refetchPositions:n}}},323700,e=>{"use strict";e.s([]),e.i(468617),e.i(586411),e.i(683837),e.i(870536),e.i(247588),e.i(842611),e.i(267608),e.i(497820),e.
1i(639672),e.i(181177),e.i(66570),e.i(135626),e.i(823082),e.i(540108),e.i(500887),e.i(498927),e.i(531483),e.i(558065),e.i(36121),e.i(192368),e.i(429733),e.i(94250),e.i(479346),e.i(428925),e.i(413231),e.i(518165),e.i(658676),e.i(358740),e.i(460923),e.i(904002)},152791,e=>{"use strict";e.s(["runGatedAction",()=>a]);var t=e.i(773358);let a=e=>{Promise.resolve(e()).catch(e=>{t.default.error("Predictr gated action failed",{context:"PolymarketContext",error:e instanceof Error?e.message:String(e)})})}},814458,e=>{"use strict";e.s(["formatUsdcBalance",()=>r,"totalAvailableCollateral",()=>n,"totalPortfolioValue",()=>i]);var t=e.i(7521),a=e.i(444914);let r=e=>e?parseFloat((0,t.formatUnits)(e,a.USDC_DECIMALS)).toFixed(2):"0.00",n=(e,t)=>(null!=e?e:0n)+(null!=t?t:0n),i=(e,r)=>{let n=parseFloat(r||"0");return(parseFloat((0,t.formatUnits)(null!=e?e:0n,a.USDC_DECIMALS))+(isNaN(n)?0:n)).toFixed(2)}},814764,e=>{"use strict";e.s(["getDepositDisabledReason",()=>t,"getQuickTradeDisabledReason",()=>n,"getWithdrawMergeDisabledReason",()=>r,"getWithdrawTransferDisabledReason",()=>a]);let t=e=>{let{hasAmount:t,insufficientBalance:a,wrongNetwork:r}=e;return r?"Switch to Polygon":t?a?"Insufficient USDC balance":null:"Enter an amount"},a=e=>{let{exceedsBalance:t,hasAmount:a}=e;return a?t?"Insufficient balance":null:"Enter an amount"},r=e=>{let{exceedsMergeable:t,hasAmount:a,hasPosition:r}=e;return r?a?t?"Exceeds mergeable amount":null:"Enter an amount":"Select a position"},n=e=>{let{belowMin:t,hasAmount:a,insufficientBalance:r,priceInvalid:n,tradingDown:i}=e;return i?"Trading Paused":n?"Market unavailable":a?r?"Insufficient balance":t?"Below minimum":null:"Enter an amount"}},52598,e=>{"use strict";e.s(["PolymarketDepositWalletFunding",()=>b]);var t=e.i(4095),a=e.i(591477),r=e.i(756601),n=e.i(240334),i=e.i(611156),l=e.i(94935);e.i(323700);var s=e.i(497820),o=e.i(650105),c=e.i(845721),u=e.i(536027),d=e.i(444914),m=e.i(265849),p=e.i(913146),f=e.i(814458);e.i(634021);var g=e.i(390409);e.i(2352);var h=e.i(182354);e.i(190730);var y=e.i(165256);e.i(929951);var S=e.i(670621),v=e.i(523085);e.i(542060);var E=e.i(882160),A=e.i(213237),w=e.i(518022);let b=e=>{var b;let{isOpen:x,onClose:D}=e,T=(0,r.useTranslations)(),{acknowledgeFundingSettlement:k,depositWalletAddress:_,error:P,fund:C,fundingSettlement:R,isFunding:N,isWrapping:O,pendingFunding:I,speedUpFunding:L,wrap:M}=(0,o.useDepositWallet)(),{refreshBalance:F,usdcBalance:U,usdcEBalance:j}=(0,s.usePolymarketBalance)(),{balances:W,refreshBalances:G}=(0,c.default)(),{discardTransaction:B,markFailed:Y,markPendingConfirmation:H,markSuccess:z,startToastTransaction:V}
1=(0,u.default)(),[K,q]=(0,n.useState)("select"),[X,J]=(0,n.useState)(""),[$,Z]=(0,n.useState)(null),[Q,ee]=(0,n.useState)(null),et=(0,n.useRef)(null),ea=(0,n.useRef)(null),er=(0,n.useMemo)(()=>null==W?void 0:W.find(e=>e.chainId===d.POLYGON_CHAIN_ID&&(0,i.isAddressEqual)(e.address,d.USDC_POLYGON_ADDRESS)),[W]),en=null!=(b=null==er?void 0:er.balance)?b:"0",ei=(0,f.formatUsdcBalance)(U),el=null!=j?j:0n,es=el>0n,eo=(0,f.formatUsdcBalance)(j),ec=(0,n.useCallback)(()=>{q("select"),J(""),Z(null),ee(null),et.current=null},[]);(0,n.useEffect)(()=>{x||ec()},[x,ec]),(0,n.useEffect)(()=>{if("wrapped"===$&&null!==et.current){if(!es){et.current=0n;return}el!==et.current&&Z(null)}},[es,$,el]);let eu=(0,n.useMemo)(()=>{if(!X||"."===X)return!1;let e=(0,a.default)(X);return e.gt(0)&&e.lte((0,a.default)(en||"0"))},[X,en]),ed=(0,n.useCallback)(async()=>{if(!eu)return;Z(null);let e=V("predictr-deposit",{amount:X,chainId:d.POLYGON_CHAIN_ID,symbol:"USDC.e",usdValue:X});ea.current=e;try{let t=await C((0,l.parseUnits)(X,d.USDC_DECIMALS),e);Z("funded"),F(),null==G||G(),z(t,e),ea.current=null}catch(a){let t=(0,p.asPendingTransaction)(a);if(t)return void H(t.sent.hash,e);Y(a,e),ea.current=null}},[eu,C,X,F,G,V,z,H,Y]);(0,n.useEffect)(()=>{null===ea.current&&(null==I?void 0:I.toastId)!==void 0&&(ea.current=I.toastId)},[I]);let em=(0,n.useCallback)(async()=>{try{let e=await L();e&&(Z("funded"),null!==ea.current&&(z(e,ea.current),ea.current=null)),F(),null==G||G()}catch(e){}},[L,F,G,z]);(0,n.useEffect)(()=>{null!==ea.current&&!R&&(I||!P||(0,p.asPendingTransaction)(P)||(Y(P,ea.current),ea.current=null))},[P,R,Y,I]),(0,n.useEffect)(()=>{if(!R)return;let e=ea.current;R.funded?(Z("funded"),F(),null==G||G(),null!==e&&z(R.hash,e)):null!==e&&B(e),ea.current=null,k()},[k,B,R,z,F,G]);let ep=(0,n.useCallback)(async()=>{if(!es)return;Z(null),ee(null);let e=V("predictr-wrap",{amount:(0,f.formatUsdcBalance)(el),chainId:d.POLYGON_CHAIN_ID,symbol:"pUSD"});et.current=el;try{let t=await M(el);Z("wrapped"),F(),z(null!=t?t:"",e)}catch(a){let t=(0,p.asRelayerPollTimeout)(a);if(t){ee((0,p.relayerTimeoutMessage)(t)),H("",e);return}Y(a,e)}},[es,M,el,F,V,z,Y,H]),ef=N||O,eg=ef||"funded"===$||!!I;return(0,t.jsxs)(g.ActionPanel,{className:"mx-auto w-[360px]",children:[(0,t.jsx)(g.ActionPanel.Card,{iconLeft:"select"!==K?"back":void 0,onClose:D,onIconLeftClick:"select"!==K?ec:void 0,showClose:!ef,title:"receive"===K?"Deposit to address":"Deposit",children:_?"select"===K?(0,t.jsxs)(g.ActionPanel.Section,{className:"flex flex-col gap-2",children:[(0,t.jsxs)("button",{className:"bg-surface-secondary hover:bg-light-50 border-border-secondary w-full cursor-pointer rounded-xl border p-4 text-left transition-colors",onClick:()=>q("fund"),type:"button",children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"Fund from your wallet"}),(0,t.jsx)("div",{className:"text-text-secondary mt-0.5 text-xs",children:"Convert USDC.e in your connected wallet to Predictr buying power"})]}),(0,t.jsxs)("button",{className:"bg-surface-secondary hover:bg-light-50 border-border-secondary w-full cursor-pointer rounded-xl border p-4 text-left transition-colors",onClick:()=>q("receive"),type:"button",children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"Deposit to address"}),(0,t.jsx)("div",{className:"text-text-secondary mt-0.5 text-xs",children:"Send USDC.e on Polygon directly to your deposit address"})]})]}):"fund"===K?(0,t.jsxs)(g.ActionPanel.Content,{children:[(0,t.jsx)("div",{className:"-mx-5 -mt-5 flex items-center justify-between px-5 pb-8 pt-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(S.CryptoLogo,{address:d.USDC_POLYGON_ADDRESS,chainId:d.POLYGON_CHAIN_ID,name:"USDC",size:36}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"USDC"}),(0,t.jsx)("div",{className:"text-text-tertiary text-xs",children:(0,w.shortHash)(d.USDC_POLYGON_ADDRESS)})]})]})}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("input",{autoComplete:"off",className:"text-text-primary placeholder-text-tertiary w-full bg-transparent text-2xl font-light outline-none",disabled:eg,onChange:e=>{let t=e.target.value;(""===t||/^\d*\.?\d{0,6}$/.test(t))&&J(t)},placeholder:"0.00",type:"text",value:X}),(0,t.jsx)("button",{className:"bg-light-50 border-light-100 text-light-950 hover:bg-light-100 cursor-pointer rounded-full border px-2.5 py-1.5 text-xs font-medium leading-[100%] transition-colors disabled:cursor-not-allowed disabled:opacity-50",disabled:eg,onClick:()=>J((0,a.default)(en).round(d.USDC_DECIMALS,a.default.roundDown).toString()),type:"button",children:"Max"})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-text-tertiary text-xs",children:X&&"."!==X&&(0,a.default)(X).gt(0)?"~$".concat(X):""}),(0,t.jsxs)("span",{className:"text-text-tertiary text-xs",children:["Balance: ",(0,t.jsx)("span",{className:"text-text-primary",children:en})]})]}),(0,t.jsx)("div",{className:"border-neutral-grey-300 -mx-5 mt-5 flex items-center justify-center border-t",children:(0,t.jsx)("div",{className:"bg-surface-tertiary -mt-3.5 flex size-7 items-center justify-center rounded-lg",children:(0,t.jsx)(v.Icon,{className:"text-text-secondary size-4",name:"sort"})})}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(S.CryptoLogo,{name:"polymarket",size:36}),(0,t.jsx)(S.CryptoLogo,{chainId:d.POLYGON_CHAIN_ID,className:"ring-surface-secondary absolute -right-0.5 bottom-[5px] ring-2",name:"Polygon",size:14})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"Predictr Account"}),(0,t.jsx)("div",{className:"text-text-tertiary text-xs",children:(0,w.shortHash)(_)})]})]}),(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-text-secondary text-xs",children:"Buying power"}),(0,t.jsxs)("div",{className:"text-text-primary text-sm font-medium",children:["$",ei]})]})]})]}):(0,t.jsxs)(g.ActionPanel.Content,{className:"flex flex-col gap-4",children:[(0,t.jsx)("p",{className:"text-text-secondary text-sm",children:"Send USDC.e on Polygon to this address. It becomes buying power once wrapped to pUSD â we'll prompt you below when funds arrive."}),(0,t.jsxs)("div",{className:"bg-surface-secondary border-border-secondary flex items-center justify-between gap-3 rounded-xl border p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 overflow-hidden",children:[(0,t.jsx)(S.CryptoLogo,{chainId:d.POLYGON_CHAIN_ID,name:"Polygon",size:24}),(0,t.jsx)("span",{className:"text-text-primary truncate text-sm",children:_})]}),(0,t.jsx)(y.CopyButton,{iconClassName:"h-4 w-4 text-text-secondary hover:text-text-primary",value:_,variant:"icon"})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-text-secondary text-sm",children:"Buying power"}),(0,t.jsxs)("span",{className:"text-text-primary text-sm font-medium",children:["$",ei]})]}),es&&(0,t.jsx)("div",{className:"border-border-secondary flex items-center justify-between rounded-xl border p-3",children:(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"text-text-primary text-sm font-medium",children:[eo," USDC.e ready"]}),(0,t.jsx)("div",{className:"text-text-tertiary text-xs",children:"Wrap to pUSD to trade with it"})]})})]}):(0,t.jsxs)(g.ActionPanel.Section,{className:"py-8 text-center",children:[(0,t.jsx)("div",{className:"text-text-tertiary mb-2",children:"Loading..."}),(0,t.jsx)("p",{className:"text-text-secondary text-sm",children:"Deriving your Predictr deposit address..."})]})}),"fund"===K&&I?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h.Alert,{variant:"info",children:T("error-transaction-pending")}),P&&!(0,m.isPendingTransaction)(P)&&(0,t.jsx)(h.Alert,{variant:"error",children:T((0,A.getErrorKey)(P))})]}):Q?(0,t.jsx)(h.Alert,{variant:"info",children:Q}):P?(0,t.jsx)(h.Alert,{variant:"error",children:T((0,A.getErrorKey)(P))}):null,"fund"===K&&(0,t.jsx)(g.ActionPanel.Actions,{children:(0,t.jsxs)(g.ActionPanel.Button,{disabled:ef||"funded"!==$&&(I?!I.step:!eu),onClick:"funded"===$?D:I?em:ed,status:"funded"===$?"success":N?"loading":void 0,children:[N&&(0,t.jsx)(E.LoadingCircle,{className:"mr-2 size-4"}),"funded"===$&&(0,t.jsx)(v.Icon,{className:"mr-2 size-4",name:"checkmark-circle"}),N?"Funding":"funded"===$?"Funded":I?"Speed up":"Fund"]}
1)}),"receive"===K&&(es||"wrapped"===$)&&(0,t.jsx)(g.ActionPanel.Actions,{children:(0,t.jsxs)(g.ActionPanel.Button,{disabled:O||null!==Q,onClick:"wrapped"===$?D:ep,status:"wrapped"===$?"success":O?"loading":void 0,children:[O&&(0,t.jsx)(E.LoadingCircle,{className:"mr-2 size-4"}),"wrapped"===$&&(0,t.jsx)(v.Icon,{className:"mr-2 size-4",name:"checkmark-circle"}),"wrapped"===$?"Wrapped":O?"Wrapping":"Wrap $".concat(eo," to pUSD")]})})]})}},869047,e=>{"use strict";e.s(["PolymarketDepositModal",()=>G]);var t=e.i(4095),a=e.i(591477),r=e.i(756601),n=e.i(240334),i=e.i(128690),l=e.i(734071),s=e.i(661410),o=e.i(611156),c=e.i(378996),u=e.i(582154),d=e.i(421847);e.i(323700);var m=e.i(267608),p=e.i(497820),f=e.i(128405),g=e.i(845721),h=e.i(360631),y=e.i(602378),S=e.i(560184),v=e.i(536027),E=e.i(586828);e.i(850377);var A=e.i(605016),w=e.i(773358),b=e.i(82741),x=e.i(444914),D=e.i(913146),T=e.i(814458);e.i(634021);var k=e.i(390409);e.i(2352);var _=e.i(182354);e.i(929951);var P=e.i(670621),C=e.i(523085);e.i(542060);var R=e.i(882160),N=e.i(480707),O=e.i(213237),I=e.i(713491),L=e.i(387183),M=e.i(518022),F=e.i(335003),U=e.i(814764),j=e.i(545314),W=e.i(52598);let G=e=>{let{isOpen:G,onClose:B}=e,Y=(0,r.useTranslations)(),{proxyWalletAddress:H,walletType:z}=(0,m.usePolymarketAuth)(),{refreshBalance:V,usdcBalance:K,usdcEBalance:q}=(0,p.usePolymarketBalance)(),{checkV2Setup:X,isApproving:J,openLiFiBridgeModal:$,safeIsDeployed:Z,setupV2:Q}=(0,j.usePolymarketContext)();(0,n.useEffect)(()=>{G&&X()},[G,X]);let ee=(0,f.default)(),et=null==ee?void 0:ee.id,{balances:ea,injectToken:er}=(0,g.default)(),{eoaAddress:en}=(0,y.useEoaWalletClient)(),{executeTransaction:ei}=(0,E.default)(),{buildUserOperation:el}=(0,S.default)(),{markFailed:es,markPendingConfirmation:eo,markSuccess:ec,startToastTransaction:eu}
1=(0,v.default)(),[ed,em]=(0,n.useState)(""),[ep,ef]=(0,n.useState)(),[eg,eh]=(0,n.useState)(null),[ey,eS]=(0,n.useState)(""),[ev,eE]=(0,n.useState)(!1),[eA,ew]=(0,n.useState)("idle"),eb=(0,n.useRef)(G);(0,n.useEffect)(()=>{eb.current=G},[G]);let ex=(0,c.usePublicClient)({chainId:x.POLYGON_CHAIN_ID}),{data:eD}=(0,u.useWalletClient)({chainId:x.POLYGON_CHAIN_ID}),eT=(0,T.formatUsdcBalance)((0,T.totalAvailableCollateral)(K,q)),ek=!!q&&q>0n,e_=(0,T.formatUsdcBalance)(q),eP=ev&&!ey&&!ep,eC=ev&&!!ey&&!ep,eR="wrapping"===eA,eN=eC&&!eR,eO=(0,n.useMemo)(()=>(null==ea?void 0:ea.filter(e=>{let{chainId:t}=e;return t===x.POLYGON_CHAIN_ID}))||[],[ea]),eI=(0,n.useMemo)(()=>eO.find(e=>(0,o.isAddressEqual)(e.address,x.USDC_POLYGON_ADDRESS)),[eO]),eL=!!ed&&"."!==ed&&(0,a.default)(ed).gt(0),eM=et!==x.POLYGON_CHAIN_ID,eF=eL&&!!(null==eI?void 0:eI.balance)&&(0,L.exceedsBalance)(ed,eI.balance),eU=(0,n.useMemo)(()=>en&&eI&&eL&&!eF&&H&&(0,s.isAddress)(H),[eL,eF,H,eI,en]),ej=(0,n.useCallback)(async()=>{if(!eU||!eI||!H)return;let e={action:"send",amount:ed,chainId:x.POLYGON_CHAIN_ID,destinationAddress:H,id:(0,F.randomUUID)(),tokenIn:{address:eI.address,decimals:eI.decimals,symbol:eI.symbol}};return await el([e])},[eU,eI,H,ed,el]),{encodedTxs:eW,error:eG,gasEstimationRevertedError:eB,status:eY}=(0,h.useEncodeTransactions)({builder:ej,chainId:x.POLYGON_CHAIN_ID,estimateEnabled:!ev,executionIntent:"eoa"}),eH=!!eG||!eW||"encoding"===eY||!!eB;(0,n.useEffect)(()=>{G||(em(""),ef(void 0),eh(null),eS(""),eE(!1),ew("idle"))},[G]);let ez=(0,n.useCallback)(async e=>{if(H&&en&&ex&&eD){ew("wrapping");try{await ex.waitForTransactionReceipt({confirmations:1,hash:e});let t=await ex.readContract({abi:i.erc20Abi,address:x.USDC_POLYGON_ADDRESS,args:[H],functionName:"balanceOf"});for(let e of[1e3,2e3,4e3]){if(t>0n)break;await new Promise(t=>setTimeout(t,e)),t=await ex.readContract({abi:i.erc20Abi,address:x.USDC_POLYGON_ADDRESS,args:[H],functionName:"balanceOf"})}if(t<=0n){w.default.warn("Post-deposit auto-wrap: balance still 0 after receipt + retries",{context:"PolymarketDeposit",depositHash:e,proxyWalletAddress:H}),eb.current&&ew("failed");return}await (0,b.wrapUsdcEOnProxy)(ex,eD,H,en,t),eb.current&&ew("wrapped"),V()}catch(e){w.default.warn("Post-deposit auto-wrap failed",{context:"PolymarketDeposit",error:e instanceof Error?e.message:String(e)}),eb.current&&ew("failed")}}},[en,ex,eD,H,V]),eV=async()=>{if(!en)return void ef("error-wallet-not-connected");if(et!==x.POLYGON_CHAIN_ID)return void ef("eoa-wrong-network");if(!eU||!eW)return;eE(!0),ef(void 0),eh(null),ew("idle");let e=eu("predictr-deposit",{amount:ed,chainId:x.POLYGON_CHAIN_ID,symbol:"USDC.e",usdValue:ed}),t=t=>{if(eE(!1),(0,D.handleRelayerTimeout)(t,eh)){var a,r;eo(null!=(r=null==(a=(0,D.asPendingTransaction)(t))?void 0:a.sent.hash)?r:"",e);return}ef((0,O.getErrorKey)(t)),es(t,e)};try{await ei(eW,{onError:t,onSuccess:t=>{eS(t),V(),ec(t,e),en&&eI&&(0,I.injectTokenBalance)({chainId:eI.chainId,decimals:eI.decimals,injectToken:er,quoteRate:eI.quoteRate,symbol:eI.symbol,tokenAddress:(0,l.getAddress)(eI.address),walletAddress:(0,l.getAddress)(en)}),ez(t)},pricedEoa:{chainId:x.POLYGON_CHAIN_ID}})}catch(e){t(e)}},eK=!eN&&(eP||eM||!!eg||eR||!!eB||!eU&&!ep);return"DEPOSIT_WALLET"===z?(0,t.jsx)(N.ModalContainer,{className:N.PANEL_MODAL_CLASS,modalIsOpen:G,onRequestClose:B,sectionWrapper:!1,showClose:!1,children:(0,t.jsx)(W.PolymarketDepositWalletFunding,{isOpen:G,onClose:B})}):(0,t.jsx)(N.ModalContainer,{className:N.PANEL_MODAL_CLASS,closeOnEscape:!eP,disableClickOutside:eP,modalIsOpen:G,onRequestClose:B,sectionWrapper:!1,showClose:!1,children:(0,t.jsxs)(k.ActionPanel,{className:"mx-auto w-[360px]",children:[(0,t.jsx)(k.ActionPanel.Card,{onClose:B,showClose:!eP,title:"Deposit",children:H?!1===Z?(0,t.jsxs)(k.ActionPanel.Section,{className:"py-6",children:[(0,t.jsx)("p",{className:"text-text-primary text-sm font-medium",children:"Activate your Polymarket account first"}),(0,t.jsx)("p",{className:"text-text-secondary mt-2 text-sm",children:"One signature deploys your on-chain account and grants the V2 approvals. You'll pay ~$0.50 of POL for gas. After that, deposits work normally."}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-3",children:[(0,t.jsx)("button",{className:"bg-brand-blue-300 text-brand-blue-950 rounded-lg px-4 py-2 text-sm font-semibold transition-opacity hover:opacity-90 disabled:opacity-50",disabled:J,onClick:async()=>{try{await Q()}catch(e){}},type:"button",children:J?"Activating...":"Activate now"}),(0,t.jsx)("button",{className:"text-text-secondary hover:text-text-primary curs
1or-pointer text-sm underline disabled:cursor-not-allowed disabled:opacity-50",disabled:J,onClick:()=>{B(),$()},type:"button",children:"Bridge instead"}),(0,t.jsx)("a",{className:"text-text-secondary hover:text-text-primary text-sm underline",href:"https://polymarket.com",rel:"noreferrer",target:"_blank",children:"polymarket.com"})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(k.ActionPanel.Content,{children:[(0,t.jsx)("div",{className:"-mx-5 -mt-5 flex items-center justify-between px-5 pb-8 pt-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(P.CryptoLogo,{address:x.USDC_POLYGON_ADDRESS,chainId:x.POLYGON_CHAIN_ID,name:"USDC",size:36}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"USDC"}),(0,t.jsx)("div",{className:"text-text-tertiary text-xs",children:(0,M.shortHash)(x.USDC_POLYGON_ADDRESS)})]})]})}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("input",{autoComplete:"off",className:"text-text-primary placeholder-text-tertiary w-full bg-transparent text-2xl font-light outline-none",disabled:eP||eC,onChange:e=>{let t=e.target.value;(""===t||/^\d*\.?\d*$/.test(t))&&em(t)},placeholder:"0.00",type:"text",value:ed}),(0,t.jsx)("button",{className:"bg-light-50 border-light-100 text-light-950 hover:bg-light-100 cursor-pointer rounded-full border px-2.5 py-1.5 text-xs font-medium leading-[100%] transition-colors",onClick:()=>{(null==eI?void 0:eI.balance)&&em(eI.balance)},type:"button",children:"Max"})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-text-tertiary text-xs",children:ed&&"."!==ed&&(0,a.default)(ed).gt(0)&&(null==eI?void 0:eI.quoteRate)?"~$".concat((0,a.default)(ed).times(eI.quoteRate).round(2).toFixed()):""}),(0,t.jsxs)("span",{className:"text-text-tertiary text-xs",children:["Balance:"," ",(0,t.jsx)("span",{className:"text-text-primary",children:(null==eI?void 0:eI.balance)||"0"})]})]}),(0,t.jsx)("div",{className:"border-neutral-grey-300 -mx-5 mt-5 flex items-center justify-center border-t",children:(0,t.jsx)("div",{className:"bg-surface-tertiary -mt-3.5 flex size-7 items-center justify-center rounded-lg",children:(0,t.jsx)(C.Icon,{className:"text-text-secondary size-4",name:"sort"})})}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(P.CryptoLogo,{name:"polymarket",size:36}),(0,t.jsx)(P.CryptoLogo,{chainId:x.POLYGON_CHAIN_ID,className:"ring-surface-secondary absolute -right-0.5 bottom-[5px] ring-2",name:"Polygon",size:14})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"Predictr Account"}),(0,t.jsx)("div",{className:"text-text-tertiary text-xs",children:(0,M.shortHash)(H)})]})]}),(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-text-secondary text-xs",children:"Balance"}),(0,t.jsxs)("div",{className:"text-text-primary text-sm font-medium",children:["$",eT]}),ek&&(0,t.jsxs)("div",{className:"text-text-tertiary mt-0.5 text-[10px] leading-tight",children:["incl. ",e_," USDC.e to wrap"]})]})]})]}),(0,t.jsx)(k.ActionPanel.Details,{children:(0,t.jsx)(d.default,{disabled:eH,transactions:eW||[]})})]}):(0,t.jsxs)(k.ActionPanel.Section,{className:"py-8 text-center",children:[(0,t.jsx)("div",{className:"text-text-tertiary mb-2",children:"Loading..."}),(0,t.jsx)("p",{className:"text-text-secondary text-sm",children:"Deriving your Predictr account address..."})]})}),eB&&(0,t.jsx)(_.Alert,{variant:"error",children:Y((0,A.getGasRevertMessageKey)(eB))}),ep&&(0,t.jsx)(_.Alert,{variant:"error",children:Y(ep)}),eg&&(0,t.jsx)(_.Alert,{variant:"warning",children:eg}),eR&&(0,t.jsx)(_.Alert,{loading:!0,variant:"info",children:"Wrapping USDC.e to pUSD â confirm in your wallet if prompted"}),eC&&"failed"===eA&&(0,t.jsx)(_.Alert,{variant:"warning",children:"Couldn't wrap to pUSD automatically â we'll wrap it on your next trade."}),H&&(0,t.jsx)(k.ActionPanel.Actions,{children:(0,t.jsxs)(k.ActionPanel.Button,{disabled:eK,onClick:()=>eN?B():ep?void(ef(void 0),eE(!1),eV()):eV(),status:eN?"success":eP||eR?"loading":void 0,children:[(eP||eR)&&(0,t.jsx)(R.LoadingCircle,{className:"mr-2 size-4"}),eN&&(0,t.jsx)(C.Icon,{className:"mr-2 size-4",name:"checkmark-circle"}),(()=>{var e;return ep?Y(ep):eR?"Wrapping to pUSD":eN?"Deposited":eg?"Processing":eP?"Confirming":null!=(e=(0,U.getDepositDisabledReason)({hasAmount:eL,insufficientBalance:eF,wrongNetwork:eM}))?e:"Deposit"})()]})})]})})}},241676,e=>{"use strict";e.s(["PolymarketWithdrawModal",()=>T]);var t=e.i(4095),a=e.i(756601),r=e.i(240334),n=e.i(734071);e.i(323700);var i=e.i(497820),l=e.i(540108),s=e.i(36121),o=e.i(650105),c=e.i(845721),u=e.i(602378),d=e.i(536027),m=e.i(444914),p=e.i(913146),f=e.i(814458);e.i(634021);var g=e.i(390409);e.i(2352);var h=e.i(182354);e.i(929951);var y=e.i(670621),S=e.i(523085);e.i(542060);var v=e.i(882160),E=e.i(480707),A=e.i(213237),w=e.i(713491),b=e.i(518022),x=e.i(814764),D=e.i(545314);let T=e=>{let{isOpen:T,onClose:k}=e,_=(0,a.useTranslations)(),{injectToken:P}=(0,c.default)(),{eoaAddress:C}=(0,u.useEoaWalletClient)(),{refreshBalance:R,usdcBalance:N,usdcEBalance:O}=(0,i.usePolymarketBalance)(),{positions:I}=(0,l.usePolymarketPositions)(),{isWithdrawing:L,resetStatus:M,status:F,transferUsdc:U,withdraw:j}=(0,s.usePolymarketWithdraw)(),{checkV2Setup:W,isApproving:G,setupV2:B,v2SetupNeeded:Y}=(0,D.usePolymarketContext)(),{isDepositWalletUser:H,isSettingUp:z,setup:V}=(0,o.useDepositWallet)(),K=G||z,{markFailed:q,markPendingConfirmation:X,markSuccess:J,startToastTransaction:$}=(0,d.default)(),[Z,Q]=(0,r.useState)("select"),[ee,et]=(0,r.useState)(""),[ea,er]=(0,r.useState)(null),[en,ei]=(0,r.useState)(""),[el,es]=(0,r.useState)(),[eo,ec]=(0,r.useState)(null),eu=(0,f.totalAvailableCollateral)(N,O),ed=(0,f.formatUsdcBalance)(eu),em=eu>0n,ep="success"===F,ef=(0,r.useMemo)(()=>{let e=new Map;I.forEach(t=>{let a=e.get(t.conditionId)||[];e.set(t.conditionId,[...a,t])});let t=[];return e.forEach((e,a)=>{let r=e.find(e=>{var t;return(null==(t=e.outcome)?void 0:t.toUpperCase())==="YES"}),n=e.find(e=>{var t;return(null==(t=e.outcome)?void 0:t.toUpperCase())==="NO"});if(r&&n&&"boolean"==typeof r.negRisk){if(H&&r.negRisk)return;let e=parseFloat(r.size||"0"),i=parseFloat(n.size||"0"),l=Math.min(e,i);l>0&&t.push({conditionId:a,market:r.market||"Unknown Market",mergeableAmou
1nt:l,negRisk:r.negRisk,noSize:i,yesSize:e})}}),t},[I,H]),eg=ef.length>0,eh=(0,r.useMemo)(()=>{if(!ee)return!1;let e=parseFloat(ee);return!isNaN(e)&&!(e<=0)&&e>(O?Number(O)/1e6:0)},[ee,O]);(0,r.useEffect)(()=>{T&&("merge"===Z||"transfer"===Z)&&W()},[T,Z,W]);let ey="merge"===Z&&!0===Y||"transfer"===Z&&!0===Y&&eh,eS=("merge"===Z||"transfer"===Z&&eh)&&null===Y;(0,r.useEffect)(()=>{T||(Q("select"),et(""),er(null),ei(""),es(void 0),ec(null),M())},[T,M]);let ev=parseFloat(ee)>0,eE=parseFloat(ee)>Number(eu)/1e6,eA=parseFloat(en)>0,ew=!!ea&&parseFloat(en)>ea.mergeableAmount,eb=(0,r.useMemo)(()=>!!C&&ev&&!eE,[C,ev,eE]),ex=(0,r.useMemo)(()=>!!ea&&eA&&!ew,[ea,eA,ew]),eD=(0,r.useCallback)(()=>{Q("select"),et(""),er(null),ei(""),es(void 0),ec(null),M()},[M]),eT=(0,r.useCallback)(async()=>{if(!eb||!C)return;ec(null);let e=$("predictr-withdraw",{amount:ee,chainId:m.POLYGON_CHAIN_ID,symbol:"USDC.e",usdValue:ee});try{let t=await U(C,ee);R(),J(null!=t?t:"",e),C&&(0,w.injectTokenBalance)({chainId:m.POLYGON_CHAIN_ID,decimals:6,injectToken:P,name:"USDC.e",quoteRate:1,symbol:"USDC.e",tokenAddress:(0,n.getAddress)(m.USDC_POLYGON_ADDRESS),walletAddress:(0,n.getAddress)(C)})}catch(r){if((0,p.handleRelayerTimeout)(r,ec)){var t,a;X(null!=(a=null==(t=(0,p.asPendingTransaction)(r))?void 0:t.sent.hash)?a:"",e);return}es((0,A.getErrorKey)(r)),q(r,e)}},[eb,U,C,ee,R,$,J,q,X,P]),ek=(0,r.useCallback)(async()=>{if(!ex||!ea)return;ec(null);let e=$("predictr-merge",{amount:en,chainId:m.POLYGON_CHAIN_ID,market:ea.market,usdValue:en});try{let t=await j(ea.conditionId,en,ea.negRisk);R(),J(null!=t?t:"",e)}catch(r){if((0,p.handleRelayerTimeout)(r,ec)){var t,a;X(null!=(a=null==(t=(0,p.asPendingTransaction)(r))?void 0:t.sent.hash)?a:"",e);return}es((0,A.getErrorKey)(r)),q(r,e)}},[ex,ea,j,en,R,$,J,q,X]),e_=(0,r.useCallback)(()=>{eu>0n&&et((0,f.formatUsdcBalance)(eu))},[eu]),eP=(0,r.useCallback)(()=>{ea&&ei(ea.mergeableAmount.toString())},[ea]),eC=(0,r.useCallback)(async()=>{es(void 0),ec(null);try{H?(await V(),await W()):await B()}catch(e){if((0,p.handleRelayerTimeout)(e,ec))return void W();es((0,A.getErrorKey)(e))}},[H,V,W,B]),eR=!ep&&(L||K||eS||!!eo||!ey&&!el&&("transfer"===Z?!eb:!ex));return(0,t.jsx)(E.ModalContainer,{className:E.PANEL_MODAL_CLASS,closeOnEscape:!L,disableClickOutside:L,modalIsOpen:T,onRequestClose:k,sectionWrapper:!1,showClose:!1,children:(0,t.jsxs)(g.ActionPanel,{className:"mx-auto w-[360px]",children:[(0,t.jsxs)(g.ActionPanel.Card,{iconLeft:"select"!==Z?"back":void 0,onClose:k,onIconLeftClick:"select"!==Z?eD:void 0,showClose:!L,title:"transfer"===Z?"Withdraw USDC.e":"merge"===Z?"Merge Positions":"Withdraw",children:["select"===Z&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(g.ActionPanel.Section,{children:[(0,t.jsx)("div",{className:"text-text-secondary text-sm",children:"Available Balance"}),(0,t.jsxs)("div",{className:"text-text-primary mt-1 text-2xl font-semibold",children:["$",ed]})]}),(0,t.jsxs)(g.ActionPanel.Section,{className:"flex flex-col gap-2",children:[(0,t.jsxs)("button",{className:"bg-surface-secondary hover:bg-light-50 border-border-secondary w-full cursor-pointer rounded-xl border p-4 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-50",disabled:!em,onClick:()=>Q("transfer"),type:"button",children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"Withdraw USDC.e"}),(0,t.jsx)("div",{className:"text-text-secondary mt-0.5 text-xs",children:"Send USDC.e from Predictr to your wallet"})]}),(0,t.jsxs)("button",{className:"bg-surface-secondary hover:bg-light-50 border-border-secondary w-full cursor-pointer rounded-xl border p-4 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-50",disabled:!eg,onClick:()=>Q("merge"),type:"button",children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"Merge Positions"}),(0,t.jsx)("div",{className:"text-text-secondary mt-0.5 text-xs",children:eg?"".concat(ef.length," position(s) can be merged back to USDC"):"No positions available to merge (need equal YES and NO tokens)"})]})]})]}),"transfer"===Z&&(0,t.jsxs)(g.ActionPanel.Content,{children:[(0,t.jsx)("div",{className:"-mx-5 -mt-5 flex items-center justify-between px-5 pb-8 pt-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(y.CryptoLogo,{address:m.USDC_POLYGON_ADDRESS,chainId:m.POLYGON_CHAIN_ID,name:"USDC",size:36}),(0,t.jsx)(y.CryptoLogo,{chainId:m.POLYGON_CHAIN_ID,className:"ring-surface-secondary absolute -right-0.5 bottom-[5px] ring-2",name:"Polygon",size:14})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"USDC"}),(0,t.jsx)("div",{className:"text-text-tertiary text-xs",children:(0,b.shortHash)(m.USDC_POLYGON_ADDRESS)})]})]})}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("input",{autoComplete:"off",className:"text-text-primary placeholder-text-tertiary w-full bg-transparent text-2xl font-light outline-none",disabled:L||ep,onChange:e=>{let t=e.target.value;(""===t||/^\d*\.?\d*$/.test(t))&&et(t)},placeholder:"0.00",type:"text",value:ee}),(0,t.jsx)("button",{className:"bg-light-50 border-light-100 text-light-950 hover:bg-light-100 cursor-pointer rounded-full border px-2.5 py-1.5 text-xs font-medium leading-[100%] transition-colors",onClick:e_,type:"button",children:"Max"})]}),(0,t.jsxs)("div",{className:"mt-2 flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-text-tertiary text-xs",children:ee&&parseFloat(ee)>0?"~$".concat(ee):""}),(0,t.jsxs)("span",{className:"text-text-tertiary text-xs",children:["Balance:"," ",(0,t.jsx)("span",{className:"text-text-primary",children:ed})]})]}),(0,t.jsx)("div",{className:"border-neutral-grey-300 -mx-5 mt-5 flex items-center justify-center border-t",children:(0,t.jsx)("div",{className:"bg-surface-tertiary -mt-3.5 flex size-7 items-center justify-center rounded-lg",children:(0,t.jsx)(S.Icon,{className:"text-text-secondary size-4",name:"sort"})})}),(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"bg-surface-tertiary flex size-9 items-center justify-center rounded-full",children:(0,t.jsx)(S.Icon,{className:"text-text-primary size-5",name:"wallet"})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:"Main Wallet"}),(0,t.jsx)("div",{className:"text-text-tertiary text-xs",children:C?(0,b.shortHash)(C):"Loading..."})]})]})})]}),"merge"===Z&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.ActionPanel.Section,{children:(0,t.jsx)("p",{className:"text-text-secondary text-xs",children:"Merging converts equal amounts of YES and NO tokens back to USDC. Select a position to merge."})}),(0,t.jsx)(g.ActionPanel.Section,{className:"flex flex-col gap-2",children:ef.map(e=>(0,t.jsxs)("button",{className:"bg-surface-secondary border-border-secondary w-full cursor-pointer rounded-xl border p-4 text-left transition-colors ".concat((null==ea?void 0:ea.conditionId)===e.conditionId?"ring-brand-primary ring-2":"hover:bg-light-50"),onClick:()=>
1{er(e),ei(e.mergeableAmount.toString())},type:"button",children:[(0,t.jsx)("div",{className:"text-text-primary text-sm font-medium",children:e.market}),(0,t.jsxs)("div",{className:"text-text-secondary mt-1 text-xs",children:["Mergeable: ",e.mergeableAmount.toFixed(2)," shares = $",e.mergeableAmount.toFixed(2)," USDC"]}),(0,t.jsxs)("div",{className:"text-text-tertiary mt-1 text-xs",children:["YES: ",e.yesSize.toFixed(2)," | NO:"," ",e.noSize.toFixed(2)]})]},e.conditionId))}),ea&&(0,t.jsx)(g.ActionPanel.Content,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("input",{autoComplete:"off",className:"text-text-primary placeholder-text-tertiary w-full bg-transparent text-2xl font-light outline-none",disabled:L||ep,onChange:e=>{let t=e.target.value;(""===t||/^\d*\.?\d*$/.test(t))&&ei(t)},placeholder:"0.00",type:"text",value:en}),(0,t.jsx)("button",{className:"bg-light-50 border-light-100 text-light-950 hover:bg-light-100 cursor-pointer rounded-full border px-2.5 py-1.5 text-xs font-medium leading-[100%] transition-colors",onClick:eP,type:"button",children:"Max"})]})})]})]}),!ep&&ey&&(0,t.jsx)(h.Alert,{variant:"info",children:"transfer"===Z?"One-time setup: approve Polymarket V2 contracts to unwrap pUSD into USDC.e for withdrawal.":"One-time setup: approve Polymarket V2 contracts to merge your positions back to USDC."}),!em&&!eg&&"select"===Z&&(0,t.jsx)(h.Alert,{variant:"info",children:"No funds available to withdraw. Trade on markets to build positions, then sell them to convert back to USDC."}),el&&(0,t.jsx)(h.Alert,{variant:"error",children:_(el)}),eo&&(0,t.jsx)(h.Alert,{variant:"warning",children:eo}),"select"!==Z&&(0,t.jsx)(g.ActionPanel.Actions,{children:(0,t.jsxs)(g.ActionPanel.Button,{disabled:eR,onClick:()=>ep?k():ey?eC():(el&&es(void 0),"transfer"===Z?eT():ek()),status:ep?"success":L||K||eS?"loading":void 0,children:[(L||K||eS)&&(0,t.jsx)(v.LoadingCircle,{className:"mr-2 size-4"}),ep&&(0,t.jsx)(S.Icon,{className:"mr-2 size-4",name:"checkmark-circle"}),(()=>{var e,t;return ep?"transfer"===Z?"Withdrawn":"Merged":ey?K?"Setting up":"Set up Polymarket":eS?"Checking":el?_(el):L?"Processing":"transfer"===Z?null!=(e=(0,x.getWithdrawTransferDisabledReason)({exceedsBalance:eE,hasAmount:ev}))?e:"Withdraw":null!=(t=(0,x.getWithdrawMergeDisabledReason)({exceedsMergeable:ew,hasAmount:eA,hasPosition:!!ea}))?t:"Confirm Merge"})()]})})]})})}},545314,e=>{"use strict";e.s(["PolymarketProvider",()=>v,"usePolymarketContext",()=>S]);var t=e.i(4095);e.i(66367);var a=e.i(191614),r=e.i(240334);e.i(323700);var n=e.i(842611),i=e.i(267608),l=e.i(497820),s=e.i(181177),o=e.i(531483);e.i(918636);var c=e.i(566239),u=e.i(925199),d=e.i(444914),m=e.i(419755),p=e.i(152791),f=e.i(869047),g=e.i(483519),h=e.i(241676);let y=(0,r.createContext)(null),S=()=>{let e=(0,r.useContext)(y);if(!e)throw Error("usePolymarketContext must be used within a PolymarketProvider");return e},v=e=>{let{children:S}=e,{primaryWallet:v}=(0,a.useDynamicContext)(),E=(0,u.useLogin)(),{isAuthenticated:A,proxyWalletAddress:w,walletType:b}=(0,i.usePolymarketAuth)(),{refreshBalance:x}=(0,l.usePolymarketBalance)(),{canClose:D,isGeoBlocked:T,tier:k}=(0,s.usePolymarketGeoblock)(),{isTradingDown:_}=(0,o.usePolymarketStatus)(),{checkV2Setup:P,isApproving:C,pendingTx:R,safeIsDeployed:N,setupError:O,setupV2:I,speedUpSetup:L,v2SetupNeeded:M}=(0,n.usePolymarketAllowances)();(0,r.useEffect)(()=>{A&&P()},[A,P]);let{openSwapBridgeModal:F,swapBridgeModal:U}=(0,c.useSwapBridgeModal)(),[j,W]=(0,r.useState)(null),[G,B]=(0,r.useState)(null),[Y,H]=(0,r.useState)(!1),[z,V]=(0,r.useState)(!1),K=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(v&&K.current){let e=K.current;K.current=null,(0,p.runGatedAction)(e)}},[v]);let q=(0,r.useCallback)(e=>{var t;W(e),(null==e||null==(t=e.markets)?void 0:t.length)?B(e.markets[0]):B(null)},[]),X=(0,r.useCallback)(e=>{B(e)},[]),J=(0,r.useCallback)(e=>{if(!v){K.current=e,E();return}(0,p.runGatedAction)(e)},[v,E]),$=(0,r.useCallback)(()=>{J(()=>H(!0))},[J]),Z=(0,r.useCallback)(()=>H(!1),[]),Q=(0,r.useCallback)(()=>{J(()=>V(!0))},[J]),ee=(0,r.useCallback)(()=>V(!1),[]),et=(0,r.useCallback)(()=>{J(()=>{w&&F({allowedChains:m.supportedChains.map(e=>e.id),disableBridges:!1,disabledFields:["toToken"],onSwapComplete:()=>{x()},strategyName:"Predictr Account",toAddress:w,toChainId:d.POLYGON_CHAIN_ID,toToken:d.USDC_POLYGON_ADDRESS,toTokenAllowlist:[{address:d.USDC_POLYGON_ADDRESS,chainId:d.POLYGON_CHAIN_ID}]})})},[w,F,x,J]);return(0,t.jsx)(y.Provider,{value:{canClose:D,checkV2Setup:P,closeDepositModal:Z,closeWithdrawModal:ee,geoTier:k,isApproving:C,isDepositModalOpen:Y,isGeoBlocked:T,isTradingDown:_,isWithdrawModalOpen:z,openDepositModal:$,openLiFiBridgeModal:et,openWithdrawModal:Q,pendingSetupTx:R,requireWalletConnection:J,safeIsDeployed:N,selectedEvent:j,selectedMarket:G,selectEvent:q,selectMarket:X,setupV2:I,setupV2Error:O,speedUpSetup:L,v2SetupNeeded:M,walletType:b},children:(0,t.jsxs)(g.PolymarketPriceProvider,{children:[S,(0,t.jsx)(f.PolymarketDepositModal,{isOpen:Y,onClose:Z}),(0,t.jsx)(h.PolymarketWithdrawModal,{isOpen:z,onClose:ee}),U]})})}},34676,e=>{"use strict";e.s(["resolveActivationErrorMessage",()=>i,"resolveV2SetupError",()=>n]);var t=e.i(265849),a=e.i(913146),r=e.i(968500);let n=e=>e?(0,r.isUserRejectionError)(e)?"You declined the signature request.":(0,r.isInsufficientFundsError)(e)?a.INSUFFICIENT_POL_MESSAGE:(0,t.isPendingTransaction)(e)?t.PENDING_TRANSACTION_MESSAGE:(0,r.isWalletRpcUnauthorizedError)(e)?a.WALLET_RPC_UNAVAILABLE_MESSAGE:"Setup failed. Please try again.":null,i=(e,t)=>e?t?(0,a.createPolymarketUserFriendlyErrorMessage)(e):n(e):null},395369,e=>{"use strict";e.s(["OptionsBar",()=>c]);var t=e.i(4095),a=e.i(240334);e.i(375956);var r=e.i(635745),n=e.i(523085),i=e.i(477943);let l=(0,a.createContext)(void 0),s=e=>{let{children:a,className:r}=e;return(0,t.jsx)("span",{className:(0,i.twMerge)("text-text-primary shrink-0 whitespace-nowrap rounded-[10px] px-2 py-2 text-sm font-medium tracking-[-0.28px]",r),children:a})};s.displayName="OptionsBarLabel";let o=e=>{let{active:s,children:o,className:c,href:u,icon:d,LinkComponent:m,value:p}=e,f=(0,a.useContext)(l);if(!f)throw Error("OptionsBar.Option must be used within OptionsBar");let{onValueChange:g,value:h}=f,y=null!=s?s:h===p,S=(0,i.twMerge)("flex shrink-0 cursor-pointer items-center gap-1.5 rounded-[10px] px-3 py-2 text-sm font-medium tracking-[-0.28px] whitespace-nowrap transition-colors",y?"bg-surface-tertiary text-text-primary":"text-text-primary/40 hover:text-text-primary/60",c),v=(0,t.jsxs)(t.Fragment,{children:[d&&(0,t.jsx)(n.Icon,{className:"size-4",name:d}),o]});if(u){let e=m||r.HtmlLink;return(0,t.jsx)(e,{className:S,href:u,children:v})}return(0,t.jsx)("button",{className:S,onClick:()=>g(p),type:"button",children:v})};o.displayName="OptionsBarOption";
1let c=e=>{let{children:r,className:n,contentRef:s,contentStyle:o,onValueChange:c,scrollable:u,separator:d,value:m}=e;return(0,t.jsx)(l.Provider,{value:{onValueChange:c,value:m},children:(0,t.jsx)("div",{className:(0,i.twMerge)("border-border-primary inline-flex items-center rounded-[14px] border p-1.5",u&&"flex w-full",n),children:(0,t.jsx)("div",{className:(0,i.twMerge)("flex min-w-0 items-center gap-0.5",u&&"no-scrollbar flex-1 overflow-x-auto"),ref:s,style:o,children:d?a.Children.toArray(r).map((e,r,n)=>(0,t.jsxs)(a.Fragment,{children:[e,r<n.length-1&&(0,t.jsx)("div",{className:"bg-border-primary h-5 w-px shrink-0"})]},r)):r})})})};c.Label=s,c.Option=o,c.displayName="OptionsBar"},930206,e=>{"use strict";e.s(["SearchInput",()=>n]);var t=e.i(4095);e.i(714548);var a=e.i(523085),r=e.i(477943);let n=e=>{let{className:n,inputClassName:i,onQueryChange:l,placeholder:s,query:o,...c}=e;return(0,t.jsxs)("div",{className:(0,r.twMerge)("border-neutral-grey-200 bg-neutral-grey-100 focus-within:border-neutral-grey-300 flex h-9 shrink-0 items-center gap-1.5 rounded-[10px] border px-2.5 transition-colors",n),children:[(0,t.jsx)(a.Icon,{className:"text-light-500 size-4 shrink-0",name:"search-intelligence"}),(0,t.jsx)("input",{"aria-label":s,className:(0,r.twMerge)("text-light-950 placeholder-light-500 w-full min-w-0 bg-transparent text-sm font-medium outline-none",i),onChange:e=>l(e.target.value),placeholder:s,type:"text",value:o,...c})]})}},692741,e=>{"use strict";e.s([]),e.i(930206)},199701,e=>{"use strict";e.s(["LIVE_CATEGORIES_KEY",()=>t,"titleCaseSlug",()=>a]);let t="/api/polymarket/categories",a=e=>e.split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")},844416,e=>{"use strict";e.s(["CATEGORY_SKELETON_WIDTHS",()=>t,"CRYPTO_ASSET_TAGS",()=>i,"CRYPTO_TYPE_TAGS",()=>l,"CRYPTO_WINDOW_TAGS",()=>s,"categoryTitle",()=>r,"splitCategoryTabs",()=>a]),e.i(199701);let t=["w-14","w-12","w-16","w-10","w-20"],a=(e,t,a)=>{let r=e.slice(0,a),n=e.slice(a),i=n.findIndex(e=>e.slug===t);if(-1===i||!r.length)return{overflow:n,visible:r};let l=r[r.length-1];return{overflow:n.map((e,t)=>t===i?l:e),visible:[...r.slice(0,-1),n[i]]}},r=e=>"".concat(e," Markets"),n="https://polymarket-upload.s3.us-east-2.amazonaws.com",i=[{iconUrl:"".concat(n,"/BTC+fullsize.png"),label:"Bitcoin",slug:"bitcoin"},{iconUrl:"".concat(n,"/ETH+fullsize.jpg"),label:"Ethereum",slug:"ethereum"},{iconUrl:"".concat(n,"/SOL+fullsize.png"),label:"Solana",slug:"solana"},{iconUrl:"".concat(n,"/XRP-logo.png"),label:"XRP",slug:"xrp"},{iconUrl:"".concat(n,"/dogecoin-9ae840dfa3.png"),label:"Dogecoin",slug:"dogecoin"},{iconUrl:"".concat(n,"/bnb%20logo-247a9f7a39.png"),label:"BNB",slug:"bnb"},{iconUrl:"".concat(n,"/hyperliquid-16f0eafaeb.png"),label:"HYPE",slug:"hype"}],l=[{label:"Up / Down",slug:"up-or-down"},{label:"5m",slug:"5M"},{label:"15m",slug:"15M"},{label:"1h",slug:"1H"},{label:"4h",slug:"4h"}],s=[{label:"5 Min",slug:"5M"},{label:"15 Min",slug:"15M"},{label:"1 Hour",slug:"1H"},{label:"4 Hours",slug:"4h"},{label:"Daily",slug:"daily"},{label:"Weekly",slug:"weekly"},{label:"Monthly",slug:"monthly"},{label:"Yearly",slug:"yearly"}]},945356,e=>{"use strict";e.s(["getActiveFeatured",()=>a,"getNextBoundary",()=>n,"isFeaturedEventLive",()=>r]),e.i(387516);var t=e.i(903691);let a=(e,t)=>t.filter(t=>((e,t)=>{let a=t.getTime();return!!((void 0===e.startsAt||Date.parse(e.startsAt)<=a)&&(void 0===e.endsAt||a<Date.parse(e.endsAt)))})(t,e)).sort((e,t)=>e.ranking-t.ranking),r=e=>!e||!e.closed&&e.active&&!(0,t.isEventEnded)(e),n=(e,t)=>{let a=e.getTime(),r=t.flatMap(e=>[e.startsAt,e.endsAt]).filter(e=>void 0!==e).map(e=>Date.parse(e)).filter(e=>Number.isFinite(e)&&e>a).sort((e,t)=>e-t)[0];return void 0===r?void 0:new Date(r)}},382150,e=>{"use strict";e.s(["useFeaturedContent",()=>c]);var t=e.i(240334),a=e.i(737668),r=e.i(773358);e.i(387516);var n=e.i(931707),i=e.i(444914),l=e.i(945356),s=e.i(213237);let o=[],c=()=>{let[e,c]=(0,t.useState)(0),{data:u,error:d,isLoading:m}=(0,a.default)("/api/predictr/featured",s.fetcher,{refreshInterval:3e5}),p=null!=u?u:o,f=(0,t.useMemo)(()=>(0,l.getActiveFeatured)(new Date,p),[p,e]);(0,t.useEffect)(()=>{let e=(0,l.getNextBoundary)(new Date,p);if(!e)return;let t=setTimeout(()=>c(e=>e+1),Math.min(Math.max(e.getTime()-Date.now()+500,1e3),864e5));return()=>clearTimeout(t)},[p,e]);let g=(0,t.useMemo)(()=>[...new Set(f.map(e=>e.eventSlug).filter(e=>!!e))],[f]),{data:h,error:y,isLoading:S}=(0,a.default)(g.length>0?["predictr-featured-heroes",g.join(",")]:null,()=>Promise.allSettled(g.map(n.fetchEventBySlug)).then(e=>e.map((e,t)=>{if("fulfilled"===e.status)return e.value;r.default.warn("Featured hero event failed to load",{context:"Predictr",error:e.reason instanceof Error?e.reason.message:String(e.reason),slug:g[t]})})),{refreshInterval:i.TIMING.MARKETS_REFRESH_INTERVAL}),{banners:v,eventTabs:E,heroes:A}=(0,t.useMemo)(()=>{let e=new Map((null!=h?h:[]).map((e,t)=>[g[t],e])),t=t=>t.eventSlug?e.get(t.eventSlug):void 0,a=f.filter(e=>(0,l.isFeaturedEventLive)(t(e)));return{banners:a.filter(e=>"BANNER"===e.kind),eventTabs:a.filter(e=>"EVENT_TAB"===e.kind&&null!=e.tagId&&null!=e.title).map(e=>{var t;return{label:null!=(t=e.title)?t:"",tagId:e.tagId}}),heroes:a.filter(e=>"HERO"===e.kind).map(e=>({entry:e,event:t(e)}))}},[f,h,g]);return{banners:v,error:null!=d?d:y,eventTabs:E,heroes:A,isLineupLoaded:void 0!==u,isLoading:m||g.length>0&&S}}},663549,e=>{"use strict";e.s(["useLiveCategories",()=>i]);var t=e.i(240334),a=e.i(737668),r=e.i(199701),n=e.i(213237);let i=()=>{let{data:e,isLoading:i}=(0,a.default)(r.LIVE_CATEGORIES_KEY,n.fetcher,{revalidateOnFocus:!1,shouldRetryOnError:!1}),l=(0,t.useMemo)(()=>{var t;return[...null!=(t=null==e?void 0:e.categories)?t:[]].sort((e,t)=>
1{var a,r;return(null!=(a=t.count)?a:-1)-(null!=(r=e.count)?r:-1)}).map(e=>{let{label:t,slug:a}=e;return{label:t,slug:a}})},[e]);return{categories:l,isLoading:0===l.length&&i}}},636154,e=>{"use strict";e.s(["useLiveFiveMinMarkets",()=>n]);var t=e.i(240334);e.i(323700);var a=e.i(135626);e.i(387516);var r=e.i(903691);let n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,n=(0,t.useMemo)(()=>new Date().toISOString(),[]),{error:i,events:l,isLoading:s}=(0,a.usePolymarketMarkets)({active:!0,ascending:!0,closed:!1,endDateMin:n,limit:20,order:"endDate",refreshInterval:1e4,sortKey:"live-5m",tagSlug:"5M"});return{error:i,events:(0,t.useMemo)(()=>(0,r.collapseRecurringSeries)(l.filter(e=>!(0,r.isEventEnded)(e))).slice(0,e),[l,e]),isLoading:s}}},58148,e=>{"use strict";e.s(["useNewMarkets",()=>n]);var t=e.i(240334);e.i(323700);var a=e.i(135626);e.i(387516);var r=e.i(903691);let n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4,{error:n,events:i,isLoading:l}=(0,a.usePolymarketMarkets)({active:!0,closed:!1,limit:12,order:"startDate",sortKey:"new-rail"});return{error:n,events:(0,t.useMemo)(()=>(0,r.filterEventsForListing)(i).slice(0,e),[i,e]),isLoading:l}}},132735,e=>{"use strict";e.s(["useMarketParams",()=>r]);var t=e.i(346884),a=e.i(240334);let r=()=>{let e=(0,t.useRouter)(),r=(0,t.usePathname)(),n=(0,t.useSearchParams)(),i=(0,a.useRef)(null);(0,a.useEffect)(()=>{i.current=null},[n]);let l=(0,a.useCallback)(t=>{var a;let l=null!=(a=i.current)?a:new URLSearchParams(n.toString());for(let[e,a]of Object.entries(t))a?l.set(e,a):l.delete(e);i.current=l;let s=l.toString();e.replace(s?"".concat(r,"?").concat(s):r)},[e,r,n]);return{searchParams:n,setParams:l}}},728179,e=>{"use strict";e.s(["usePredictrMarkets",()=>n]);var t=e.i(240334);e.i(323700);var a=e.i(135626);e.i(387516);var r=e.i(903691);let n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{searchQuery:n="",tagSlug:i}
1=e,l=n.length>=2,{error:s,events:o,isLoading:c}=(0,a.usePolymarketMarkets)({active:!0,closed:!1,enabled:!l,limit:4,order:"volume24hr",tagSlug:i}),{error:u,isLoading:d,results:m}=(0,a.usePolymarketSearch)(n,{filterEnded:!0,sort:"volume",tagSlug:i}),p=(0,t.useMemo)(()=>(0,r.filterEventsForListing)(o),[o]),f=(0,t.useMemo)(()=>(0,r.filterEventsForListing)(m).slice(0,4),[m]);return l?{error:u,events:f,isLoading:d}:{error:s,events:p,isLoading:c}}},50370,e=>{"use strict";e.s(["useSportsLeagues",()=>r]);var t=e.i(737668),a=e.i(213237);let r=()=>{let{data:e,error:r,isLoading:n}=(0,t.default)("/api/polymarket/sports-tags",a.fetcher,{revalidateOnFocus:!1});return{error:r,isLoading:n,leagues:null!=e?e:[]}}},738963,e=>{"use strict";e.s([]),e.i(382150),e.i(663549),e.i(636154),e.i(58148),e.i(132735),e.i(728179),e.i(50370)}]);
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.