@0xfutbol/id
Version:
React component library with shared providers for 0xFutbol ID
43 lines (42 loc) • 1.69 kB
TypeScript
import { ChainName } from "@0xfutbol/constants";
import { BigNumber, Contract, Signer } from "ethers";
import * as React from "react";
import { Web3ContextState } from "@/providers/Web3Context";
import { AuthStatus } from "@/providers/types";
type OxFutbolIdProviderProps = {
backendUrl: string;
chains: Array<ChainName>;
children: React.ReactNode;
sponsorGas?: boolean;
};
type OxFutbolIdState = {
address?: string;
chainId?: number;
defaultChain?: ChainName;
signer?: Record<ChainName, Signer>;
status: string;
userDetails?: Web3ContextState["userDetails"];
walletProvider: "matchain_id" | "thirdweb" | "metasoccer-waas" | "unknown";
web3Ready: boolean;
connect: (walletKey: string) => Promise<void>;
disconnect: () => Promise<void>;
nativeBalanceOf: (address: string, chainId: number) => Promise<BigNumber>;
newContract: (chain: ChainName, contractAddress: string, contractAbi: any) => Contract;
switchChain: (chain: ChainName) => Promise<void>;
authStatus: AuthStatus;
isClaimPending: boolean;
isWaitingForSignature: boolean;
username?: string;
userClaims?: Record<string, any>;
claim: (username: string, email?: string) => Promise<void>;
loginWithWaas?: (params: {
jwt: string;
walletId: string;
walletAddress: string;
waasBaseUrl: string;
waasSessionToken: string;
}) => Promise<void>;
};
export declare const OxFutbolIdContext: React.Context<OxFutbolIdState | undefined>;
export declare function OxFutbolIdProvider({ backendUrl, chains, children, sponsorGas }: OxFutbolIdProviderProps): import("react/jsx-runtime").JSX.Element;
export {};