@windoge98/pnp-coinbase
Version:
Coinbase wallet adapter for Plug-n-Play
65 lines • 2.43 kB
TypeScript
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 CoinbaseAdapterConfig {
enabled: boolean;
solanaNetwork?: WalletAdapterNetwork;
siwsProviderCanisterId?: string;
providerCanisterId?: string;
rpcEndpoint?: string;
}
/**
* Coinbase-specific SIWS adapter implementation
* Provides Sign-In with Solana functionality for Coinbase wallet
*/
export declare class CoinbaseAdapter extends BaseSiwxAdapter<CoinbaseAdapterConfig> {
walletName: string;
logo: string;
readonly id: string;
static supportedChains: Adapter.Chain[];
private coinbaseAdapter;
private solanaConnection;
private solanaAddress;
private connectingPromise;
protected resolveProviderCanisterId(): string;
constructor(args: Adapter.ConstructorArgs & {
config: CoinbaseAdapterConfig;
});
private isBrowser;
private initializeConnection;
private initializeCoinbaseAdapter;
private setupWalletListeners;
private removeWalletListeners;
private handleCoinbaseConnect;
private handleCoinbaseDisconnect;
private handleCoinbaseError;
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=CoinbaseAdapter.d.ts.map