import { Network, Account, TransactionOptions, TransactionStatusResponse } from '@provablehq/aleo-types'; import { WalletName, WalletDecryptPermission, WalletReadyState, ConnectOptions, RecordStatusFilter, AleoDeployment } from '@provablehq/aleo-wallet-standard'; import { BaseAleoWalletAdapter } from '@provablehq/aleo-wallet-adaptor-core'; import { LeoWallet } from '@provablehq/aleo-wallet-adaptor-leo'; interface FoxWindow extends Window { foxwallet?: { aleo?: LeoWallet; }; } /** * Fox wallet adapter */ declare class FoxWalletAdapter extends BaseAleoWalletAdapter { /** * The wallet name */ readonly name: WalletName<"Fox Wallet">; /** * The wallet URL */ url: string; /** * The wallet icon (base64-encoded SVG) */ readonly icon = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiBoZWlnaHQ9IjkwMCIgdmlld0JveD0iMCAwIDkwMCA5MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSI5MDAiIGhlaWdodD0iOTAwIiByeD0iNDUwIiBmaWxsPSJibGFjayIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTU3Ny4yNDkgMjE1Ljk3NUM1MzkuOTU2IDE5Ni4yMzIgNTExLjY0NiAxNjEuNTQ5IDUwMC40NjggMTE5Ljg2OEM0OTcuMDIxIDEzMi42MTMgNDk1LjI0NSAxNDUuOTg0IDQ5NS4yNDUgMTU5Ljc3NEM0OTUuMjQ1IDE3MC41MzMgNDk2LjM5NCAxODAuOTggNDk4LjQ4MyAxOTEuMTEzQzQ5OC40ODMgMTkxLjExMyA0OTguNDgzIDE5MS4xMTMgNDk4LjQ4MyAxOTEuMjE3QzQ5OC40ODMgMTkxLjMyMiA0OTguNTg4IDE5MS41MzEgNDk4LjU4OCAxOTEuNjM1QzUwMS40MDggMjA1LjIxNiA1MDYuMDA1IDIxOC4wNjUgNTEyLjE2OCAyMjkuOTc0QzQ5OS4wMDYgMjIwLjI1OCA0ODcuMzA2IDIwOC42NjMgNDc3LjQ4NiAxOTUuNjA1QzQ2NC4zMjMgMjk3LjY2NyA1MDEuNDA4IDQwMy45MDcgNTY5LjIwNiA0NzMuODk4QzY1Ny42ODcgNTc2LjkgNTc2LjEgNzUxLjY2OSA0MzguMjA3IDc0Ny4wNzNDMjQzLjA2OCA3NDguNzQ0IDIwOS42MzkgNDYxLjM2MiAzOTYuODM5IDQxNi4yMzRMMzk2LjczNSA0MTUuNzExQzQ0Ni42NjkgMzk5LjUxOSA0NzAuMDY5IDM2Ny4wMzEgNDc0LjE0MyAzMjQuODI3QzQwMi4wNjMgMzgzLjIyMyAyODguMTk2IDMxMC44MjkgMzExLjgwNSAyMjAuMTU0QzQxLjI0MjUgMzUzLjM0NiAxNDEuNzM3IDc4NS40MTEgNDQ4LjQ0NSA3ODAuMDgzQzU4Mi4wNTUgNzgwLjA4MyA2OTUuMDg1IDY5MS43MDYgNzMyLjE3IDU3MC4yMTRDNzc2LjQ2MyA0MjguNTYxIDcwNC44IDI3Ny42MDkgNTc3LjI0OSAyMTUuOTc1WiIgZmlsbD0iIzEyRkU3NCIvPgo8L3N2Zz4K"; /** * The window object */ private _window; /** * Current network */ network: Network; /** * The wallet's decrypt permission */ decryptPermission: WalletDecryptPermission; /** * Public key */ private _publicKey; _readyState: WalletReadyState; /** * Fox wallet instance */ private _foxWallet; /** * Create a new Fox wallet adapter * @param config Adapter configuration */ constructor(); /** * Check if Fox wallet is available */ private _checkAvailability; /** * Connect to Fox wallet * @returns The connected account */ connect(network: Network, decryptPermission: WalletDecryptPermission, programs?: string[], options?: ConnectOptions): Promise; /** * Disconnect from Fox wallet */ disconnect(): Promise; /** * Sign a transaction with Fox wallet * @param options Transaction options * @returns The signed transaction */ signMessage(message: Uint8Array): Promise; decrypt(cipherText: string, tpk?: string, programId?: string, functionName?: string, index?: number): Promise; /** * Execute a transaction with Fox wallet * @param options Transaction options * @returns The executed temporary transaction ID */ executeTransaction(options: TransactionOptions): Promise<{ transactionId: string; }>; /** * Get transaction status * @param transactionId The transaction ID * @returns The transaction status */ transactionStatus(transactionId: string): Promise; /** * Request records from Fox wallet * @param program The program to request records from * @param includePlaintext Whether to include plaintext on each record * @param statusFilter Whether to filter records by status * @returns The records */ requestRecords(program: string, includePlaintext: boolean, statusFilter?: RecordStatusFilter): Promise; /** * Switch the network * @param network The network to switch to */ switchNetwork(_network: Network): Promise; /** * Execute a deployment * @param deployment The deployment to execute * @returns The executed transaction ID */ executeDeployment(deployment: AleoDeployment): Promise<{ transactionId: string; }>; } export { FoxWalletAdapter, type FoxWindow };