@azuro-org/sdk
Version:
One-stop solution for building betting dApps on the Azuro Protocol.
44 lines (43 loc) • 1.79 kB
TypeScript
import { type Address } from 'viem';
import { type ChainId, type CreateUserFavoriteResult } from '@azuro-org/toolkit';
export type UseCreateUserFavoriteProps = {
affiliate: Address;
chainId?: ChainId;
onSuccess?: (data: CreateUserFavoriteResult) => void;
onError?: (err: Error) => void;
};
export type CreateUserFavoriteVariables = {
country: string;
league?: string;
sportId: number;
};
/**
* Create a new user favorite (country or league). Reads the current SIWE token from
* localStorage via `readAuth`. If the wallet is not connected the mutation throws
* `AuthError('NoWallet')`; if no valid token is cached it throws
* `AuthError('NotAuthenticated')` — call `useAuth().signIn()` and retry.
*
* After a successful creation the `user/favorites` query is automatically invalidated
* so dependent `useUserFavorites` hooks refetch.
*
* - Docs: https://gem.azuro.org/hub/apps/sdk/user/useCreateUserFavorite
*
* @example
* import { useAuth, useCreateUserFavorite } from '@azuro-org/sdk'
*
* const { signIn, isAuthenticated } = useAuth({ affiliate: '0x...' })
* const { create, isPending, error } = useCreateUserFavorite({ affiliate: '0x...' })
*
* const handleFavorite = async () => {
* if (!isAuthenticated) {
* await signIn()
* }
* create({ country: 'England', league: 'Premier League', sportId: 1 })
* }
* */
export declare const useCreateUserFavorite: (props: UseCreateUserFavoriteProps) => {
create: import("@tanstack/react-query").UseMutateFunction<CreateUserFavoriteResult, Error, CreateUserFavoriteVariables, unknown>;
createAsync: import("@tanstack/react-query").UseMutateAsyncFunction<CreateUserFavoriteResult, Error, CreateUserFavoriteVariables, unknown>;
isPending: boolean;
error: Error | null;
};