UNPKG

@windoge98/pnp-phantom

Version:

Phantom wallet adapter for Plug-n-Play

65 lines 2.42 kB
import { BaseSiwxAdapter, Adapter, Wallet } from '@windoge98/plug-n-play'; import { ActorSubclass } from '@dfinity/agent'; import { WalletAdapterNetwork } from '@solana/wallet-adapter-base'; import { Transaction } from '@solana/web3.js'; import { Ed25519KeyIdentity, DelegationChain } from '@dfinity/identity'; export interface PhantomAdapterConfig { enabled: boolean; solanaNetwork?: WalletAdapterNetwork; siwsProviderCanisterId?: string; providerCanisterId?: string; rpcEndpoint?: string; } /** * Phantom-specific SIWS adapter implementation * Provides Sign-In with Solana functionality for Phantom wallet */ export declare class PhantomAdapter extends BaseSiwxAdapter<PhantomAdapterConfig> { walletName: string; logo: string; readonly id: string; static supportedChains: Adapter.Chain[]; private phantomAdapter; private solanaConnection; private solanaAddress; private connectingPromise; protected resolveProviderCanisterId(): string; constructor(args: Adapter.ConstructorArgs & { config: PhantomAdapterConfig; }); private isBrowser; private initializeConnection; private initializePhantomAdapter; private setupWalletListeners; private removeWalletListeners; private handlePhantomConnect; private handlePhantomDisconnect; private handlePhantomError; destroy(): void; isConnected(): Promise<boolean>; connect(): Promise<Wallet.Account>; private createSiwsProviderActor; private signSiwsMessage; private performSiwsLogin; protected disconnectInternal(): Promise<void>; getPrincipal(): Promise<string>; getAccountId(): Promise<string>; getSolanaAddress(): Promise<string>; getAddresses(): Promise<Adapter.Addresses>; protected createActorInternal<T>(canisterId: string, idl: any, options?: { requiresSigning?: boolean; }): ActorSubclass<T>; getSolBalance(): Promise<{ amount: number; usdValue?: number; }>; estimateTransactionFee(transaction: Transaction): Promise<number>; getTransactionStatus(signature: string): Promise<{ confirmed: boolean; slot?: number; err?: any; }>; protected onStorageRestored(_sessionKey: Ed25519KeyIdentity, _delegationChain: DelegationChain): Promise<void>; protected onClearStoredSession(): Promise<void>; } //# sourceMappingURL=PhantomAdapter.d.ts.map