/** * Signature Verification Utilities for Steem.js * * This module provides comprehensive signature verification functionality * for signed RPC requests and general message signatures. */ export interface SignedRequest { jsonrpc: string; method: string; id: number; params: { __signed: { account: string; nonce: string; params: string; signatures: string[]; timestamp: string; }; }; } export interface VerificationResult { valid: boolean; account?: string; params?: unknown; error?: string; timestamp?: string; signatures?: string[]; } export interface AccountKeys { owner: string[]; active: string[]; posting: string[]; memo: string; } /** * Verify a signed RPC request against account's public keys */ export declare function verifySignedRequest(signedRequest: SignedRequest, getAccountKeys: (account: string) => Promise): Promise; /** * Verify a simple message signature */ export declare function verifyMessageSignature(message: string | Buffer, signature: string, publicKey: string): boolean; /** * Verify multiple signatures against multiple public keys */ export declare function verifyMultipleSignatures(message: string | Buffer, signatures: string[], publicKeys: string[]): { verified: boolean; validSignatures: number; details: Array<{ signature: string; publicKey: string; valid: boolean; }>; }; /** * Extract account keys from Steem account data */ export declare function extractAccountKeys(accountData: unknown): AccountKeys; /** * Create a verification function for use with API calls */ export declare function createApiVerificationFunction(api: { call: (method: string, params: unknown[], callback: (err: Error | null, result?: unknown) => void) => void; }): (account: string) => Promise; /** * Batch verify multiple signed requests */ export declare function batchVerifySignedRequests(signedRequests: SignedRequest[], getAccountKeys: (account: string) => Promise): Promise; /** * Check if a signature is expired */ export declare function isSignatureExpired(timestamp: string, maxAgeMs?: number): boolean; /** * Validate signature format */ export declare function isValidSignatureFormat(signature: string): boolean; /** * Validate public key format */ export declare function isValidPublicKeyFormat(publicKey: string): boolean; declare const _default: { verifySignedRequest: typeof verifySignedRequest; verifyMessageSignature: typeof verifyMessageSignature; verifyMultipleSignatures: typeof verifyMultipleSignatures; extractAccountKeys: typeof extractAccountKeys; createApiVerificationFunction: typeof createApiVerificationFunction; batchVerifySignedRequests: typeof batchVerifySignedRequests; isSignatureExpired: typeof isSignatureExpired; isValidSignatureFormat: typeof isValidSignatureFormat; isValidPublicKeyFormat: typeof isValidPublicKeyFormat; }; export default _default;