UNPKG

@windoge98/pnp-okx

Version:

OKX multi-chain wallet adapter for Plug-n-Play

66 lines 2.53 kB
import { BaseMultiChainAdapter, NetworkDetection, MultiChainConfig, BaseAdapter, AdapterConstructorArgs, Wallet } from '@windoge98/plug-n-play'; import { WalletAdapterNetwork } from '@solana/wallet-adapter-base'; import { PublicKey } from '@solana/web3.js'; declare global { interface Window { okxwallet?: { request?: (args: { method: string; params?: any[]; }) => Promise<any>; isConnected?: () => boolean; selectedAddress?: string; chainId?: string; solana?: { isConnected: boolean; publicKey?: PublicKey; connect: () => Promise<{ publicKey: PublicKey; }>; disconnect: () => Promise<void>; signMessage: (message: Uint8Array) => Promise<Uint8Array>; signTransaction: (transaction: any) => Promise<any>; signAllTransactions: (transactions: any[]) => Promise<any[]>; on: (event: string, handler: Function) => void; off: (event: string, handler: Function) => void; }; bitcoin?: { connect: () => Promise<void>; getAccounts: () => Promise<string[]>; }; }; } } /** * OKX-specific configuration extending multi-chain config */ export interface OkxMultiChainConfig extends MultiChainConfig { solanaNetwork?: WalletAdapterNetwork; siwsProviderCanisterId?: string; siweProviderCanisterId?: string; } /** * OKX Multi-Chain Adapter implementation * Supports Ethereum and Solana networks with automatic detection */ export declare class OkxMultiChainAdapter extends BaseMultiChainAdapter<OkxMultiChainConfig> { protected networkAdapters: Map<string, BaseAdapter>; constructor(args: AdapterConstructorArgs<OkxMultiChainConfig>); /** * Override connect to add OKX-specific error handling */ connect(): Promise<Wallet.Account>; /** * Detect which network OKX wallet is currently connected to */ detectNetwork(): Promise<NetworkDetection>; /** * Get or create the appropriate network-specific adapter */ protected getNetworkAdapter(network: NetworkDetection): Promise<BaseAdapter>; /** * Switch network (OKX supports programmatic network switching for EVM chains) */ switchNetwork(targetNetwork: string): Promise<void>; } //# sourceMappingURL=OkxMultiChainAdapter.d.ts.map