import{d7 as ge,cO as r,jj as Ee,d8 as le,cJ as C,db as T,jN as Me,jO as Re,jP as xe,iu as Ie,da as $e,dD as Pe,cH as fe,g1 as ke,jQ as Le,jR as _e,eX as ue,jS as je,jT as pe,jU as Ue,dX as We,fi as qe,jV as Ne,jW as Ke,jX as ze,jY as Ge,d9 as Qe,dq as Je,jZ as Ye,fW as He,eg as we,ej as Ve}from"./BC4hLSsA.js";import{u as H}from"./CEx-2nn-.js";import{u as Se}from"./C5gk3eml.js";import{f as ye,g as Xe}from"./Cfs8EhF3.js";import{b as Ze,s as et}from"./CSZeIc-n.js";import{u as tt}from"./B0xji2R-.js";import{u as at}from"./CaxhXa7Q.js";import{u as nt}from"./07UHYKGl.js";import{u as st}from"./4BB7aIR2.js";import{z as rt}from"./CLHigZFa.js";const Oe=()=>{const t=new Map,u=new Map,v=(o,c)=>{(u.get(o)||[]).forEach(n=>{n(c)})};return{subscribe:(o,c)=>{const e=u.get(o)||[];return e.push(c),u.set(o,e),function(){const d=(u.get(o)||[]).filter(l=>l!==c);d.length?u.set(o,d):u.delete(o)}},dispatch:(o,c)=>{let e=t.get(o);e!==void 0&&clearTimeout(e),e=setTimeout(()=>{t.delete(o),v(o,c)},200),t.set(o,e)}}},Be=Oe();function Fe(t,u,v){let m,s=0;return function(...o){const c=this,e=function(){m=void 0,s=0,t.apply(c,o)};v&&s++,m!==void 0&&clearTimeout(m),s>100?e():m=setTimeout(e,u)}}const ot=(t,u)=>{const v={subscribe:[],unsubscribe:[]},m=Fe(()=>{const o=[...v.subscribe],c=[...v.unsubscribe];v.subscribe=[],v.unsubscribe=[];const e={};o.forEach(d=>{e[d]?e[d]++:e[d]=1}),c.forEach(d=>{e[d]?e[d]--:e[d]=-1});const{subscribeWeights:n,unsubscribeWeights:h}=Object.keys(e).reduce((d,l)=>(e[l]>0?d.subscribeWeights[l]=e[l]:e[l]<0&&(d.unsubscribeWeights[l]=e[l]),d),{subscribeWeights:{},unsubscribeWeights:{}});Object.keys(n).length&&t(n),Object.keys(h).length&&u(h)},50);return(o,c)=>{m(),c.forEach(e=>{v[o].push(e)})}},Ce=Oe(),ut=ge("feedSocket",()=>{const{currentAzuroChain:t}=H(),u=r(()=>m.value=="OPEN"),v=r(()=>`${t.value.chain.socket}/feed`),{status:m,data:s,send:o,open:c,close:e}=Ee(v,{immediate:!0,autoConnect:!0,autoClose:!0,heartbeat:!1,autoReconnect:{retries:10,delay:500,onFailed:()=>{console.error("Azuro websocket connection failed after 10 retries")}},onConnected:()=>{console.log("Azuro websocket connected")},onDisconnected(n,h){console.log("Azuro websocket disconnected",h)},onError(n,h){console.log("Azuro websocket error",h)},onMessage(n,h){}});return{isSocketReady:u,lastReceivedData:s,send:o,open:c,close:e}}),Ae=ge("conditionUpdates",()=>{const{currentAzuroChain:t}=H(),u=ut(),{send:v}=u,{isSocketReady:m,lastReceivedData:s}=le(u),o=C({}),n=ot(b=>{if(!m.value)return;const f=[];Object.keys(b).forEach(i=>{typeof o.value[i]>"u"&&(f.push(i),o.value[i]=0),o.value[i]+=b[i]}),f.length&&v(JSON.stringify({event:"SubscribeConditions",data:{conditionIds:Object.keys(b),environment:t.value.chain.environment}}))},b=>{if(!m.value)return;const f=[];Object.keys(b).forEach(i=>{o.value[i]&&(o.value[i]+=b[i],o.value[i]===0&&(delete o.value[i],f.push(i)))}),f.length&&m.value&&v(JSON.stringify({event:"UnsubscribeConditions",data:{newUnsubscribers:f,environment:t.value.chain.environment}}))}),h=b=>{n("subscribe",b)},d=b=>{n("unsubscribe",b)};T(m,b=>{b||(o.value={})},{flush:"sync",immediate:!0});const l=b=>{const{event:f,data:i}=JSON.parse(b);if(f!=="ConditionUpdated")return;const{id:g,outcomes:p,state:A}=i,S={conditionId:g,state:A};Be.dispatch(g,S),p.forEach(({outcomeId:B,currentOdds:R})=>{Ce.dispatch(`${g}-${B}`,{odds:+R})})};return T(s,b=>{l(b)}),{isSocketReady:m,subscribeToUpdates:h,unsubscribeToUpdates:d}}),lt=t=>{const{selections:u,account:v,chainId:m,query:s={}}=t,{currentAzuroChain:o}=H(m),c=Ae(),{subscribeToUpdates:e,unsubscribeToUpdates:n}=c,{isSocketReady:h}=le(c),d=r(()=>u.value.map(({conditionId:i,outcomeId:g})=>`${i}/${g}`).join("-")),l={queryKey:["bet-calculation",r(()=>o.value.chain.chain.id),d,v],queryFn:async()=>{if(!u.value.length)return{minBet:void 0,maxBet:0,maxPayout:"0"};const i=await Me({chainId:o.value.chain.chain.id,selections:u.value,account:v==null?void 0:v.value});return i?{minBet:i.minBet,maxBet:i.maxBet,maxPayout:i.maxPayout}:{minBet:void 0,maxBet:0,maxPayout:"0"}},gcTime:0,refetchOnWindowFocus:!1,...s},b=Se({...l,clientOnly:t.clientOnly,serverOnly:t.serverOnly}),{refetch:f}=b;return T([h,d],([i,g],p,A)=>{if(!i||!u.value.length)return;const S=u.value.map(({conditionId:B})=>B);e(S),A(()=>{n(S)})},{immediate:!0}),T(d,(i,g,p)=>{if(!u.value.length)return;const A=u.value.map(({conditionId:S})=>Be.subscribe(S,()=>f()));p(()=>{A.forEach(S=>{S()})})},{immediate:!0}),b},it=(t,u=!0)=>{let v=u?new Set:[],m=[];const s=Fe(async(c,...e)=>{const n=[...v],h=m;v instanceof Set?v.clear():v=[],m=[];try{const d=await c(n,...e);h.forEach(l=>{l(d)})}catch{h.forEach(l=>{l(void 0)})}},50,!0);return(c,...e)=>(s(t,...e),c.forEach(n=>{v instanceof Set?v.add(n):v.push(n)}),new Promise(n=>{m.push(n)}))},ct=async(t,u)=>(await Re({chainId:u,conditionIds:t})).reduce((m,s)=>{const{conditionId:o,outcomes:c,state:e}=s,n=c.reduce((h,d)=>(h[d.outcomeId]=d,h),{});return m[o]={conditionId:o,state:e,outcomes:n},m},{}),De=it(ct),dt=({conditionIds:t,initialStates:u})=>{const{currentAzuroChain:v}=H(),m=Ae(),{subscribeToUpdates:s,unsubscribeToUpdates:o}=m,{isSocketReady:c}=le(m),e=C((u==null?void 0:u.value)??{}),n=C(!0),h=r(()=>{var l;return((l=t==null?void 0:t.value)==null?void 0:l.join("-"))??""}),d=C(h.value);return T([c,h],([l,b],f,i)=>{!l||!b.length||(s((t==null?void 0:t.value)??[]),i(()=>{o((t==null?void 0:t.value)??[])}))},{immediate:!0}),T(h,(l,b,f)=>{var g;if(!((g=t==null?void 0:t.value)!=null&&g.length))return;const i=t.value.map(p=>Be.subscribe(p,A=>{const{state:S}=A;e.value={...e.value,[p]:S}}));f(()=>{i.forEach(p=>{p()})})},{immediate:!0}),T(h,l=>{var b;(b=t==null?void 0:t.value)!=null&&b.length&&l!==d.value&&(n.value=!0,e.value={}),d.value=l},{immediate:!0}),u&&T(u,l=>{l&&(e.value=l,n.value=!1)},{immediate:!0}),T(h,async l=>{var i;if(!((i=t==null?void 0:t.value)!=null&&i.length)||u!=null&&u.value)return;const b=await De((t==null?void 0:t.value)??[],v.value.chain.chain.id),f=(t.value||[]).reduce((g,p)=>(p&&(b!=null&&b[p])&&(g[p]=b[p].state),g),{});n.value=!1,e.value=f},{immediate:!0}),{data:e,isFetching:n}},vt=({selections:t})=>{const{currentAzuroChain:u}=H(),v=Ae(),{subscribeToUpdates:m,unsubscribeToUpdates:s}=v,{isSocketReady:o}=le(v),c=C({}),e=C(!0),n=C(""),h=r(()=>{var f;return(f=t.value)==null?void 0:f.reduce((i,{conditionId:g,outcomeId:p})=>(i.selectionsKey+=i.selectionsKey?`-${g}/${p}`:`${g}/${p}`,i.conditionsKey+=i.conditionsKey?`-${g}`:`${g}`,i),{selectionsKey:"",conditionsKey:""})}),d=r(()=>h.value.selectionsKey),l=r(()=>h.value.conditionsKey),b=r(()=>+ye(Object.keys(c.value).reduce((f,i)=>f*+c.value[i],1),5));return T([o,l],([f,i],g,p)=>{var S;if(!f||!i.length)return;const A=((S=l.value)==null?void 0:S.split("-"))||[];m(A),p(()=>{s(A)})},{immediate:!0}),T(d,(f,i,g)=>{const p=t.value.map(({conditionId:A,outcomeId:S})=>Ce.subscribe(`${A}-${S}`,B=>{c.value={...c.value,[`${A}-${S}`]:B.odds}}));g(()=>{p.forEach(A=>{A()})})},{immediate:!0}),T(d,f=>{f!==n.value&&(e.value=!0,c.value={},n.value=f)},{immediate:!0}),T([d,r(()=>u.value.chain.chain.id)],async([f,i])=>{var S;const g=(S=l.value)==null?void 0:S.split("-");if(!g.length)return;const p=await De(g,i),A=t.value.reduce((B,{conditionId:R,outcomeId:w})=>{var V,te;return B[`${R}-${w}`]=+(((te=(V=p[R])==null?void 0:V.outcomes[w])==null?void 0:te.odds)||1),B},{});c.value=A,e.value=!1},{immediate:!0}),{data:r(()=>({odds:c.value,totalOdds:b.value})),isFetching:e}},mt=(t={})=>{const{chainId:u,query:v={}}=t,{currentAzuroChain:m}=H(u),s={queryKey:["/bet-fee",r(()=>m.value.chain.chain.id)],queryFn:async()=>{const{gasAmount:c,relayerFeeAmount:e,beautyRelayerFeeAmount:n}=await xe(m.value.chain.chain.id);return{gasAmount:BigInt(c),relayerFeeAmount:BigInt(e),formattedRelayerFeeAmount:n}},refetchOnWindowFocus:!1,refetchInterval:1e4,...v};return Se({...s,clientOnly:t.clientOnly,serverOnly:t.serverOnly})},bt=120,Ct=[33,31,45,26],Dt=[6],Et=10,ht=t=>{const{comboAmount:u,slippage:v,deadline:m,selections:s,totalOdds:o,chainId:c,freebet:e,isCombo:n,EIP712AttentionMessage:h}=t,d=Ze(),{logFrontendError:l}=tt(),b=Ie(),{updateLiveLeaderboardsWithNewBets:f}=at(),{refreshLiveLeaderboards:i}=nt(),g=r(()=>n.value&&s.value.length>1),p=r(()=>!g.value&&s.value.length>1),A=r(()=>s.value.length==1),S=r(()=>e==null?void 0:e.value),{address:B,connector:R}=$e(),{currentAzuroChain:w}=H(c),{data:V,isFetching:te}=mt({clientOnly:!0}),j=r(()=>{var O;return((O=V.value)==null?void 0:O.relayerFeeAmount)??BigInt(0)}),se=r(()=>{var O;return((O=V.value)==null?void 0:O.formattedRelayerFeeAmount)??"0"}),{signTypedData:ie,isPending:ve,error:ce,reset:me}=st(),U=C(!1),P=C(""),re=C(null),ne=C([]),de=async(O,I)=>{var F,D,W,L;if(P.value="",U.value=!0,re.value=null,ne.value=[],O){const{id:X,state:G,errorMessage:Z}=O;try{if(G===pe.Created){const M=await new Promise((x,Q)=>{const $=et(async()=>{const q=await Ue({chainId:I,orderId:X}),{state:k,txHash:N,errorMessage:K,betId:_}=q;(k===pe.Rejected||k===pe.Canceled)&&(clearInterval($),Q(K||k)),N&&(clearInterval($),x({txHash:N,betId:_.toString()}))},1e3)});re.value=M.txHash,ne.value=[M.betId],f(ne.value.map(x=>Xe(x,I)),I,We.SPORTS).then(x=>{x?(console.log("Leaderboards update succeeded"),i()):console.error("Leaderboards update failed")}).catch(x=>{console.error("Leaderboards update failed",x)})}else P.value=Z??G??"Unknown error happened",l({featureId:"sports-bet",errorMessage:`Error occured (bet state not created) on sports bet: ${JSON.stringify(Z??G??"Unknown error happened",ue)}`,walletAddress:B.value,chainId:I,walletType:(F=R.value)==null?void 0:F.id})}catch(M){M instanceof Error?P.value=M.message:typeof M=="string"?P.value=M:P.value="Unknown error happened",l({featureId:"sports-bet",errorMessage:`Error occured (api error thrown) on sports bet: ${JSON.stringify(M,ue)}`,walletAddress:B.value,chainId:I,walletType:(D=R.value)==null?void 0:D.id})}finally{U.value=!1;const M=qe[I];d.refetchBalance(M.betToken.address),d.refetchBalance(rt),S.value&&(b.invalidateQueries({queryKey:["available-freebets",I,(W=B.value)==null?void 0:W.toLowerCase(),w.value.chain.affiliate.toLowerCase(),s.value.map(({conditionId:x,outcomeId:Q})=>`${x}/${Q}`).join("-")]}),b.invalidateQueries({queryKey:["bonuses",I,(L=B.value)==null?void 0:L.toLowerCase(),w.value.chain.affiliate.toLowerCase()]}))}}else{P.value="Unknown error happened",U.value=!1;return}},be={ClientBetData:[{name:"clientData",type:"ClientData"},{name:"bets",type:"SubBet[]"}],ClientData:[{name:"attention",type:"string"},{name:"affiliate",type:"address"},{name:"core",type:"address"},{name:"expiresAt",type:"uint256"},{name:"chainId",type:"uint256"},{name:"relayerFeeAmount",type:"uint256"},{name:"isFeeSponsored",type:"bool"},{name:"isBetSponsored",type:"bool"},{name:"isSponsoredBetReturnable",type:"bool"}],SubBet:[{name:"conditionId",type:"uint256"},{name:"outcomeId",type:"uint128"},{name:"minOdds",type:"uint64"},{name:"amount",type:"uint128"},{name:"nonce",type:"uint256"}]},he=O=>{const{account:I,clientData:F,bet:D}=O,{chainId:W,core:L}=F;return{account:I,domain:{name:Ke,version:Ne,chainId:W,verifyingContract:L},primaryType:"ClientBetData",types:be,message:{clientData:{attention:F.attention,affiliate:F.affiliate,core:F.core,expiresAt:F.expiresAt.toString(),chainId:F.chainId.toString(),relayerFeeAmount:F.relayerFeeAmount.toString(),isBetSponsored:F.isBetSponsored,isFeeSponsored:F.isFeeSponsored,isSponsoredBetReturnable:F.isSponsoredBetReturnable},bets:[{conditionId:String(D.conditionId),outcomeId:String(D.outcomeId),minOdds:String(D.minOdds),amount:String(D.amount),nonce:String(D.nonce)}]}}};return{isRelayerFeeFetching:te,rawRelayerFeeAmount:j,formattedRelayerFeeAmount:se,placeBet:async()=>{var X,G,Z,M,x,Q;if(!B.value||!o.value)return;const O=Math.floor(Date.now()/1e3)+(m.value||bt),I=Pe({odds:o.value,slippage:v.value}),F=fe(I,ke),D=w.value.chain.chain.id,W={attention:h.value||"By signing this transaction, I agree to place a sport bet on BetSwirl",affiliate:w.value.chain.affiliate,core:w.value.chain.contracts.core.address,expiresAt:O,chainId:D,relayerFeeAmount:String(j.value),isBetSponsored:((G=(X=e==null?void 0:e.value)==null?void 0:X.params)==null?void 0:G.isBetSponsored)||!1,isFeeSponsored:((M=(Z=e==null?void 0:e.value)==null?void 0:Z.params)==null?void 0:M.isFeeSponsored)||!1,isSponsoredBetReturnable:((Q=(x=e==null?void 0:e.value)==null?void 0:x.params)==null?void 0:Q.isSponsoredBetReturnable)||!1};let L=null;if(g.value){const $=S.value?e==null?void 0:e.value.amount:ye(u.value,w.value.chain.betToken.decimals),q=fe($,w.value.chain.betToken.decimals),k={account:B.value,clientData:W,amount:q,minOdds:F,nonce:String(Date.now()),bets:s.value.map(({conditionId:N,outcomeId:K})=>({conditionId:N,outcomeId:K}))};L=Le(k),ie(L,{onSuccess:async N=>{var K,_;U.value=!0,P.value="";try{const J=await _e({...k,bonusId:(K=e==null?void 0:e.value)==null?void 0:K.id,signature:N});await de(J,D)}catch(J){P.value="An error occurred while creating the bet. Please contact an admin",U.value=!1,console.error("create order error",J),l({featureId:"sports-bet",errorMessage:`A non caught error occured on combo sports bet: ${JSON.stringify(J??"Unknown error happened",ue)}`,walletAddress:B.value,chainId:D,walletType:(_=R.value)==null?void 0:_.id})}}})}else{if(p.value)return;if(A.value){const{conditionId:$,outcomeId:q,amount:k}=s.value[0],N=S.value?e==null?void 0:e.value.amount:ye(k,w.value.chain.betToken.decimals),K=fe(N,w.value.chain.betToken.decimals),_={account:B.value,clientData:W,bet:{conditionId:$,outcomeId:q,amount:K,minOdds:F,nonce:String(Date.now())}};L=he(_),ie(L,{onSuccess:async J=>{var ae,a;U.value=!0,P.value="";try{const y=await je({..._,bonusId:(ae=e==null?void 0:e.value)==null?void 0:ae.id,signature:J});await de(y,D)}catch(y){P.value="An error occurred while creating the bet. Please contact an admin",U.value=!1,console.error("create order error",y),l({featureId:"sports-bet",errorMessage:`A non caught error occured on single sports bet: ${JSON.stringify(y??"Unknown error happened",ue)}`,walletAddress:B.value,chainId:D,walletType:(a=R.value)==null?void 0:a.id})}}})}}T(()=>w.value.chain.chain.id,$=>{$&&me()}),T(ce,$=>{var q;$&&l({featureId:"sports-bet",errorMessage:`Error occured (sign bet) on sports bet: ${JSON.stringify($,ue)}`,walletAddress:B.value,chainId:D,walletType:(q=R.value)==null?void 0:q.id})})},isPendingSignBet:ve,signBetError:ce,isProcessingBet:U,isProcessingBetError:P,placeBetTx:re,betIds:ne}},ft=t=>{const{account:u,affiliate:v,selections:m,chainId:s,query:o={}}=t,{currentAzuroChain:c}=H(s),e=r(()=>m.value.map(({conditionId:d,outcomeId:l})=>`${d}/${l}`).join("-")),n={queryKey:["available-freebets",r(()=>c.value.chain.chain.id),r(()=>u.value),r(()=>v.value),r(()=>e.value)],queryFn:async()=>{const d=await ze({chainId:c.value.chain.chain.id,account:u.value,affiliate:v.value,selections:m.value});return d?d.filter(l=>l.expiresAt>Date.now()):[]},refetchOnWindowFocus:!1,...o};return Se({...n,clientOnly:t.clientOnly,serverOnly:t.serverOnly})},Mt=ge("betslip",()=>{const{currentAzuroChain:t}=H(),{address:u}=Ge(),v=Qe(),{sidebarToggled:m}=le(v),s=C([]),o=C("0"),c=C(10),e=C(0),n=C(null);C(s.value.some(({game:a})=>a.state===Je.Live));const{data:h,isFetching:d}=ft({account:r(()=>u.value),affiliate:r(()=>t.value.chain.affiliate),selections:s,chainId:r(()=>t.value.chain.chain.id),query:{enabled:()=>!!u.value&&s.value.length>0}}),l=r(()=>h.value??[]),{data:b,isFetching:f}=vt({selections:s}),{data:i,isFetching:g}=dt({conditionIds:r(()=>s.value.map(({conditionId:a})=>a))}),{data:p,isFetching:A,error:S}=lt({selections:s,account:r(()=>u.value),clientOnly:!0}),B=r(()=>{var a;return((a=p.value)==null?void 0:a.maxBet)??0}),R=r(()=>{var a;return((a=p.value)==null?void 0:a.minBet)??0}),w=r(()=>{var a;return(a=b.value)==null?void 0:a.odds}),V=r(()=>{var a;return((a=b.value)==null?void 0:a.totalOdds)??0}),te=r(()=>s.value.length===1),j=r(()=>s.value.length>1&&e.value===1),se=r(()=>s.value.length>1&&e.value===0),ie=r(()=>`By signing this transaction, I agree to place a sport ${j.value?"combo":"single"} bet on BetSwirl`),{isRelayerFeeFetching:ve,rawRelayerFeeAmount:ce,formattedRelayerFeeAmount:me,placeBet:U,isPendingSignBet:P,signBetError:re,isProcessingBet:ne,isProcessingBetError:de,placeBetTx:Te,betIds:be}=ht({comboAmount:o,slippage:c,selections:s,isCombo:j,totalOdds:V,EIP712AttentionMessage:ie,freebet:n,deadline:C(void 0)}),he=r(()=>{var E;const a=s.value,y=z.value&&n.value&&n.value.settings.type==Ye.AllWin;return a.length>0?j.value?a.reduce((Y,ee)=>{var oe;return Y*(((oe=w.value)==null?void 0:oe[`${ee.conditionId}-${ee.outcomeId}`])||1)},1)*Number(z.value?n.value.amount:o.value)-(z.value&&!y?Number(n.value.amount):0):te.value?(((E=w.value)==null?void 0:E[`${a[0].conditionId}-${a[0].outcomeId}`])||1)*Number(z.value?n.value.amount:a[0].amount)-(z.value&&!y?Number(n.value.amount):0):a.reduce((Y,ee)=>{var oe;return Y+Number(ee.amount)*(((oe=w.value)==null?void 0:oe[`${ee.conditionId}-${ee.outcomeId}`])||1)},0):0}),z=r(()=>{var a;return!!((a=l.value)!=null&&a.length&&n.value&&l.value.find(y=>{var E;return y.id===((E=n.value)==null?void 0:E.id)}))}),O=r(()=>z.value?n.value.amount:j.value?o.value:s.value.reduce((a,y)=>(Number(a)+Number(y.amount)).toString(),"0")),I=r(()=>z.value?"":t.value.chain.contracts.relayer.address),F=a=>{s.value=s.value.filter(({conditionId:y,outcomeId:E})=>y!==a.conditionId||E!==a.outcomeId),s.value.length===1&&(e.value=0)},D=a=>{const y=s.value.slice(),E=s.value.filter(({game:Y})=>Y.gameId===a.game.gameId);if(E.length>0){if(E.some(({conditionId:Y,outcomeId:ee})=>Y===a.conditionId&&ee===a.outcomeId))return;e.value=0}else y.length===1&&(e.value=1);s.value.push(a),m.value||(m.value=!0)},W=()=>{s.value=[],o.value="0",ae()},L=a=>{const y=a.map(({game:E})=>E.gameId);return y.length===new Set(y).size},X=r(()=>Object.values(i.value).every(a=>a===He.Active)),G=r(()=>!j.value||L(s.value)),Z=r(()=>n.value?n.value.expiresAt>Date.now():!0),M=r(()=>!j.value||G.value&&s.value.every(({isExpressForbidden:a})=>!a)),x=r(()=>p.value?p.value.maxBet>0:!0),Q=r(()=>O.value?+O.value<=B.value:!0),$=r(()=>+O.value>0&&R.value?+O.value>=R.value:!0),q=r(()=>X.value&&M.value&&Z&&x&&Q.value&&$.value&&!se.value),k=r(()=>se.value?"MultiBetTemporaryDisabled":X.value?Z?M.value?x?Q.value?$.value?null:"BetAmountLowerThanMinBet":"BetAmountGreaterThanMaxBet":"SelectedOutcomesTemporarySuspended":G.value?"ComboWithForbiddenItem":"ComboWithSameGame":"FreeBetExpired":"ConditionState"),N=r(()=>{switch(k.value){case"MultiBetTemporaryDisabled":return"Multi bet is temporarily disabled";case"ComboWithForbiddenItem":return"One or more conditions can't be used in combo";case"SelectedOutcomesTemporarySuspended":return"One or more outcomes have been temporarily suspended. Review your betslip and remove them";case"BetAmountGreaterThanMaxBet":return`The maximum allowable bet amount is capped at ${B.value} ${t.value.chain.betToken.symbol}`;case"BetAmountLowerThanMinBet":return`The minimum allowable bet amount is capped at ${R.value} ${t.value.chain.betToken.symbol}`;case"ConditionState":return"One or more outcomes have been removed or suspended. Review your betslip and remove them";case"ComboWithSameGame":return"Combo with outcomes from same game prohibited, please use Multi bet instead";case"FreeBetExpired":return"FreeBet is expired";default:return k.value}}),K=r(()=>{switch(k.value){case"MultiBetTemporaryDisabled":return"Temporarily disabled";case"ComboWithForbiddenItem":return"Combo not allowed";case"BetAmountGreaterThanMaxBet":return"Bet amount too high";case"BetAmountLowerThanMinBet":return"Bet amount too low";case"ConditionState":return"Invalid bet";case"ComboWithSameGame":return"Invalid combo";case"FreeBetExpired":return"FreeBet expired";default:return""}});T(r(()=>t.value.chain.chain.id),(a,y)=>{a&&a!=y&&W()});const _=we(),J=Ve(),ae=()=>{n.value=null;const{freebetId:a,...y}=_.query;J.replace({query:{...y}})};return T(u,a=>{ae()}),T(()=>_.query.freebetId,a=>{if(a){const y=l.value.find(E=>E.id===a.toString());y&&(n.value=y)}else n.value=null},{immediate:!0}),T(l,a=>{if(a.length>0){const y=_.query.freebetId;if(y){const E=a.find(Y=>Y.id.toString()===y);E?n.value=E:n.value=a[0]}else n.value=a[0]}else n.value=null}),T(n,a=>{if(a){const y=we();J.replace({query:{...y.query,freebetId:a.id}})}}),{removeItem:F,addItem:D,clear:W,odds:w,totalOdds:V,maxBetAmount:B,minBetAmount:R,states:i,betslipBets:s,isBetAllowed:q,disableReason:k,disableReasonMessage:N,disableReasonButtonMessage:K,isBetCalculationFetching:A,isStatesFetching:g,isOddsFetching:f,isSingleType:te,isComboType:j,isMultiType:se,isFreebetType:z,mode:e,slippage:c,comboAmount:o,selectedFreebet:n,availableFreebets:l,isFreebetsFetching:d,removeFreebet:ae,totalBetAmount:O,targetPayout:he,allowanceSpender:I,isRelayerFeeFetching:ve,rawRelayerFeeAmount:ce,formattedRelayerFeeAmount:me,placeBet:U,isPendingSignBet:P,signBetError:re,isProcessingBet:ne,isProcessingBetError:de,placeBetTx:Te,betIds:be}});export{Ct as L,Et as M,dt as a,ut as b,Oe as c,ot as d,Dt as e,Ae as f,De as g,Ce as o,Mt as u};