UNPKG

@betswirl/sdk-core

Version:

VanillaJS library for Betswirl protocol

1,645 lines (1,642 loc) 1.21 MB
import * as viem from 'viem'; import { Chain, Hex, Abi, ContractFunctionName, Address, ContractEventName, Log, Hash, EncodeAbiParametersReturnType, erc20Abi, TransactionReceipt, PublicClient, Account, CallReturnType, WalletClient } from 'viem'; import * as abitype from 'abitype'; import * as viem_chains from 'viem/chains'; import { Chain as Chain$1 } from 'viem/chains'; import { EncodeAbiParametersReturnType as EncodeAbiParametersReturnType$1 } from 'viem/_types/utils/abi/encodeAbiParameters'; import { ApolloError, ApolloCache, DefaultOptions } from '@apollo/client/core/index.js'; import * as _apollo_client_core from '@apollo/client/core'; import * as viem__types_actions_siwe_verifySiweMessage from 'viem/_types/actions/siwe/verifySiweMessage'; import * as viem__types_utils_ccip from 'viem/_types/utils/ccip'; declare const bankAbi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "treasuryAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "teamWalletAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "wrappedGasToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "maxCallGas_"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "AccessDenied"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidParam"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidValue"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenExists"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenHasPendingBets"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenNotExists"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenNotPaused"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint16"; readonly name: "splitSum"; readonly type: "uint16"; }]; readonly name: "WrongHouseEdgeSplit"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "added"; readonly type: "bool"; }]; readonly name: "AddToken"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "affiliateAmount"; readonly type: "uint256"; }]; readonly name: "AffiliateRevenuesDistribution"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "bank"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "dividend"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "treasury"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "team"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "affiliate"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "affiliateAddress"; readonly type: "address"; }]; readonly name: "AllocateHouseEdgeAmount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newBalance"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "CashIn"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newBalance"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "profit"; readonly type: "uint256"; }]; readonly name: "Payout"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "treasuryAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "teamAmount"; readonly type: "uint256"; }]; readonly name: "ProtocolRevenuesDistribution"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "previousAdminRole"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "bytes32"; readonly name: "newAdminRole"; readonly type: "bytes32"; }]; readonly name: "RoleAdminChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleGranted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }]; readonly name: "RoleRevoked"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "allowed"; readonly type: "bool"; }]; readonly name: "SetAllowedToken"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "previousBalanceRisk"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "balanceRisk"; readonly type: "uint16"; }]; readonly name: "SetBalanceRisk"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "previousMaxCallGas"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "maxCallGas"; readonly type: "uint256"; }]; readonly name: "SetMaxCallGas"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "paused"; readonly type: "bool"; }]; readonly name: "SetPausedToken"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "previousTeamWallet"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "teamWallet"; readonly type: "address"; }]; readonly name: "SetTeamWallet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "bank"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "dividend"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "affiliate"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "treasury"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "team"; readonly type: "uint16"; }]; readonly name: "SetTokenHouseEdgeSplit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "previousBankrollProvider"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "bankrollProvider"; readonly type: "address"; }]; readonly name: "TokenBankrollProviderTransferAccepted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "newBankrollProvider"; readonly type: "address"; }]; readonly name: "TokenBankrollProviderTransferStarted"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "WithdrawDividend"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "DEFAULT_ADMIN_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "DIVIDEND_MANAGER_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "GAME_ROLE"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "TREASURY_WALLET"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "WRAPPED"; readonly outputs: readonly [{ readonly internalType: "contract IWrapped"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "acceptTokenBankrollProviderTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "added"; readonly type: "bool"; }]; readonly name: "addToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "affiliateAmounts"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "fees"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }]; readonly name: "cashIn"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "deposit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "getBalance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "getBankrollProvider"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "multiplier"; readonly type: "uint256"; }]; readonly name: "getBetRequirements"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: "isAllowedToken"; readonly type: "bool"; }, { readonly internalType: "uint256"; readonly name: "maxBetAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxBetCount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "multiplier"; readonly type: "uint256"; }]; readonly name: "getMaxBetAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "multiplier"; readonly type: "uint256"; }]; readonly name: "getMaxBetCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }]; readonly name: "getRoleAdmin"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "getRoleMember"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }]; readonly name: "getRoleMemberCount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getTokens"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint8"; readonly name: "decimals"; readonly type: "uint8"; }, { readonly internalType: "address"; readonly name: "tokenAddress"; readonly type: "address"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol"; readonly type: "string"; }, { readonly components: readonly [{ readonly internalType: "bool"; readonly name: "allowed"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "paused"; readonly type: "bool"; }, { readonly internalType: "uint16"; readonly name: "balanceRisk"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "bankrollProvider"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "pendingBankrollProvider"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "bank"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "dividend"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "affiliate"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "treasury"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "team"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "dividendAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "treasuryAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "teamAmount"; readonly type: "uint256"; }]; readonly internalType: "struct IBankAdmin.HouseEdgeSplitAndAllocation"; readonly name: "houseEdgeSplitAndAllocation"; readonly type: "tuple"; }]; readonly internalType: "struct IBankAdmin.Token"; readonly name: "token"; readonly type: "tuple"; }]; readonly internalType: "struct IBankAdmin.TokenMetadata[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "grantRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "hasRole"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxCallGas"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "profit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "fees"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }]; readonly name: "payout"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "renounceRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "role"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "revokeRole"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "allowed"; readonly type: "bool"; }]; readonly name: "setAllowedToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "balanceRisk"; readonly type: "uint16"; }]; readonly name: "setBalanceRisk"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint16"; readonly name: "bank"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "dividend"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "affiliate"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "treasury"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "team"; readonly type: "uint16"; }]; readonly name: "setHouseEdgeSplit"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "maxCallGas_"; readonly type: "uint256"; }]; readonly name: "setMaxCallGas"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "paused"; readonly type: "bool"; }]; readonly name: "setPausedToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "teamWallet_"; readonly type: "address"; }]; readonly name: "setTeamWallet"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "setTokenBankrollProviderTransfer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "teamWallet"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "tokens"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: "allowed"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "paused"; readonly type: "bool"; }, { readonly internalType: "uint16"; readonly name: "balanceRisk"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "bankrollProvider"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "pendingBankrollProvider"; readonly type: "address"; }, { readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "bank"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "dividend"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "affiliate"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "treasury"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "team"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "dividendAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "affiliateAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "treasuryAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "teamAmount"; readonly type: "uint256"; }]; readonly internalType: "struct IBankAdmin.HouseEdgeSplitAndAllocation"; readonly name: "houseEdgeSplitAndAllocation"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "withdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "withdrawAffiliateRevenues"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenAddress"; readonly type: "address"; }]; readonly name: "withdrawDividend"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "withdrawDividends"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "tokenAddress"; readonly type: "address"; }]; readonly name: "withdrawProtocolRevenues"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; declare const coinTossAbi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "bankAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "chainlinkCoordinatorAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "chainlinkWrapperAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "wrappedGasToken"; readonly type: "address"; }, { readonly internalType: "uint64"; readonly name: "refundTime_"; readonly type: "uint64"; }, { readonly internalType: "uint256"; readonly name: "maxCallGas_"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly []; readonly name: "AccessDenied"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "maxBetCount"; readonly type: "uint256"; }]; readonly name: "BetCountTooHigh"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ForbiddenToken"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "HouseEdgeTooHigh"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "HouseEdgeTooLow"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidAddress"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidMaxCallGas"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidParam"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidVRFSubId"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotFulfilled"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotPendingBet"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "have"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "want"; readonly type: "address"; }]; readonly name: "OnlyCoordinatorCanFulfill"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "have"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "coordinator"; readonly type: "address"; }]; readonly name: "OnlyOwnerOrCoordinator"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "TokenHasPendingBets"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minBetAmount"; readonly type: "uint256"; }]; readonly name: "UnderMinBetAmount"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "minBetCount"; readonly type: "uint256"; }]; readonly name: "UnderMinBetCount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "WrongGasValueToCoverVRFFee"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddress"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "id"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "BetRefunded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "vrfCoordinator"; readonly type: "address"; }]; readonly name: "CoordinatorSet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "DistributeTokenVRFFees"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "OwnershipTransferRequested"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Paused"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "id"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "chargedVRFCost"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "face"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "betCount"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "stopGain"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "stopLoss"; readonly type: "uint256"; }]; readonly name: "PlaceBet"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "id"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "totalBetAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "face"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "bool[]"; readonly name: "rolled"; readonly type: "bool[]"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "payout"; readonly type: "uint256"; }]; readonly name: "Roll"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "affiliate"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "previousHouseEdge"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "houseEdge"; readonly type: "uint16"; }]; readonly name: "SetAffiliateHouseEdge"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint16"; readonly name: "requestConfirmations"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "keyHash"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "contract IVRFV2PlusWrapperCustom"; readonly name: "chainlinkWrapper"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "VRFCallbackGasExtraBet"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "nativePayment"; readonly type: "bool"; }]; readonly name: "SetChainlinkConfig"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "previousHouseEdge"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "houseEdge"; readonly type: "uint16"; }]; readonly name: "SetHouseEdge"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "previousMaxCallGas"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "maxCallGas"; readonly type: "uint256"; }]; readonly name: "SetMaxCallGas"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint64"; readonly name: "previousRefundTime"; readonly type: "uint64"; }, { readonly indexed: false; readonly internalType: "uint64"; readonly name: "refundTime"; readonly type: "uint64"; }]; readonly name: "SetRefundTime"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "previousCallbackGasBase"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "callbackGasBase"; readonly type: "uint32"; }]; readonly name: "SetVRFCallbackGasBase"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "previousSubId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "subId"; readonly type: "uint256"; }]; readonly name: "SetVRFSubId"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "Unpaused"; readonly type: "event"; }, {