@funkit/connect
Version:
Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.
37 lines (36 loc) • 1.78 kB
TypeScript
import type { EIP1193Provider } from 'viem';
/** Combines members of an intersection into a readable type. */
export type Evaluate<type> = {
[key in keyof type]: type[key];
} & unknown;
export type WalletProviderFlags = 'isApexWallet' | 'isAvalanche' | 'isBackpack' | 'isBifrost' | 'isBitKeep' | 'isBitski' | 'isBlockWallet' | 'isBraveWallet' | 'isCoinbaseWallet' | 'isDawn' | 'isEnkrypt' | 'isExodus' | 'isFrame' | 'isFrontier' | 'isGamestop' | 'isHyperPay' | 'isImToken' | 'isKuCoinWallet' | 'isMathWallet' | 'isMetaMask' | 'isNestWallet' | 'isOkxWallet' | 'isOKExWallet' | 'isOneInchAndroidWallet' | 'isOneInchIOSWallet' | 'isOpera' | 'isPhantom' | 'isPortal' | 'isRabby' | 'isRainbow' | 'isStatus' | 'isTally' | 'isTokenPocket' | 'isTokenary' | 'isTrust' | 'isTrustWallet' | 'isXDEFI' | 'isZerion' | 'isTalisman' | 'isZeal' | 'isCoin98' | 'isMEWwallet' | 'isSafeheron' | 'isSafePal';
export type WalletProvider = Evaluate<EIP1193Provider & {
[key in WalletProviderFlags]?: true | undefined;
} & {
providers?: any[] | undefined;
/** Only exists in MetaMask as of 2022/04/03 */
_events?: {
connect?: (() => void) | undefined;
} | undefined;
/** Only exists in MetaMask as of 2022/04/03 */
_state?: {
accounts?: string[];
initialized?: boolean;
isConnected?: boolean;
isPermanentlyDisconnected?: boolean;
isUnlocked?: boolean;
} | undefined;
}>;
export type WindowProvider = {
coinbaseWalletExtension?: WalletProvider | undefined;
ethereum?: WalletProvider | undefined;
phantom?: {
ethereum: WalletProvider;
} | undefined;
providers?: any[] | undefined;
};
export type QueryResult<T> = {
data: T | undefined;
error: Error | null;
isLoading: boolean;
};