@ethereumjs/block
Version:
Provides Block serialization and help functions
52 lines • 2 kB
TypeScript
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<ArrayBufferLike>;
/**
* 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 BlockHeader.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