import { Sig, PubKey, ByteString } from '../types/index.js'; import { AbstractContract } from '../abstractContract.js'; /** * Verifies a signature against an explicit message and public key. * Unlike checkSig which uses the transaction preimage as the implicit message, * checkDataSig allows verifying signatures on arbitrary data. * * @ignore * @param self - The contract instance (unused, kept for consistency with other check methods) * @param signature - The signature to verify in hex format (pure DER encoded, NO sighash type) * @param message - The message that was signed (will be SHA256 hashed once) * @param publickey - The public key in hex format to verify the signature against * @returns true if the signature is valid for the given message and public key, * false if invalid or if encoding checks fail * * @remarks * - Uses SHA256 single hash on the message (not hash256 double hash) * - Stack order for OP_CHECKSIGFROMSTACK: (bottom to top) * - Unlike OP_CHECKSIG, OP_CHECKSIGFROMSTACK does NOT require sighash type appended to signature */ export declare function checkDataSigImpl(self: AbstractContract, signature: Sig, message: ByteString, publickey: PubKey): boolean; //# sourceMappingURL=checkDataSig.d.ts.map