import { WalletAdapter } from "@solana/wallet-adapter-base"; import { ConfirmOptions } from "@solana/web3.js"; import { Connection, Transaction, TransactionSignature } from "@solana/web3.js"; import { BaseFeatures, CHAIN_ID_SOLANA, ChainId, SendTransactionResult, Signature, Wallet, WalletState } from "@wormhole-labs/wallet-aggregator-core"; export interface SolanaAdapter extends WalletAdapter { signTransaction?(transaction: T): Promise; signAllTransactions?(transactions: T[]): Promise; signMessage?(message: Uint8Array): Promise; } export type SolanaUnsignedTransaction = Transaction | Transaction[]; export type SolanaSignedTransaction = Transaction | Transaction[]; export type SolanaSubmitTransactionResult = TransactionSignature | TransactionSignature[]; export type SolanaMessage = Uint8Array; export interface SolanaNetworkInfo { } interface BaseSendOptions { options?: ConfirmOptions; } export interface SolanaSendTransactionParams extends BaseSendOptions { transaction: SolanaSignedTransaction; } export interface SolanaSignAndSendTransactionParams extends BaseSendOptions { transaction: SolanaUnsignedTransaction; } /** * An abstraction over Solana blockchain wallets. * * This class works as a wrapper over the adapters provided by the `@solana/wallet-adapter-base` library. In order to use this class, simply create the adapter you wish to use and pass it as a constructor parameter: * * ```ts * const connection = new Connection(url) * const martian = new SolanaWallet( * new PhantomWalletAdapter(), * connection * ) * ``` */ export declare class SolanaWallet extends Wallet { private readonly adapter; private readonly connection; constructor(adapter: SolanaAdapter, connection: Connection); /** Retrieve the underlying solana adapter */ getAdapter(): SolanaAdapter; getName(): string; getUrl(): string; connect(): Promise; getNetworkInfo(): SolanaNetworkInfo | undefined; isConnected(): boolean; disconnect(): Promise; getChainId(): 1; getAddress(): string | undefined; getAddresses(): string[]; setMainAddress(): void; getBalance(): Promise; signTransaction(tx: Transaction): Promise; signTransaction(tx: Transaction[]): Promise; sendTransaction(params: SolanaSendTransactionParams): Promise>; signAndSendTransaction(params: SolanaSignAndSendTransactionParams): Promise>; signMessage(msg: SolanaMessage): Promise; getIcon(): string; getWalletState(): WalletState; getFeatures(): BaseFeatures[]; supportsChain(chainId: ChainId): boolean; } export {}; //# sourceMappingURL=solana.d.ts.map