UNPKG

@betswirl/sdk-core

Version:

VanillaJS library for Betswirl protocol

1 lines 212 kB
import {zeroAddress,formatUnits,encodeAbiParameters,parseAbiParameters,getAddress,encodeFunctionData,erc20Abi,decodeEventLog}from'viem';import {optimismSepolia,optimism,gnosis,baseSepolia,base,sepolia,mainnet,bscTestnet,bsc,arbitrumSepolia,arbitrum,avalancheFuji,avalanche,polygonAmoy,polygon}from'viem/chains';import Lt from'decimal.js';import {InMemoryCache,ApolloClient}from'@apollo/client/core/index.js';import Ya from'graphql-tag';import {getLogs}from'viem/actions';var On=Object.defineProperty;var $n=(t,e,n)=>e in t?On(t,e,{enumerable:true,configurable:true,writable:true,value:n}):t[e]=n;var W=(t,e,n)=>$n(t,typeof e!="symbol"?e+"":e,n);var jt=[{inputs:[{internalType:"address",name:"treasuryAddress",type:"address"},{internalType:"address",name:"teamWalletAddress",type:"address"},{internalType:"address",name:"wrappedGasToken",type:"address"},{internalType:"uint256",name:"maxCallGas_",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessDenied",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidParam",type:"error"},{inputs:[],name:"InvalidValue",type:"error"},{inputs:[],name:"TokenExists",type:"error"},{inputs:[],name:"TokenHasPendingBets",type:"error"},{inputs:[],name:"TokenNotExists",type:"error"},{inputs:[],name:"TokenNotPaused",type:"error"},{inputs:[{internalType:"uint16",name:"splitSum",type:"uint16"}],name:"WrongHouseEdgeSplit",type:"error"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"bool",name:"added",type:"bool"}],name:"AddToken",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"address",name:"affiliate",type:"address"},{indexed:false,internalType:"uint256",name:"affiliateAmount",type:"uint256"}],name:"AffiliateRevenuesDistribution",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"bank",type:"uint256"},{indexed:false,internalType:"uint256",name:"dividend",type:"uint256"},{indexed:false,internalType:"uint256",name:"treasury",type:"uint256"},{indexed:false,internalType:"uint256",name:"team",type:"uint256"},{indexed:false,internalType:"uint256",name:"affiliate",type:"uint256"},{indexed:false,internalType:"address",name:"affiliateAddress",type:"address"}],name:"AllocateHouseEdgeAmount",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"newBalance",type:"uint256"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"CashIn",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"Deposit",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"newBalance",type:"uint256"},{indexed:false,internalType:"uint256",name:"profit",type:"uint256"}],name:"Payout",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"treasuryAmount",type:"uint256"},{indexed:false,internalType:"uint256",name:"teamAmount",type:"uint256"}],name:"ProtocolRevenuesDistribution",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:true,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:true,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:true,internalType:"address",name:"account",type:"address"},{indexed:true,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:true,internalType:"address",name:"account",type:"address"},{indexed:true,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"bool",name:"allowed",type:"bool"}],name:"SetAllowedToken",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint16",name:"previousBalanceRisk",type:"uint16"},{indexed:false,internalType:"uint16",name:"balanceRisk",type:"uint16"}],name:"SetBalanceRisk",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"previousMaxCallGas",type:"uint256"},{indexed:false,internalType:"uint256",name:"maxCallGas",type:"uint256"}],name:"SetMaxCallGas",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"bool",name:"paused",type:"bool"}],name:"SetPausedToken",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"previousTeamWallet",type:"address"},{indexed:false,internalType:"address",name:"teamWallet",type:"address"}],name:"SetTeamWallet",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint16",name:"bank",type:"uint16"},{indexed:false,internalType:"uint16",name:"dividend",type:"uint16"},{indexed:false,internalType:"uint16",name:"affiliate",type:"uint16"},{indexed:false,internalType:"uint16",name:"treasury",type:"uint16"},{indexed:false,internalType:"uint16",name:"team",type:"uint16"}],name:"SetTokenHouseEdgeSplit",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"address",name:"previousBankrollProvider",type:"address"},{indexed:false,internalType:"address",name:"bankrollProvider",type:"address"}],name:"TokenBankrollProviderTransferAccepted",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"address",name:"newBankrollProvider",type:"address"}],name:"TokenBankrollProviderTransferStarted",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"},{indexed:true,internalType:"address",name:"to",type:"address"}],name:"Withdraw",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"WithdrawDividend",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"DIVIDEND_MANAGER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"GAME_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"TREASURY_WALLET",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"WRAPPED",outputs:[{internalType:"contract IWrapped",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"acceptTokenBankrollProviderTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"added",type:"bool"}],name:"addToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"affiliateAmounts",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenAddress",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"fees",type:"uint256"},{internalType:"address",name:"affiliate",type:"address"}],name:"cashIn",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"deposit",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"getBalance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"getBankrollProvider",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"tokenAddress",type:"address"},{internalType:"uint256",name:"multiplier",type:"uint256"}],name:"getBetRequirements",outputs:[{internalType:"bool",name:"isAllowedToken",type:"bool"},{internalType:"uint256",name:"maxBetAmount",type:"uint256"},{internalType:"uint256",name:"maxBetCount",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"multiplier",type:"uint256"}],name:"getMaxBetAmount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"multiplier",type:"uint256"}],name:"getMaxBetCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"uint256",name:"index",type:"uint256"}],name:"getRoleMember",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleMemberCount",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"getTokens",outputs:[{components:[{internalType:"uint8",name:"decimals",type:"uint8"},{internalType:"address",name:"tokenAddress",type:"address"},{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{components:[{internalType:"bool",name:"allowed",type:"bool"},{internalType:"bool",name:"paused",type:"bool"},{internalType:"uint16",name:"balanceRisk",type:"uint16"},{internalType:"address",name:"bankrollProvider",type:"address"},{internalType:"address",name:"pendingBankrollProvider",type:"address"},{components:[{internalType:"uint16",name:"bank",type:"uint16"},{internalType:"uint16",name:"dividend",type:"uint16"},{internalType:"uint16",name:"affiliate",type:"uint16"},{internalType:"uint16",name:"treasury",type:"uint16"},{internalType:"uint16",name:"team",type:"uint16"},{internalType:"uint256",name:"dividendAmount",type:"uint256"},{internalType:"uint256",name:"affiliateAmount",type:"uint256"},{internalType:"uint256",name:"treasuryAmount",type:"uint256"},{internalType:"uint256",name:"teamAmount",type:"uint256"}],internalType:"struct IBankAdmin.HouseEdgeSplitAndAllocation",name:"houseEdgeSplitAndAllocation",type:"tuple"}],internalType:"struct IBankAdmin.Token",name:"token",type:"tuple"}],internalType:"struct IBankAdmin.TokenMetadata[]",name:"",type:"tuple[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxCallGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"profit",type:"uint256"},{internalType:"uint256",name:"fees",type:"uint256"},{internalType:"address",name:"affiliate",type:"address"}],name:"payout",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"allowed",type:"bool"}],name:"setAllowedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"balanceRisk",type:"uint16"}],name:"setBalanceRisk",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"bank",type:"uint16"},{internalType:"uint16",name:"dividend",type:"uint16"},{internalType:"uint16",name:"affiliate",type:"uint16"},{internalType:"uint16",name:"treasury",type:"uint16"},{internalType:"uint16",name:"team",type:"uint16"}],name:"setHouseEdgeSplit",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"maxCallGas_",type:"uint256"}],name:"setMaxCallGas",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"bool",name:"paused",type:"bool"}],name:"setPausedToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"teamWallet_",type:"address"}],name:"setTeamWallet",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"address",name:"to",type:"address"}],name:"setTokenBankrollProviderTransfer",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"teamWallet",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"tokens",outputs:[{internalType:"bool",name:"allowed",type:"bool"},{internalType:"bool",name:"paused",type:"bool"},{internalType:"uint16",name:"balanceRisk",type:"uint16"},{internalType:"address",name:"bankrollProvider",type:"address"},{internalType:"address",name:"pendingBankrollProvider",type:"address"},{components:[{internalType:"uint16",name:"bank",type:"uint16"},{internalType:"uint16",name:"dividend",type:"uint16"},{internalType:"uint16",name:"affiliate",type:"uint16"},{internalType:"uint16",name:"treasury",type:"uint16"},{internalType:"uint16",name:"team",type:"uint16"},{internalType:"uint256",name:"dividendAmount",type:"uint256"},{internalType:"uint256",name:"affiliateAmount",type:"uint256"},{internalType:"uint256",name:"treasuryAmount",type:"uint256"},{internalType:"uint256",name:"teamAmount",type:"uint256"}],internalType:"struct IBankAdmin.HouseEdgeSplitAndAllocation",name:"houseEdgeSplitAndAllocation",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"withdraw",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenAddress",type:"address"},{internalType:"address",name:"to",type:"address"}],name:"withdrawAffiliateRevenues",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenAddress",type:"address"}],name:"withdrawDividend",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"withdrawDividends",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"tokenAddress",type:"address"}],name:"withdrawProtocolRevenues",outputs:[],stateMutability:"nonpayable",type:"function"}];var D=[{inputs:[{internalType:"address",name:"bankAddress",type:"address"},{internalType:"address",name:"chainlinkCoordinatorAddress",type:"address"},{internalType:"address",name:"chainlinkWrapperAddress",type:"address"},{internalType:"address",name:"wrappedGasToken",type:"address"},{internalType:"uint64",name:"refundTime_",type:"uint64"},{internalType:"uint256",name:"maxCallGas_",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessDenied",type:"error"},{inputs:[{internalType:"uint256",name:"maxBetCount",type:"uint256"}],name:"BetCountTooHigh",type:"error"},{inputs:[],name:"ForbiddenToken",type:"error"},{inputs:[],name:"HouseEdgeTooHigh",type:"error"},{inputs:[],name:"HouseEdgeTooLow",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidMaxCallGas",type:"error"},{inputs:[],name:"InvalidParam",type:"error"},{inputs:[],name:"InvalidVRFSubId",type:"error"},{inputs:[],name:"NotFulfilled",type:"error"},{inputs:[],name:"NotPendingBet",type:"error"},{inputs:[{internalType:"address",name:"have",type:"address"},{internalType:"address",name:"want",type:"address"}],name:"OnlyCoordinatorCanFulfill",type:"error"},{inputs:[{internalType:"address",name:"have",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"coordinator",type:"address"}],name:"OnlyOwnerOrCoordinator",type:"error"},{inputs:[],name:"TokenHasPendingBets",type:"error"},{inputs:[{internalType:"uint256",name:"minBetAmount",type:"uint256"}],name:"UnderMinBetAmount",type:"error"},{inputs:[{internalType:"uint256",name:"minBetCount",type:"uint256"}],name:"UnderMinBetCount",type:"error"},{inputs:[],name:"WrongGasValueToCoverVRFFee",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"id",type:"uint256"},{indexed:false,internalType:"address",name:"user",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"BetRefunded",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"vrfCoordinator",type:"address"}],name:"CoordinatorSet",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"DistributeTokenVRFFees",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"from",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"}],name:"OwnershipTransferRequested",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"from",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"id",type:"uint256"},{indexed:true,internalType:"address",name:"receiver",type:"address"},{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"},{indexed:false,internalType:"uint256",name:"chargedVRFCost",type:"uint256"},{indexed:false,internalType:"bool",name:"face",type:"bool"},{indexed:false,internalType:"address",name:"affiliate",type:"address"},{indexed:false,internalType:"uint32",name:"betCount",type:"uint32"},{indexed:false,internalType:"uint256",name:"stopGain",type:"uint256"},{indexed:false,internalType:"uint256",name:"stopLoss",type:"uint256"}],name:"PlaceBet",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"uint256",name:"id",type:"uint256"},{indexed:true,internalType:"address",name:"receiver",type:"address"},{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"totalBetAmount",type:"uint256"},{indexed:false,internalType:"bool",name:"face",type:"bool"},{indexed:false,internalType:"bool[]",name:"rolled",type:"bool[]"},{indexed:false,internalType:"uint256",name:"payout",type:"uint256"}],name:"Roll",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"address",name:"affiliate",type:"address"},{indexed:false,internalType:"uint16",name:"previousHouseEdge",type:"uint16"},{indexed:false,internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"SetAffiliateHouseEdge",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint16",name:"requestConfirmations",type:"uint16"},{indexed:false,internalType:"bytes32",name:"keyHash",type:"bytes32"},{indexed:false,internalType:"contract IVRFV2PlusWrapperCustom",name:"chainlinkWrapper",type:"address"},{indexed:false,internalType:"uint32",name:"VRFCallbackGasExtraBet",type:"uint32"},{indexed:false,internalType:"bool",name:"nativePayment",type:"bool"}],name:"SetChainlinkConfig",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint16",name:"previousHouseEdge",type:"uint16"},{indexed:false,internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"SetHouseEdge",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"previousMaxCallGas",type:"uint256"},{indexed:false,internalType:"uint256",name:"maxCallGas",type:"uint256"}],name:"SetMaxCallGas",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint64",name:"previousRefundTime",type:"uint64"},{indexed:false,internalType:"uint64",name:"refundTime",type:"uint64"}],name:"SetRefundTime",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint32",name:"previousCallbackGasBase",type:"uint32"},{indexed:false,internalType:"uint32",name:"callbackGasBase",type:"uint32"}],name:"SetVRFCallbackGasBase",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"previousSubId",type:"uint256"},{indexed:false,internalType:"uint256",name:"subId",type:"uint256"}],name:"SetVRFSubId",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"BANK",outputs:[{internalType:"contract IBankGame",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"WRAPPED",outputs:[{internalType:"contract IWrapped",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"_affiliateHouseEdges",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"bets",outputs:[{internalType:"bool",name:"resolved",type:"bool"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint16",name:"houseEdge",type:"uint16"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint256",name:"payout",type:"uint256"},{internalType:"uint16",name:"betCount",type:"uint16"},{internalType:"uint256",name:"stopGain",type:"uint256"},{internalType:"uint256",name:"stopLoss",type:"uint256"},{internalType:"address",name:"affiliate",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"coinTossBets",outputs:[{components:[{internalType:"bool",name:"face",type:"bool"},{internalType:"bool[]",name:"rolled",type:"bool[]"}],internalType:"struct ICoinToss.CoinTossBet",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"affiliate",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"getAffiliateHouseEdge",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"getChainlinkConfig",outputs:[{internalType:"uint16",name:"requestConfirmations",type:"uint16"},{internalType:"bytes32",name:"keyHash",type:"bytes32"},{internalType:"contract IVRFCoordinatorV2Plus",name:"chainlinkCoordinator",type:"address"},{internalType:"contract IVRFV2PlusWrapperCustom",name:"chainlinkWrapper",type:"address"},{internalType:"uint32",name:"VRFCallbackGasExtraBet",type:"uint32"},{internalType:"bool",name:"nativePayment",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"betCount",type:"uint16"}],name:"getChainlinkVRFCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"hasPendingBets",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxCallGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"requestId",type:"uint256"},{internalType:"uint256[]",name:"randomWords",type:"uint256[]"}],name:"rawFulfillRandomWords",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"refundBet",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"refundTime",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"s_vrfCoordinator",outputs:[{internalType:"contract IVRFCoordinatorV2Plus",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"affiliateHouseEdge",type:"uint16"}],name:"setAffiliateHouseEdge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"requestConfirmations",type:"uint16"},{internalType:"bytes32",name:"keyHash",type:"bytes32"},{internalType:"contract IVRFV2PlusWrapperCustom",name:"chainlinkWrapper",type:"address"},{internalType:"uint32",name:"VRFCallbackGasExtraBet",type:"uint32"},{internalType:"bool",name:"nativePayment",type:"bool"}],name:"setChainlinkConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vrfCoordinator",type:"address"}],name:"setCoordinator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"setHouseEdge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"maxCallGas_",type:"uint256"}],name:"setMaxCallGas",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"refundTime_",type:"uint64"}],name:"setRefundTime",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint32",name:"callbackGasBase",type:"uint32"}],name:"setVRFCallbackGasBase",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"subId",type:"uint256"}],name:"setVRFSubId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"togglePause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"tokens",outputs:[{internalType:"uint16",name:"houseEdge",type:"uint16"},{internalType:"uint64",name:"pendingCount",type:"uint64"},{internalType:"uint256",name:"vrfSubId",type:"uint256"},{internalType:"uint32",name:"VRFCallbackGasBase",type:"uint32"},{internalType:"uint256",name:"VRFFees",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bool",name:"face",type:"bool"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"affiliate",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"betAmount",type:"uint256"},{internalType:"uint16",name:"betCount",type:"uint16"},{internalType:"uint256",name:"stopGain",type:"uint256"},{internalType:"uint256",name:"stopLoss",type:"uint256"},{internalType:"uint16",name:"maxHouseEdge",type:"uint16"}],internalType:"struct IGamePlayer.BetData",name:"betData",type:"tuple"}],name:"wager",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"bet",type:"bytes"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"affiliate",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"betAmount",type:"uint256"},{internalType:"uint16",name:"betCount",type:"uint16"},{internalType:"uint256",name:"stopGain",type:"uint256"},{internalType:"uint256",name:"stopLoss",type:"uint256"},{internalType:"uint16",name:"maxHouseEdge",type:"uint16"}],internalType:"struct IGamePlayer.BetData",name:"betData",type:"tuple"}],name:"wagerWithData",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"withdrawTokenVRFFees",outputs:[],stateMutability:"nonpayable",type:"function"}];var P=[{inputs:[{internalType:"address",name:"bankAddress",type:"address"},{internalType:"address",name:"chainlinkCoordinatorAddress",type:"address"},{internalType:"address",name:"chainlinkWrapperAddress",type:"address"},{internalType:"address",name:"wrappedGasToken",type:"address"},{internalType:"uint64",name:"refundTime_",type:"uint64"},{internalType:"uint256",name:"maxCallGas_",type:"uint256"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessDenied",type:"error"},{inputs:[{internalType:"uint256",name:"maxBetCount",type:"uint256"}],name:"BetCountTooHigh",type:"error"},{inputs:[{internalType:"uint8",name:"minCap",type:"uint8"},{internalType:"uint8",name:"maxCap",type:"uint8"}],name:"CapNotInRange",type:"error"},{inputs:[],name:"ForbiddenToken",type:"error"},{inputs:[],name:"HouseEdgeTooHigh",type:"error"},{inputs:[],name:"HouseEdgeTooLow",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidMaxCallGas",type:"error"},{inputs:[],name:"InvalidParam",type:"error"},{inputs:[],name:"InvalidVRFSubId",type:"error"},{inputs:[],name:"NotFulfilled",type:"error"},{inputs:[],name:"NotPendingBet",type:"error"},{inputs:[{internalType:"address",name:"have",type:"address"},{internalType:"address",name:"want",type:"address"}],name:"OnlyCoordinatorCanFulfill",type:"error"},{inputs:[{internalType:"address",name:"have",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"coordinator",type:"address"}],name:"OnlyOwnerOrCoordinator",type:"error"},{inputs:[],name:"TokenHasPendingBets",type:"error"},{inputs:[{internalType:"uint256",name:"minBetAmount",type:"uint256"}],name:"UnderMinBetAmount",type:"error"},{inputs:[{internalType:"uint256",name:"minBetCount",type:"uint256"}],name:"UnderMinBetCount",type:"error"},{inputs:[],name:"WrongGasValueToCoverVRFFee",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"id",type:"uint256"},{indexed:false,internalType:"address",name:"user",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"BetRefunded",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"vrfCoordinator",type:"address"}],name:"CoordinatorSet",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"DistributeTokenVRFFees",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"from",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"}],name:"OwnershipTransferRequested",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"from",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"id",type:"uint256"},{indexed:true,internalType:"address",name:"receiver",type:"address"},{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"},{indexed:false,internalType:"uint256",name:"chargedVRFCost",type:"uint256"},{indexed:false,internalType:"uint8",name:"cap",type:"uint8"},{indexed:false,internalType:"address",name:"affiliate",type:"address"},{indexed:false,internalType:"uint32",name:"betCount",type:"uint32"},{indexed:false,internalType:"uint256",name:"stopGain",type:"uint256"},{indexed:false,internalType:"uint256",name:"stopLoss",type:"uint256"}],name:"PlaceBet",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"uint256",name:"id",type:"uint256"},{indexed:true,internalType:"address",name:"receiver",type:"address"},{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"totalBetAmount",type:"uint256"},{indexed:false,internalType:"uint8",name:"cap",type:"uint8"},{indexed:false,internalType:"uint8[]",name:"rolled",type:"uint8[]"},{indexed:false,internalType:"uint256",name:"payout",type:"uint256"}],name:"Roll",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"address",name:"affiliate",type:"address"},{indexed:false,internalType:"uint16",name:"previousHouseEdge",type:"uint16"},{indexed:false,internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"SetAffiliateHouseEdge",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint16",name:"requestConfirmations",type:"uint16"},{indexed:false,internalType:"bytes32",name:"keyHash",type:"bytes32"},{indexed:false,internalType:"contract IVRFV2PlusWrapperCustom",name:"chainlinkWrapper",type:"address"},{indexed:false,internalType:"uint32",name:"VRFCallbackGasExtraBet",type:"uint32"},{indexed:false,internalType:"bool",name:"nativePayment",type:"bool"}],name:"SetChainlinkConfig",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint16",name:"previousHouseEdge",type:"uint16"},{indexed:false,internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"SetHouseEdge",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"previousMaxCallGas",type:"uint256"},{indexed:false,internalType:"uint256",name:"maxCallGas",type:"uint256"}],name:"SetMaxCallGas",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint64",name:"previousRefundTime",type:"uint64"},{indexed:false,internalType:"uint64",name:"refundTime",type:"uint64"}],name:"SetRefundTime",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint32",name:"previousCallbackGasBase",type:"uint32"},{indexed:false,internalType:"uint32",name:"callbackGasBase",type:"uint32"}],name:"SetVRFCallbackGasBase",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"previousSubId",type:"uint256"},{indexed:false,internalType:"uint256",name:"subId",type:"uint256"}],name:"SetVRFSubId",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"BANK",outputs:[{internalType:"contract IBankGame",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"WRAPPED",outputs:[{internalType:"contract IWrapped",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"_affiliateHouseEdges",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"acceptOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"bets",outputs:[{internalType:"bool",name:"resolved",type:"bool"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint16",name:"houseEdge",type:"uint16"},{internalType:"uint32",name:"timestamp",type:"uint32"},{internalType:"uint256",name:"payout",type:"uint256"},{internalType:"uint16",name:"betCount",type:"uint16"},{internalType:"uint256",name:"stopGain",type:"uint256"},{internalType:"uint256",name:"stopLoss",type:"uint256"},{internalType:"address",name:"affiliate",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"diceBets",outputs:[{components:[{internalType:"uint8",name:"cap",type:"uint8"},{internalType:"uint8[]",name:"rolled",type:"uint8[]"}],internalType:"struct IDice.DiceBet",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"affiliate",type:"address"},{internalType:"address",name:"token",type:"address"}],name:"getAffiliateHouseEdge",outputs:[{internalType:"uint16",name:"",type:"uint16"}],stateMutability:"view",type:"function"},{inputs:[],name:"getChainlinkConfig",outputs:[{internalType:"uint16",name:"requestConfirmations",type:"uint16"},{internalType:"bytes32",name:"keyHash",type:"bytes32"},{internalType:"contract IVRFCoordinatorV2Plus",name:"chainlinkCoordinator",type:"address"},{internalType:"contract IVRFV2PlusWrapperCustom",name:"chainlinkWrapper",type:"address"},{internalType:"uint32",name:"VRFCallbackGasExtraBet",type:"uint32"},{internalType:"bool",name:"nativePayment",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"betCount",type:"uint16"}],name:"getChainlinkVRFCost",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"hasPendingBets",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"maxCallGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"requestId",type:"uint256"},{internalType:"uint256[]",name:"randomWords",type:"uint256[]"}],name:"rawFulfillRandomWords",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"id",type:"uint256"}],name:"refundBet",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"refundTime",outputs:[{internalType:"uint64",name:"",type:"uint64"}],stateMutability:"view",type:"function"},{inputs:[],name:"s_vrfCoordinator",outputs:[{internalType:"contract IVRFCoordinatorV2Plus",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"affiliateHouseEdge",type:"uint16"}],name:"setAffiliateHouseEdge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint16",name:"requestConfirmations",type:"uint16"},{internalType:"bytes32",name:"keyHash",type:"bytes32"},{internalType:"contract IVRFV2PlusWrapperCustom",name:"chainlinkWrapper",type:"address"},{internalType:"uint32",name:"VRFCallbackGasExtraBet",type:"uint32"},{internalType:"bool",name:"nativePayment",type:"bool"}],name:"setChainlinkConfig",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_vrfCoordinator",type:"address"}],name:"setCoordinator",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"setHouseEdge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"maxCallGas_",type:"uint256"}],name:"setMaxCallGas",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint64",name:"refundTime_",type:"uint64"}],name:"setRefundTime",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint32",name:"callbackGasBase",type:"uint32"}],name:"setVRFCallbackGasBase",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"subId",type:"uint256"}],name:"setVRFSubId",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"togglePause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"tokens",outputs:[{internalType:"uint16",name:"houseEdge",type:"uint16"},{internalType:"uint64",name:"pendingCount",type:"uint64"},{internalType:"uint256",name:"vrfSubId",type:"uint256"},{internalType:"uint32",name:"VRFCallbackGasBase",type:"uint32"},{internalType:"uint256",name:"VRFFees",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint8",name:"cap",type:"uint8"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"affiliate",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"betAmount",type:"uint256"},{internalType:"uint16",name:"betCount",type:"uint16"},{internalType:"uint256",name:"stopGain",type:"uint256"},{internalType:"uint256",name:"stopLoss",type:"uint256"},{internalType:"uint16",name:"maxHouseEdge",type:"uint16"}],internalType:"struct IGamePlayer.BetData",name:"betData",type:"tuple"}],name:"wager",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"bytes",name:"bet",type:"bytes"},{internalType:"address",name:"receiver",type:"address"},{internalType:"address",name:"affiliate",type:"address"},{components:[{internalType:"address",name:"token",type:"address"},{internalType:"uint256",name:"betAmount",type:"uint256"},{internalType:"uint16",name:"betCount",type:"uint16"},{internalType:"uint256",name:"stopGain",type:"uint256"},{internalType:"uint256",name:"stopLoss",type:"uint256"},{internalType:"uint16",name:"maxHouseEdge",type:"uint16"}],internalType:"struct IGamePlayer.BetData",name:"betData",type:"tuple"}],name:"wagerWithData",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"token",type:"address"}],name:"withdrawTokenVRFFees",outputs:[],stateMutability:"nonpayable",type:"function"}];var st=[{inputs:[],name:"AccessDenied",type:"error"},{inputs:[{internalType:"uint256",name:"maxBetCount",type:"uint256"}],name:"BetCountTooHigh",type:"error"},{inputs:[],name:"ForbiddenToken",type:"error"},{inputs:[],name:"HouseEdgeTooHigh",type:"error"},{inputs:[],name:"HouseEdgeTooLow",type:"error"},{inputs:[],name:"InvalidAddress",type:"error"},{inputs:[],name:"InvalidMaxCallGas",type:"error"},{inputs:[],name:"InvalidParam",type:"error"},{inputs:[],name:"InvalidVRFSubId",type:"error"},{inputs:[],name:"NotFulfilled",type:"error"},{inputs:[],name:"NotPendingBet",type:"error"},{inputs:[{internalType:"address",name:"have",type:"address"},{internalType:"address",name:"want",type:"address"}],name:"OnlyCoordinatorCanFulfill",type:"error"},{inputs:[{internalType:"address",name:"have",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"coordinator",type:"address"}],name:"OnlyOwnerOrCoordinator",type:"error"},{inputs:[],name:"TokenHasPendingBets",type:"error"},{inputs:[{internalType:"uint256",name:"minBetAmount",type:"uint256"}],name:"UnderMinBetAmount",type:"error"},{inputs:[{internalType:"uint256",name:"minBetCount",type:"uint256"}],name:"UnderMinBetCount",type:"error"},{inputs:[],name:"WrongGasValueToCoverVRFFee",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"id",type:"uint256"},{indexed:false,internalType:"address",name:"user",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"BetRefunded",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"vrfCoordinator",type:"address"}],name:"CoordinatorSet",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"amount",type:"uint256"}],name:"DistributeTokenVRFFees",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"from",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"}],name:"OwnershipTransferRequested",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"from",type:"address"},{indexed:true,internalType:"address",name:"to",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"address",name:"affiliate",type:"address"},{indexed:false,internalType:"uint16",name:"previousHouseEdge",type:"uint16"},{indexed:false,internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"SetAffiliateHouseEdge",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint16",name:"requestConfirmations",type:"uint16"},{indexed:false,internalType:"bytes32",name:"keyHash",type:"bytes32"},{indexed:false,internalType:"contract IVRFV2PlusWrapperCustom",name:"chainlinkWrapper",type:"address"},{indexed:false,internalType:"uint32",name:"VRFCallbackGasExtraBet",type:"uint32"},{indexed:false,internalType:"bool",name:"nativePayment",type:"bool"}],name:"SetChainlinkConfig",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint16",name:"previousHouseEdge",type:"uint16"},{indexed:false,internalType:"uint16",name:"houseEdge",type:"uint16"}],name:"SetHouseEdge",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint256",name:"previousMaxCallGas",type:"uint256"},{indexed:false,internalType:"uint256",name:"maxCallGas",type:"uint256"}],name:"SetMaxCallGas",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"uint64",name:"previousRefundTime",type:"uint64"},{indexed:false,internalType:"uint64",name:"refundTime",type:"uint64"}],name:"SetRefundTime",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint32",name:"previousCallbackGasBase",type:"uint32"},{indexed:false,internalType:"uint32",name:"callbackGasBase",type:"uint32"}],name:"SetVRFCallbackGasBase",type:"event"},{anonymous:false,inputs:[{indexed:true,internalType:"address",name:"token",type:"address"},{indexed:false,internalType:"uint256",name:"previousSubId",type:"uint256"},{indexed:false,internalType:"uint256",name:"subId",type:"uint256"}],name:"SetVRFSubId",type:"event"},{anonymous:false,inputs:[{indexed:false,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{inputs:[],name:"BANK",outputs:[{internalType:"contract IBankGame",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"WRAPPED",outputs:[{internalType:"contract IWrapped",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"}],name:"