@creit.tech/stellar-wallets-kit
Version:
A kit to handle all Stellar Wallets at once
87 lines • 2.79 kB
TypeScript
import { WalletConnectModal } from '@walletconnect/modal';
import { SignClient } from '@walletconnect/sign-client';
import { ModuleInterface, ModuleType, WalletNetwork } from '../types';
export interface IParsedWalletConnectSession {
id: string;
name: string;
description: string;
url: string;
icons: string;
accounts: Array<{
network: 'pubnet' | 'testnet';
publicKey: string;
}>;
}
export declare const WALLET_CONNECT_ID = "wallet_connect";
export declare class WalletConnectModule implements ModuleInterface {
wcParams: IWalletConnectConstructorParams;
moduleType: ModuleType;
productId: string;
productName: string;
productUrl: string;
productIcon: string;
private client?;
private activeSession?;
private qrModal;
isAvailable(): Promise<boolean>;
constructor(wcParams: IWalletConnectConstructorParams);
getAddress(): Promise<{
address: string;
}>;
signTransaction(xdr: string, opts?: {
networkPassphrase?: string;
address?: string;
path?: string;
submit?: boolean;
submitUrl?: string;
}): Promise<{
signedTxXdr: string;
signerAddress?: string;
}>;
signAuthEntry(): Promise<{
signedAuthEntry: string;
signerAddress?: string;
}>;
signMessage(): Promise<{
signedMessage: string;
signerAddress?: string;
}>;
getNetwork(): Promise<{
network: string;
networkPassphrase: string;
}>;
/**
* Allows manually setting the current active session to be used in the kit when doing WalletConnect requests
*
* @param sessionId The session ID is a placeholder for the session "topic", term used in WalletConnect
* */
setSession(sessionId: string): void;
onSessionDeleted(cb: (sessionId: string) => void): void;
connectWalletConnect(): Promise<IParsedWalletConnectSession>;
disconnect(): Promise<void>;
closeSession(sessionId: string, reason?: string): Promise<void>;
getSessions(): Promise<IParsedWalletConnectSession[]>;
private getTargetSession;
}
export interface IWalletConnectConstructorParams {
projectId: string;
name: string;
description: string;
url: string;
icons: string[];
method: WalletConnectAllowedMethods;
network: WalletNetwork;
sessionId?: string;
client?: typeof SignClient;
modal?: WalletConnectModal;
onSessionDeleted?: (sessionId: string) => void;
}
export declare enum WalletConnectTargetChain {
PUBLIC = "stellar:pubnet",
TESTNET = "stellar:testnet"
}
export declare enum WalletConnectAllowedMethods {
SIGN = "stellar_signXDR",
SIGN_AND_SUBMIT = "stellar_signAndSubmitXDR"
}
//# sourceMappingURL=walletconnect.module.d.ts.map