@cygnus-wealth/wallet-integration-system
Version:
Multi-chain wallet integration system for CygnusWealth
49 lines • 1.85 kB
TypeScript
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