varaconnect
Version:
SDK to connect WalletConnect with Vara Network
54 lines (53 loc) • 2.38 kB
TypeScript
import { namespaces } from "../constants/constants";
import { WalletProviderType } from "../types/enums";
import { VaraSigner } from "./varaSigner";
import { SessionTypes } from "@walletconnect/types";
import { SignerPayloadJSON, SignerPayloadRaw } from "@polkadot/types/types";
import { Wallet, WalletAccount } from "@talismn/connect-wallets";
import { WalletConnectModal } from "@walletconnect/modal";
import { IUniversalProvider, NamespaceConfig } from "@walletconnect/universal-provider";
import { ModalSubFn } from "../types/types";
export declare class WalletConnect implements Wallet {
extensionName: WalletProviderType;
title: string;
installUrl: string;
logo: {
src: string;
alt: string;
};
_modal: WalletConnectModal | undefined;
_extension: IUniversalProvider | undefined;
_signer: VaraSigner | undefined;
_session: SessionTypes.Struct | undefined;
_namespace: NamespaceConfig | undefined;
_instance: IUniversalProvider | undefined;
onSessionDelete: () => void;
constructor({ onModalOpen, onModalClose, onSesssionDelete, }?: {
onModalOpen?: ModalSubFn;
onModalClose?: ModalSubFn;
onSesssionDelete?: () => void;
});
getInstance: () => Promise<IUniversalProvider>;
get extension(): IUniversalProvider | undefined;
get signer(): VaraSigner | undefined;
get modal(): WalletConnectModal | undefined;
get namespace(): NamespaceConfig | undefined;
get installed(): boolean;
get rawExtension(): IUniversalProvider | undefined;
initializeProvider: () => Promise<IUniversalProvider>;
transformError: (err: Error) => Error;
setNamespace: (namespace: keyof typeof namespaces) => Promise<void>;
getChains: () => string[];
subscribeToModalEvents: (onOpen?: ModalSubFn, onClose?: ModalSubFn) => void;
handleDisplayUri: (uri: string) => Promise<void>;
handleSessionUpdate: ({ session }: {
session: SessionTypes.Struct;
}) => void;
handleSessionDelete: () => void;
enable: (dappName: string) => Promise<void>;
getAccounts: () => Promise<WalletAccount[]>;
signTransaction(payload: SignerPayloadJSON): Promise<string>;
signMessage(raw: SignerPayloadRaw): Promise<string>;
subscribeAccounts: () => Promise<void>;
disconnect: () => void;
}