@azuro-org/sdk
Version:
One-stop solution for building betting dApps on the Azuro Protocol.
48 lines (47 loc) • 2.23 kB
TypeScript
import { type UseQueryResult } from '@tanstack/react-query';
import { type ChainId, type Selection } from '@azuro-org/toolkit';
import { type Address } from 'viem';
import { type QueryParameterWithSelect } from '../../global';
type BetCalculation = {
minBet: string | undefined;
maxBet: string;
};
export type UseBetCalculationQueryFnData = BetCalculation;
export type UseBetCalculationProps<TData = UseBetCalculationQueryFnData> = {
selections: Selection[];
chainId?: ChainId;
account: Address | undefined;
query?: QueryParameterWithSelect<UseBetCalculationQueryFnData, TData>;
};
export type GetUseBetCalculationQueryOptionsProps<TData = UseBetCalculationQueryFnData> = UseBetCalculationProps<TData> & {
chainId: ChainId;
};
export declare const getUseBetCalculationQueryOptions: <TData = UseBetCalculationQueryFnData>(params: GetUseBetCalculationQueryOptionsProps<TData>) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<BetCalculation, Error, TData, readonly unknown[]>, "queryFn"> & {
queryFn?: import("@tanstack/query-core").QueryFunction<BetCalculation, readonly unknown[], never> | undefined;
} & {
queryKey: readonly unknown[] & {
[dataTagSymbol]: BetCalculation;
[dataTagErrorSymbol]: Error;
};
};
/**
* Calculates the minimum and maximum bet amount for given selections.
* User's account is required to provide the **correct** maximum bet amount.
*
* Used in betslip provider (`useDetailedBetslip` hook)
*
* - Docs: https://gem.azuro.org/hub/apps/sdk/data-hooks/useBetCalculation
*
* @example <caption>Basic usage</caption>
* import { useBetCalculation } from '@azuro-org/sdk'
*
* const { data, isFetching } = useBetCalculation({ selections, account })
* const { minBet, maxBet } = data || {}
*
* @example <caption>Get the same from `useDetailedBetslip` (`BetslipProvider`) for selections in betslip</caption>
* import { useDetailedBetslip } from '@azuro-org/sdk'
*
* const { minBet, maxBet, isBetCalculationFetching } = useDetailedBetslip()
* */
export declare const useBetCalculation: <TData = UseBetCalculationQueryFnData>(props: UseBetCalculationProps<TData>) => UseQueryResult<TData>;
export {};