@cygnus-wealth/wallet-integration-system
Version:
Multi-chain wallet integration system for CygnusWealth
41 lines • 1.38 kB
TypeScript
import { PublicKey } from '@solana/web3.js';
import { Chain, IntegrationSource } from '@cygnus-wealth/data-models';
import { WalletIntegration, WalletConnection, Account, WalletIntegrationConfig } from '../../types';
interface PhantomProvider {
isPhantom?: boolean;
connect(): Promise<{
publicKey: PublicKey;
}>;
disconnect(): Promise<void>;
publicKey?: PublicKey;
isConnected: boolean;
on(event: string, callback: (args: any) => void): void;
off(event: string, callback: (args: any) => void): void;
request?(params: {
method: string;
params?: any;
}): Promise<any>;
}
declare global {
interface Window {
solana?: PhantomProvider;
}
}
export declare class SolanaWalletIntegration implements WalletIntegration {
chain: Chain;
source: IntegrationSource;
private provider;
private connected;
private accounts;
private activeAccountIndex;
constructor(chain?: Chain, source?: IntegrationSource, _config?: WalletIntegrationConfig);
connect(): Promise<WalletConnection>;
disconnect(): Promise<void>;
getAddress(): Promise<string>;
getAllAccounts(): Promise<Account[]>;
switchAccount(address: string): Promise<void>;
getActiveAccount(): Promise<Account | null>;
isConnected(): boolean;
}
export {};
//# sourceMappingURL=SolanaWalletIntegration.d.ts.map