@reown/appkit-controllers
Version:
The full stack toolkit to build onchain app UX.
84 lines (83 loc) • 3.16 kB
TypeScript
import type { ConnectMethod, Connector, Features, WcWallet } from './TypeUtil.js';
interface AppKitWallet extends WcWallet {
installed: boolean;
}
export declare const WalletUtil: {
filterOutDuplicatesByRDNS(wallets: WcWallet[]): WcWallet[];
filterOutDuplicatesByIds(wallets: WcWallet[]): WcWallet[];
filterOutDuplicateWallets(wallets: WcWallet[]): WcWallet[];
/**
* Marks wallets as installed based on available connectors and sorts them
* according to both installation status and featuredWalletIds order.
*
* @param wallets - Array of wallets to process
* @returns Array of wallets marked as installed and sorted by priority
*/
markWalletsAsInstalled(wallets: WcWallet[]): AppKitWallet[];
getConnectOrderMethod(_features: Features | undefined, _connectors: Connector[]): ConnectMethod[];
isExcluded(wallet: WcWallet): boolean;
markWalletsWithDisplayIndex(wallets: WcWallet[]): {
display_index: number;
id: string;
name: string;
badge_type?: import("./TypeUtil.js").BadgeType;
description?: string;
chains?: import("@reown/appkit-common").CaipNetworkId[];
homepage?: string;
image_id?: string;
image_url?: string;
order?: number;
link_mode?: string | null;
mobile_link?: string | null;
desktop_link?: string | null;
webapp_link?: string | null;
app_store?: string | null;
play_store?: string | null;
chrome_store?: string | null;
rdns?: string | null;
injected?: {
namespace?: string;
injected_id?: string;
}[] | null;
supports_wc?: boolean;
supports_wcpay?: boolean;
}[];
/**
* Filters wallets based on WalletConnect support and platform requirements.
*
* On mobile only wallets with WalletConnect support and some mandatory wallets are shown.
* On desktop with Appkit Core only wallets with WalletConnect support are shown.
* On desktop with Appkit all wallets are shown.
*
* @param wallets - Array of wallets to filter
* @returns Filtered array of wallets based on WalletConnect support and platform
*/
filterWalletsByWcSupport(wallets: WcWallet[]): WcWallet[];
getWalletConnectWallets(allWallets: WcWallet[]): {
display_index: number;
id: string;
name: string;
badge_type?: import("./TypeUtil.js").BadgeType;
description?: string;
chains?: import("@reown/appkit-common").CaipNetworkId[];
homepage?: string;
image_id?: string;
image_url?: string;
order?: number;
link_mode?: string | null;
mobile_link?: string | null;
desktop_link?: string | null;
webapp_link?: string | null;
app_store?: string | null;
play_store?: string | null;
chrome_store?: string | null;
rdns?: string | null;
injected?: {
namespace?: string;
injected_id?: string;
}[] | null;
supports_wc?: boolean;
supports_wcpay?: boolean;
}[];
};
export {};