import { Address } from '@ethereumjs/util'; import type { BlockHeader } from '../index.ts'; export declare const CLIQUE_EXTRA_VANITY = 32; export declare const CLIQUE_EXTRA_SEAL = 65; export declare function requireClique(header: BlockHeader, name: string): void; /** * PoA clique signature hash without the seal. */ export declare function cliqueSigHash(header: BlockHeader): Uint8Array; /** * Checks if the block header is an epoch transition * header (only clique PoA, throws otherwise) */ export declare function cliqueIsEpochTransition(header: BlockHeader): boolean; /** * Returns extra vanity data * (only clique PoA, throws otherwise) */ export declare function cliqueExtraVanity(header: BlockHeader): Uint8Array; /** * Returns extra seal data * (only clique PoA, throws otherwise) */ export declare function cliqueExtraSeal(header: BlockHeader): Uint8Array; /** * Returns a list of signers * (only clique PoA, throws otherwise) * * This function throws if not called on an epoch * transition block and should therefore be used * in conjunction with {@link cliqueIsEpochTransition} */ export declare function cliqueEpochTransitionSigners(header: BlockHeader): Address[]; /** * Returns the signer address */ export declare function cliqueSigner(header: BlockHeader): Address; /** * Verifies the signature of the block (last 65 bytes of extraData field) * (only clique PoA, throws otherwise) * * Method throws if signature is invalid */ export declare function cliqueVerifySignature(header: BlockHeader, signerList: Address[]): boolean; /** * Generates the extraData from a sealed block header * @param header block header from which to retrieve extraData * @param cliqueSigner clique signer key used for creating sealed block * @returns clique seal (i.e. extradata) for the block */ export declare function generateCliqueBlockExtraData(header: BlockHeader, cliqueSigner: Uint8Array): Uint8Array; //# sourceMappingURL=clique.d.ts.map