@broxus/tvm-connect
Version:
Nekoton-compatible wallets connector.
50 lines (49 loc) • 1.64 kB
TypeScript
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;
}