@quirks/core
Version:
91 lines (90 loc) • 3.17 kB
TypeScript
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;
}