@betswirl/wagmi-provider
Version:
Wagmi client & wallet for Betswirl core SDK
131 lines (127 loc) • 8.89 kB
TypeScript
import * as _betswirl_sdk_core from '@betswirl/sdk-core';
import { BetSwirlClient, BetSwirlClientOptions, NormalCasinoPlacedBet, CasinoWaitRollOptions, CasinoRolledBet, WeightedCasinoPlacedBet, WeightedGameConfiguration, CoinTossBetParams, CasinoPlaceBetOptions, PlaceBetCallbacks, CasinoChainId, CoinTossPlacedBet, CoinTossFreebetParams, PlaceFreebetCallbacks, CoinTossRolledBet, DiceBetParams, DicePlacedBet, DiceFreebetParams, DiceRolledBet, RouletteBetParams, RoulettePlacedBet, RouletteFreebetParams, RouletteRolledBet, KenoBetParams, KenoPlacedBet, KenoFreebetParams, KenoRolledBet, WheelBetParams, WheelPlacedBet, WheelFreebetParams, WheelRolledBet, PlinkoBetParams, PlinkoPlacedBet, PlinkoFreebetParams, PlinkoRolledBet, WeightedGameBetParams, WeightedGamePlacedBet, WeightedGameFreebetParams, CasinoToken, CASINO_GAME_TYPE, CasinoGameToken, Token, BetRequirements, GAS_PRICE_TYPE, KenoConfiguration, ChainId, Leaderboard, LeaderboardClaimRewardsResult, BetSwirlWallet, BetSwirlFunctionData, BetSwirlExtendedEventData } from '@betswirl/sdk-core';
import { Config } from '@wagmi/core';
import * as viem from 'viem';
import { TransactionReceipt, Hex, Address, Hash, PublicClient, Abi, CallReturnType } from 'viem';
declare class WagmiBetSwirlClient extends BetSwirlClient {
wagmiConfig: Config;
constructor(wagmiConfig: Config, betSwirlDefaultOptions?: BetSwirlClientOptions);
waitRolledBet(placedBet: NormalCasinoPlacedBet, options?: CasinoWaitRollOptions): Promise<{
rolledBet: CasinoRolledBet;
receipt: TransactionReceipt;
}>;
waitRolledBet(placedBet: WeightedCasinoPlacedBet, options: CasinoWaitRollOptions | undefined, weightedGameConfiguration: WeightedGameConfiguration, houseEdge: number): Promise<{
rolledBet: CasinoRolledBet;
receipt: TransactionReceipt;
}>;
playCoinToss(params: CoinTossBetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceBetCallbacks, chainId?: CasinoChainId): Promise<{
placedBet: CoinTossPlacedBet;
receipt: TransactionReceipt;
}>;
playFreebetCoinToss(params: CoinTossFreebetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceFreebetCallbacks): Promise<{
placedFreebet: CoinTossPlacedBet;
receipt: TransactionReceipt;
}>;
waitCoinToss(placedBet: CoinTossPlacedBet, options?: CasinoWaitRollOptions): Promise<{
rolledBet: CoinTossRolledBet;
receipt: TransactionReceipt;
}>;
playDice(params: DiceBetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceBetCallbacks, chainId?: CasinoChainId): Promise<{
placedBet: DicePlacedBet;
receipt: TransactionReceipt;
}>;
playFreebetDice(params: DiceFreebetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceFreebetCallbacks): Promise<{
placedFreebet: DicePlacedBet;
receipt: TransactionReceipt;
}>;
waitDice(placedBet: DicePlacedBet, options?: CasinoWaitRollOptions): Promise<{
rolledBet: DiceRolledBet;
receipt: TransactionReceipt;
}>;
playRoulette(params: RouletteBetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceBetCallbacks, chainId?: CasinoChainId): Promise<{
placedBet: RoulettePlacedBet;
receipt: TransactionReceipt;
}>;
playFreebetRoulette(params: RouletteFreebetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceFreebetCallbacks): Promise<{
placedFreebet: RoulettePlacedBet;
receipt: TransactionReceipt;
}>;
waitRoulette(placedBet: RoulettePlacedBet, options?: CasinoWaitRollOptions): Promise<{
rolledBet: RouletteRolledBet;
receipt: TransactionReceipt;
}>;
playKeno(params: KenoBetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceBetCallbacks, chainId?: CasinoChainId): Promise<{
placedBet: KenoPlacedBet;
receipt: TransactionReceipt;
}>;
playFreebetKeno(params: KenoFreebetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceFreebetCallbacks): Promise<{
placedFreebet: KenoPlacedBet;
receipt: TransactionReceipt;
}>;
waitKeno(placedBet: KenoPlacedBet, options?: CasinoWaitRollOptions): Promise<{
rolledBet: KenoRolledBet;
receipt: TransactionReceipt;
}>;
playWheel(params: WheelBetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceBetCallbacks, chainId?: CasinoChainId): Promise<{
placedBet: WheelPlacedBet;
receipt: TransactionReceipt;
}>;
playFreebetWheel(params: WheelFreebetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceFreebetCallbacks): Promise<{
placedFreebet: WheelPlacedBet;
receipt: TransactionReceipt;
}>;
waitWheel(placedBet: WheelPlacedBet, weightedGameConfiguration: WeightedGameConfiguration, houseEdge: number, options?: CasinoWaitRollOptions): Promise<{
rolledBet: WheelRolledBet;
receipt: TransactionReceipt;
}>;
playPlinko(params: PlinkoBetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceBetCallbacks, chainId?: CasinoChainId): Promise<{
placedBet: PlinkoPlacedBet;
receipt: TransactionReceipt;
}>;
playFreebetPlinko(params: PlinkoFreebetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceFreebetCallbacks): Promise<{
placedFreebet: PlinkoPlacedBet;
receipt: TransactionReceipt;
}>;
waitPlinko(placedBet: PlinkoPlacedBet, weightedGameConfiguration: WeightedGameConfiguration, houseEdge: number, options?: CasinoWaitRollOptions): Promise<{
rolledBet: PlinkoRolledBet;
receipt: TransactionReceipt;
}>;
playWeightedGame(params: WeightedGameBetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceBetCallbacks, chainId?: CasinoChainId): Promise<{
placedBet: WeightedGamePlacedBet;
receipt: TransactionReceipt;
}>;
playFreebetWeightedGame(params: WeightedGameFreebetParams, options?: CasinoPlaceBetOptions, callbacks?: PlaceFreebetCallbacks): Promise<{
placedFreebet: PlinkoPlacedBet;
receipt: TransactionReceipt;
}>;
getCasinoGames(onlyActive?: boolean, chainId?: CasinoChainId): Promise<_betswirl_sdk_core.CasinoGame[]>;
getCasinoTokens(onlyActive?: boolean, chainId?: CasinoChainId): Promise<CasinoToken[]>;
getCasinoGameToken(casinoToken: CasinoToken, game: CASINO_GAME_TYPE, affiliate?: Hex): Promise<CasinoGameToken>;
getBetRequirements(token: Token, multiplier: number | number[], game: CASINO_GAME_TYPE, chainId?: CasinoChainId): Promise<BetRequirements>;
getChainlinkVrfCost(game: CASINO_GAME_TYPE, tokenAddress: Hex, betCount: number, gasPrice?: bigint, gasPriceType?: GAS_PRICE_TYPE, chainId?: CasinoChainId): Promise<bigint>;
getKenoConfiguration(token: Token, chainId?: CasinoChainId): Promise<KenoConfiguration>;
getWeighedGameConfiguration(configId: number | string, chainId?: CasinoChainId): Promise<WeightedGameConfiguration>;
getClaimableAmount(leaderboardOnChainId: number | bigint, playerAddress: Address, chainId: ChainId): Promise<bigint>;
claimLeaderboardRewards(leaderboard: Leaderboard, receiver: Address, onClaimPending?: (tx: Hash, result: LeaderboardClaimRewardsResult) => void | Promise<void>): Promise<{
receipt: TransactionReceipt;
result: LeaderboardClaimRewardsResult;
}>;
_switchChain(chainId?: ChainId): Promise<void>;
static init(wagmiConfig: Config, options?: BetSwirlClientOptions): WagmiBetSwirlClient;
}
declare function initWagmiBetSwirlClient(wagmiConfig: Config, options?: BetSwirlClientOptions): WagmiBetSwirlClient;
declare class WagmiBetSwirlWallet extends BetSwirlWallet {
private wagmiConfig;
constructor(wagmiConfig: Config);
getChainId(): number;
getAccount(chainId?: number): viem.Account | undefined;
getPublicClient(chainId?: number): PublicClient;
readContract<TFunctionData extends BetSwirlFunctionData<Abi, string, readonly any[]>>(functionData: TFunctionData, gasPrice: bigint): Promise<CallReturnType>;
readContract<TFunctionData extends BetSwirlFunctionData<Abi, string, readonly any[]>, TReturnType = any>(functionData: TFunctionData, gasPrice?: undefined): Promise<TReturnType>;
readContracts<TFunctionDatas extends BetSwirlFunctionData<Abi, string, readonly any[]>[], TReturnTypes extends any[]>(functionDatas: [...TFunctionDatas]): Promise<TReturnTypes>;
getTransactionReceipt(txHash: Hash): Promise<TransactionReceipt>;
watchContractEvent<TEventData extends BetSwirlExtendedEventData<Abi, string, any>>(eventData: TEventData): () => void;
writeContract<TFunctionData extends BetSwirlFunctionData<Abi, string, readonly any[]>>(functionData: TFunctionData, value?: bigint, gasPrice?: bigint): Promise<Hash>;
waitTransaction(txHash: Hash, pollingInterval?: number): Promise<TransactionReceipt>;
}
export { WagmiBetSwirlClient, WagmiBetSwirlWallet, initWagmiBetSwirlClient };