import { JRPCRequest } from "@web3auth/auth"; import { TransactionOrVersionedTransaction } from "../interface"; export interface AddSolanaChainParameter { chainId: string; chainName: string; nativeCurrency: { name: string; symbol: string; decimals: 18; }; rpcUrls: string[]; blockExplorerUrls?: string[]; iconUrls?: string[]; } export interface IChainSwitchHandlers { addNewChainConfig: (req: JRPCRequest) => Promise; switchSolanaChain: (req: JRPCRequest<{ chainId: string; }>) => Promise; } export interface IProviderHandlers { requestAccounts: (req: JRPCRequest) => Promise; getAccounts: (req: JRPCRequest) => Promise; getPublicKey: (req: JRPCRequest) => Promise; getPrivateKey: (req: JRPCRequest) => Promise; signTransaction: (req: JRPCRequest<{ message: TransactionOrVersionedTransaction; }>) => Promise; signAllTransactions: (req: JRPCRequest<{ message: TransactionOrVersionedTransaction[]; }>) => Promise; signAndSendTransaction: (req: JRPCRequest<{ message: TransactionOrVersionedTransaction; }>) => Promise<{ signature: string; }>; getSecretKey: (req: JRPCRequest) => Promise; signMessage: (req: JRPCRequest<{ message: Uint8Array; display?: string; }>) => Promise; }