@reown/appkit-controllers
Version:
The full stack toolkit to build onchain app UX.
98 lines (97 loc) • 3.97 kB
TypeScript
import type { ChainNamespace } from '@reown/appkit-common';
import { FetchUtil } from '../utils/FetchUtil.js';
import type { ApiGetWalletsRequest, BadgeType, ProjectLimits, Tier, WcWallet } from '../utils/TypeUtil.js';
export declare const api: FetchUtil;
export interface ApiControllerState {
promises: Record<string, Promise<unknown>>;
page: number;
count: number;
featured: WcWallet[];
allFeatured: WcWallet[];
recommended: WcWallet[];
allRecommended: WcWallet[];
wallets: WcWallet[];
explorerWallets: WcWallet[];
explorerFilteredWallets: WcWallet[];
filteredWallets: WcWallet[];
search: WcWallet[];
isAnalyticsEnabled: boolean;
excludedWallets: {
rdns?: string | null;
name: string;
}[];
isFetchingRecommendedWallets: boolean;
mobileFilteredOutWalletsLength?: number;
plan: {
tier: Tier;
hasExceededUsageLimit: boolean;
limits: ProjectLimits;
};
}
interface PrefetchParameters {
fetchConnectorImages?: boolean;
fetchFeaturedWallets?: boolean;
fetchRecommendedWallets?: boolean;
fetchNetworkImages?: boolean;
fetchWalletRanks?: boolean;
}
type StateKey = keyof ApiControllerState;
export declare const ApiController: {
state: ApiControllerState;
subscribeKey<K extends StateKey>(key: K, callback: (value: ApiControllerState[K]) => void): () => void;
_getSdkProperties(): {
projectId: string;
st: "appkit";
sv: import("../utils/TypeUtil.js").SdkVersion;
};
_filterOutExtensions(wallets: WcWallet[]): WcWallet[];
_fetchWalletImage(imageId: string): Promise<void>;
_fetchNetworkImage(imageId: string): Promise<void>;
_fetchConnectorImage(imageId: string): Promise<void>;
_fetchCurrencyImage(countryCode: string): Promise<void>;
_fetchTokenImage(symbol: string): Promise<void>;
_filterWalletsByPlatform(wallets: WcWallet[]): {
filteredWallets: WcWallet[];
mobileFilteredOutWalletsLength: number;
};
fetchProjectConfig(): Promise<import("../utils/TypeUtil.js").TypedFeatureConfig[]>;
fetchUsage(): Promise<void>;
fetchAllowedOrigins(): Promise<string[]>;
fetchNetworkImages(): Promise<void>;
fetchConnectorImages(): Promise<void>;
fetchCurrencyImages(currencies?: string[]): Promise<void>;
fetchTokenImages(tokens?: string[]): Promise<void>;
fetchWallets(params: Omit<ApiGetWalletsRequest, "chains"> & {
chains?: string;
}): Promise<{
data: WcWallet[];
count: number;
mobileFilteredOutWalletsLength: number;
}>;
prefetchWalletRanks(): Promise<void>;
fetchFeaturedWallets(): Promise<void>;
fetchRecommendedWallets(): Promise<void>;
fetchWalletsByPage({ page, entries: entriesOverride, badge, include: includeOverride, exclude: excludeOverride }: Pick<ApiGetWalletsRequest, "page"> & {
entries?: number;
badge?: BadgeType;
include?: string[];
exclude?: string[];
}): Promise<void>;
initializeExcludedWallets({ ids }: {
ids: string[];
}): Promise<void>;
searchWallet({ search, badge, entries: entriesOverride, page: pageOverride, include: includeOverride, exclude: excludeOverride }: Pick<ApiGetWalletsRequest, "search" | "badge"> & {
entries?: number;
page?: number;
include?: string[];
exclude?: string[];
}): Promise<void>;
initPromise(key: string, fetchFn: () => Promise<void>): Promise<unknown>;
prefetch({ fetchConnectorImages, fetchFeaturedWallets, fetchRecommendedWallets, fetchNetworkImages, fetchWalletRanks }?: PrefetchParameters): Promise<PromiseSettledResult<unknown>[]>;
prefetchAnalyticsConfig(): void;
fetchAnalyticsConfig(): Promise<void>;
filterByNamespaces(namespaces: ChainNamespace[] | undefined): void;
clearFilterByNamespaces(): void;
setFilterByNamespace(namespace: ChainNamespace | undefined): void;
};
export {};