UNPKG

@cygnus-wealth/wallet-integration-system

Version:

Multi-chain wallet integration system for CygnusWealth

49 lines 1.85 kB
import { Chain, IntegrationSource } from '@cygnus-wealth/data-models'; import { WalletIntegration, WalletConnection, Account, WalletIntegrationConfig } from '../../types'; interface SuiWalletProvider { hasPermissions?(permissions: string[]): Promise<boolean>; requestPermissions?(permissions?: string[]): Promise<boolean>; getAccounts(): Promise<string[]>; connect(permissions?: string[]): Promise<void>; disconnect(): Promise<void>; signAndExecuteTransactionBlock?(transaction: any): Promise<any>; on?(event: string, callback: (args: any) => void): void; off?(event: string, callback: (args: any) => void): void; features?: Record<string, any>; accounts?: { address: string; publicKey: string; chains: string[]; features: string[]; }[]; } declare global { interface Window { suiet?: SuiWalletProvider; addEventListener(type: 'wallet-standard:app-ready', listener: (event: CustomEvent<{ register: (wallet: any) => void; }>) => void): void; } } export declare class SuiWalletIntegration implements WalletIntegration { chain: Chain; source: IntegrationSource; private provider; private walletStandard; private connected; private accounts; private activeAccountIndex; constructor(chain: Chain | undefined, source: IntegrationSource, _config?: WalletIntegrationConfig); connect(): Promise<WalletConnection>; private connectSuiet; private findWalletStandard; private connectWalletStandard; disconnect(): Promise<void>; getAddress(): Promise<string>; getAllAccounts(): Promise<Account[]>; switchAccount(address: string): Promise<void>; getActiveAccount(): Promise<Account | null>; isConnected(): boolean; } export {}; //# sourceMappingURL=SuiWalletIntegration.d.ts.map