UNPKG

@reown/appkit-controllers

Version:

#### 🔗 [Website](https://reown.com/appkit)

57 lines (56 loc) • 4.04 kB
import type { CaipAddress, ChainNamespace } from '@reown/appkit-common'; import type { Balance } from '@reown/appkit-common'; import type { AccountType, AccountTypeMap, ConnectedWalletInfo, PreferredAccountTypes, SocialProvider, User } from '../utils/TypeUtil.js'; export interface AccountControllerState { currentTab: number; caipAddress?: CaipAddress; user?: User; address?: string; addressLabels: Map<string, string>; allAccounts: AccountType[]; balance?: string; balanceSymbol?: string; balanceLoading?: boolean; profileName?: string | null; profileImage?: string | null; addressExplorerUrl?: string; smartAccountDeployed?: boolean; socialProvider?: SocialProvider; tokenBalance?: Balance[]; shouldUpdateToAddress?: string; connectedWalletInfo?: ConnectedWalletInfo; preferredAccountTypes?: PreferredAccountTypes; socialWindow?: Window; farcasterUrl?: string; status?: 'reconnecting' | 'connected' | 'disconnected' | 'connecting'; lastRetry?: number; } export declare const AccountController: { state: AccountControllerState; replaceState(newState: AccountControllerState | undefined): void; subscribe(callback: (val: AccountControllerState) => void): () => void; subscribeKey<K extends keyof AccountControllerState>(property: K, callback: (val: AccountControllerState[K]) => void, chain?: ChainNamespace): () => void; setStatus(status: AccountControllerState["status"], chain: ChainNamespace | undefined): void; getCaipAddress(chain: ChainNamespace | undefined): `eip155:${string}:${string}` | `eip155:${number}:${string}` | `solana:${string}:${string}` | `solana:${number}:${string}` | `polkadot:${string}:${string}` | `polkadot:${number}:${string}` | `bip122:${string}:${string}` | `bip122:${number}:${string}` | `cosmos:${string}:${string}` | `cosmos:${number}:${string}` | undefined; setCaipAddress(caipAddress: AccountControllerState["caipAddress"], chain: ChainNamespace | undefined): void; setBalance(balance: AccountControllerState["balance"], balanceSymbol: AccountControllerState["balanceSymbol"], chain: ChainNamespace): void; setProfileName(profileName: AccountControllerState["profileName"], chain: ChainNamespace): void; setProfileImage(profileImage: AccountControllerState["profileImage"], chain?: ChainNamespace): void; setUser(user: AccountControllerState["user"], chain: ChainNamespace | undefined): void; setAddressExplorerUrl(explorerUrl: AccountControllerState["addressExplorerUrl"], chain: ChainNamespace | undefined): void; setSmartAccountDeployed(isDeployed: boolean, chain: ChainNamespace | undefined): void; setCurrentTab(currentTab: AccountControllerState["currentTab"]): void; setTokenBalance(tokenBalance: AccountControllerState["tokenBalance"], chain: ChainNamespace | undefined): void; setShouldUpdateToAddress(address: string, chain: ChainNamespace | undefined): void; setAllAccounts<N extends ChainNamespace>(accounts: AccountTypeMap[N][], namespace: N): void; addAddressLabel(address: string, label: string, chain: ChainNamespace | undefined): void; removeAddressLabel(address: string, chain: ChainNamespace | undefined): void; setConnectedWalletInfo(connectedWalletInfo: AccountControllerState["connectedWalletInfo"], chain: ChainNamespace): void; setPreferredAccountType(preferredAccountType: PreferredAccountTypes[ChainNamespace], chain: ChainNamespace): void; setPreferredAccountTypes(preferredAccountTypes: PreferredAccountTypes): void; setSocialProvider(socialProvider: AccountControllerState["socialProvider"], chain: ChainNamespace | undefined): void; setSocialWindow(socialWindow: AccountControllerState["socialWindow"], chain: ChainNamespace | undefined): void; setFarcasterUrl(farcasterUrl: AccountControllerState["farcasterUrl"], chain: ChainNamespace | undefined): void; fetchTokenBalance(onError?: (error: unknown) => void): Promise<Balance[]>; resetAccount(chain: ChainNamespace): void; };