@windoge98/pnp-walletconnect
Version:
WalletConnect adapter for PNP (Plug N Play)
53 lines • 2.14 kB
TypeScript
import { BaseSiwxAdapter, Adapter, Wallet, AdapterConstructorArgs } from '@windoge98/plug-n-play';
import { ActorSubclass } from '@dfinity/agent';
import { WalletAdapterNetwork } from '@solana/wallet-adapter-base';
import { Ed25519KeyIdentity, DelegationChain } from '@dfinity/identity';
export interface WalletConnectAdapterConfig {
enabled: boolean;
solanaNetwork?: WalletAdapterNetwork;
siwsProviderCanisterId?: string;
providerCanisterId?: string;
rpcEndpoint?: string;
projectId?: string;
appName?: string;
appDescription?: string;
appUrl?: string;
appIcons?: string[];
relayUrl?: string;
}
/**
* WalletConnect adapter implementation for SIWS (Sign-In with Solana)
* Extends BaseSiwxAdapter to provide IC integration via Solana signatures
* Supports multiple Solana wallets through WalletConnect protocol
*/
export declare class WalletConnectAdapter extends BaseSiwxAdapter<WalletConnectAdapterConfig> {
readonly id: string;
private solanaAdapter;
private readonly _solanaConnection;
private solanaAddress;
private connectingPromise;
private stateUnsubscribe;
constructor(args: AdapterConstructorArgs<WalletConnectAdapterConfig>);
private initializeConnection;
private createSolanaAdapter;
private ensureSolanaAdapter;
private handleSolanaConnect;
private handleSolanaDisconnect;
private handleSolanaError;
connect(): Promise<Wallet.Account>;
private performConnect;
private performSiwsLogin;
private createSiwsProviderActor;
isConnected(): Promise<boolean>;
getPrincipal(): Promise<string>;
getAccountId(): Promise<string>;
getAddresses(): Promise<Adapter.Addresses>;
protected disconnectInternal(): Promise<void>;
protected createActorInternal<T>(canisterId: string, idl: any, options?: {
requiresSigning?: boolean;
}): ActorSubclass<T>;
protected onStorageRestored(_sessionKey: Ed25519KeyIdentity, _delegationChain: DelegationChain): Promise<void>;
protected onClearStoredSession(): Promise<void>;
destroy(): void;
}
//# sourceMappingURL=WalletConnectAdapter.d.ts.map