UNPKG

@quirks/core

Version:
91 lines (90 loc) 3.17 kB
import { StdSignature } from '@cosmjs/amino'; import { CosmosWallet } from '@nabla-studio/wallet-registry'; import { SignClientTypes } from '@walletconnect/types'; export type Logo = { png?: string; svg?: string; } | { [key: string]: string; }; export interface WalletLogo { dark?: Logo; light?: Logo; } export interface DownloadInfo { browser?: string; device?: string; icon?: string; link: string; } export interface WalletEvents { keystorechange: string; } export interface WalletOptions extends CosmosWallet { /** * Window extension key */ windowKey?: string | string[]; events?: WalletEvents; } export interface SignOptions { readonly preferNoSetFee?: boolean; readonly preferNoSetMemo?: boolean; readonly disableBalanceCheck?: boolean; } export declare const WcProviderEventType: { chainChanged: (chainId: string) => void; accountsChanged: (accounts: string[]) => void; }; export declare const WcEventTypes: { readonly display_uri: (uri: string) => void; readonly session_ping: (payload: SignClientTypes.EventArguments["session_ping"]) => void; readonly session_event: (payload: SignClientTypes.EventArguments["session_event"]) => void; readonly session_update: (payload: SignClientTypes.EventArguments["session_update"]) => void; readonly session_delete: (payload: SignClientTypes.EventArguments["session_delete"]) => void; readonly session_proposal: (payload: SignClientTypes.EventArguments["session_proposal"]) => void; readonly session_extend: (payload: SignClientTypes.EventArguments["session_extend"]) => void; readonly session_expire: (payload: SignClientTypes.EventArguments["session_expire"]) => void; readonly session_request: (payload: SignClientTypes.EventArguments["session_request"]) => void; readonly session_request_sent: (payload: SignClientTypes.EventArguments["session_request_sent"]) => void; readonly proposal_expire: (payload: SignClientTypes.EventArguments["proposal_expire"]) => void; }; export declare const ExtensionWalletEventTypes: { readonly keystorechange: () => void; }; export type WalletEventTypes = typeof ExtensionWalletEventTypes & typeof WcEventTypes & typeof WcProviderEventType; export type WalletEventNames = keyof WalletEventTypes; export interface WalletConnectAccountData { address: string; algo: string; pubkey: string; } export interface WalletConnectSessionKey { name: string; algo: string; pubKey: string; address: string | null; bech32Address: string; isNanoLedger: boolean | null; isKeystone: boolean | null; } export interface WalletConnectDirectSignDoc { chainId: string; accountNumber: string; authInfoBytes: string; bodyBytes: string; } export interface WalletConnectDirectSignDoc { chainId: string; accountNumber: string; authInfoBytes: string; bodyBytes: string; } export interface WalletConnectSignDirectRequest { signerAddress: string; signDoc: WalletConnectDirectSignDoc; } export interface WalletConnectSignDirectResponse { signature: StdSignature; signed: WalletConnectDirectSignDoc; }