UNPKG

@broxus/tvm-connect

Version:

Nekoton-compatible wallets connector.

50 lines (49 loc) 1.64 kB
import { type Permissions, type Provider } from 'everscale-inpage-provider'; import { type NekotonConnector } from './core'; export type Account = Permissions['accountInteraction']; export declare enum ConnectionType { NEKOTON_WALLET = "NEKOTON_WALLET", NEKOTON_ADAPTER = "NEKOTON_ADAPTER", EXTERNAL_APP = "EXTERNAL_APP" } export type TvmProviderAvailablePlatforms = 'ios' | 'android' | 'chromeExtension' | 'firefoxExtension'; export type TvmProviderPlatformLinks = Partial<Record<TvmProviderAvailablePlatforms, string>>; export interface TvmWalletProviderConfig { connector: NekotonConnector; info: { description?: string; icon?: string; links?: TvmProviderPlatformLinks & { homepage?: string; universalLink?: string; }; name: string; }; id: string; isRecent?: boolean; minVersion?: string; } export declare enum TvmWalletRdnsList { SPARX_WALLET = "com.sparxwallet", SPARX_WALLET_MOBILE = "com.broxus.sparx.app", EVER_WALLET = "net.everwallet", EVER_WALLET_MOBILE = "com.broxus.crystal.app", VENOM_WALLET = "com.venomwallet", VENOM_WALLET_MOBILE = "com.venom.wallet" } export declare enum TvmProviderEvent { REQUEST_PROVIDER = "tvm:requestProvider", ANNOUNCE_PROVIDER = "tvm:announceProvider" } export interface TvmAnnounceProviderEvent extends CustomEvent { type: TvmProviderEvent.ANNOUNCE_PROVIDER; detail: TvmProviderDetail; } export interface TvmProviderDetail { info: TvmProviderInfo; provider: Provider; } export interface TvmProviderInfo { name: string; rdns?: string; }