import{db as N,da as P,cO as o,y as J,df as Q,ee as V,cI as X,d9 as K,cJ as U,cT as _,cQ as w,cP as R,cX as n,cV as Y,cS as i,ds as Z,dt as S,cR as u,dh as O,dm as E,dk as C,dL as ee,d2 as te}from"./BC4hLSsA.js";import{i as ae,c as ne,d as se,e as oe,b as le}from"./CSZeIc-n.js";import{a as re,R as ie}from"./DyGcr8JH.js";import{u as ue}from"./vHI_ccjx.js";import{V as de}from"./C4JX9G5N.js";import{b as pe,V as z,c as F,d as G}from"./BLtFZmd8.js";const I=[{constant:!0,inputs:[],name:"name",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_spender",type:"address"},{name:"_value",type:"uint256"}],name:"approve",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"totalSupply",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transferFrom",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"decimals",outputs:[{name:"",type:"uint8"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"}],name:"balanceOf",outputs:[{name:"balance",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"symbol",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],name:"transfer",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"_owner",type:"address"},{name:"_spender",type:"address"}],name:"allowance",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!0,name:"owner",type:"address"},{indexed:!0,name:"spender",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,name:"from",type:"address"},{indexed:!0,name:"to",type:"address"},{indexed:!1,name:"value",type:"uint256"}],name:"Transfer",type:"event"}];var h=(t=>(t[t.NON_PERMANENTLY=0]="NON_PERMANENTLY",t[t.PERMANENTLY=1]="PERMANENTLY",t[t.GASLESS=2]="GASLESS",t))(h||{});function Ne(t,r){t.forEach(d=>{N(d,m=>{var p;m&&((p=r.value)==null||p.refetchUserAllowance())})})}const ce=(t,r,d,m,p=!1,e)=>{const{isConnected:f,address:b}=P(),{successToast:T,errorToast:c,formatWriteErrorMessage:y,formatWaitErrorMessage:k}=oe(),{data:x,refetch:B,isLoading:M,isFetching:q}=ae({abi:I,address:o(()=>t.value.address),functionName:"allowance",chainId:r,args:[o(()=>b.value),o(()=>d.value)],query:{enabled:f,initialData:0n}});N(b,a=>{a&&B()},{immediate:!0});const v=o(()=>typeof x.value=="bigint"&&x.value{const a=e.value==1?J:m.value;s({address:t.value.address,abi:I,chainId:r.value,functionName:"approve",args:[d.value,a]})};N(l,a=>{a&&(p&&c(y(a)),console.error("errorApprove",a))}),N(j,a=>{a&&(p&&c(k(a)),console.error("isWaitingErrorApprove",a))}),N($,a=>{a&&(p&&T(Q(A.value,V[r.value]),`${e.value==1?"":re(m.value,t.value.decimals,ie.PRECISE)} ${t.value.symbol} approved`),B())});const H=o(()=>L.value||W.value);return N(r,a=>{a&&g()}),{userAllowance:x,refetchUserAllowance:B,isPendingApprove:L,isLoadingApprove:W,isLoading:H,requireAllowance:v,approve:D}},me={class:"inputBet"},ke=X({__name:"Bet",props:{loading:Boolean,loadingLabel:{type:String,required:!1},pending:Boolean,pendingLabel:{type:String,required:!1},rolling:{type:Boolean,default:!1},canBet:Boolean,freebet:Boolean,amount:{type:String,required:!0},allowance:{type:Object,required:!0},btnClass:String,label:String,disabledLabel:{type:String,required:!1},chainId:{type:Number,required:!0},token:{type:Object,required:!0},onClick:{type:Function,required:!0},checkBalance:{type:Boolean,default:!0}},setup(t,{expose:r}){const{isConnected:d,connectWallet:m}=P(),{changeChainWithUserRequest:p}=K(),e=t,f=U([h.PERMANENTLY]),b=U(e.chainId),{parse:T}=ue(),c=le(),y=o(()=>d.value&&c.providerGoodNetwork&&e.canBet&&(k.value<=c.balances[e.token.address]||e.freebet||!e.checkBalance)&&!!(e.amount&&Number(e.amount)>0)),k=o(()=>T(e.amount,e.token.decimals)),{approve:x,isLoading:B,requireAllowance:M,refetchUserAllowance:q}=ce(o(()=>e.token),b,o(()=>e.allowance.spender),k,e.allowance.notificationEnabled,o(()=>f.value[0])),v=o(()=>!e.freebet&&y.value&&M.value&&!e.allowance.disabled&&e.token.address!=te),A=o(()=>{let s;if(d.value)if(e.loading)s=e.loadingLabel||"Loading transaction...";else if(e.pending)s=e.pendingLabel||"Pending transaction...";else if(e.rolling)s="Bet is rolling...";else if(!c.providerGoodNetwork)s="Switch to "+V[b.value].name;else if(!e.amount||Number(e.amount)<=0)s="Wrong amount";else if(k.value>c.balances[e.token.address]&&!e.freebet&&e.checkBalance)s="Balance too low";else{if(!y.value&&e.disabledLabel)return e.disabledLabel;s=e.label,v.value&&(s="Approve "+e.token.symbol+(f.value[0]===h.PERMANENTLY?" forever":""))}else s="Wallet not connected";return s}),L=()=>v.value?x():e.onClick();return r({refetchUserAllowance:q,fullCanBet:y,mustApprove:v,handleClick:L}),(s,l)=>(w(),_("div",me,[n(d)?(w(),_(Y,{key:0},[n(c).providerGoodNetwork?(w(),_(Y,{key:0},[i(S,{block:"",size:"x-large",loading:e.loading||e.pending||e.rolling||n(B),disabled:!n(y),onClick:L,text:n(A),class:"bg-buttonBrandDefault",type:"submit"},null,8,["loading","disabled","text"]),n(v)?(w(),R(de,{key:0,"content-class":"v-select__content"},{activator:u(({props:g})=>[i(S,ee({disabled:!n(y),loading:e.loading||e.pending},g,{size:"x-large",icon:"i-lucide:chevron-down",class:"ml-0 inputBet__allowance bg-buttonBrandDefault"}),null,16,["disabled","loading"])]),default:u(()=>[i(pe,{lines:"two",selected:n(f),"onUpdate:selected":l[0]||(l[0]=g=>O(f)?f.value=g:null)},{default:u(()=>[i(z,{class:"v-list-item--horizontal",value:n(h).NON_PERMANENTLY},{default:u(()=>[i(F,{class:"text-body-2 font-weight-semibold"},{default:u(()=>l[2]||(l[2]=[E("Approve one-time only")])),_:1}),i(G,{class:"text-body-3 text-textNeutralTertiary mt-1"},{default:u(()=>[E(" You'll give your approval to spend "+C(t.amount)+" "+C(t.token.symbol)+" on your behalf. ",1)]),_:1})]),_:1},8,["value"]),i(z,{class:"v-list-item--horizontal",value:n(h).PERMANENTLY},{default:u(()=>[i(F,{class:"text-body-2 font-weight-semibold"},{default:u(()=>l[3]||(l[3]=[E("Approve unlimited amount")])),_:1}),i(G,{class:"text-body-3 text-textNeutralTertiary mt-1"},{default:u(()=>[E(" You won't need to approve again next time you want to spend "+C(n(M))+" "+C(t.token.symbol)+". ",1)]),_:1})]),_:1},8,["value"])]),_:1},8,["selected"])]),_:1})):Z("",!0)],64)):(w(),R(S,{key:1,block:"",class:"bg-buttonBrandDefault",size:"x-large",onClick:l[1]||(l[1]=g=>n(p)(n(b))),text:n(A)},null,8,["text"]))],64)):(w(),R(S,{key:1,block:"",class:"bg-buttonBrandDefault",size:"x-large",onClick:n(m),text:"Connect"},null,8,["onClick"]))]))}});export{ke as _,Ne as w};