blockchain-api
Version:
API utilities for interacting with the Exatechl2 blockchain
66 lines (65 loc) • 1.66 kB
TypeScript
import { FormattedBlock } from '../modules/blocks/utils';
import { Transaction } from './transaction';
export interface Block {
id?: string;
number: string;
hash: string;
timestamp: string | number;
parentHash: string;
transactions: Transaction[] | string[];
size?: string;
txCount?: number;
gasUsed?: string;
gasLimit?: string;
baseFeePerGas?: string;
baseFee?: string;
minimumGasPrice?: string;
gasPrice?: string;
status?: string;
validator?: string;
miner?: string;
latestBlockNumber?: number;
rootHash?: string;
l1BlockNumber?: string | number;
stateRoot?: string;
receiptsRoot?: string;
extraData?: string;
logsBloom?: string;
difficulty?: string;
totalDifficulty?: string;
nonce?: string;
mixHash?: string;
sha3Uncles?: string;
sendCount?: string;
sendRoot?: string;
batchId?: string | number;
batchStatus?: string;
}
export interface PaginatedBlocks {
blocks: FormattedBlock[];
totalCount: number;
totalPages: number;
page: number;
perPage: number;
}
export interface BlockchainStats {
totalBlocks: number;
avgBlockTime: number;
blockTimeChange: number;
avgTxPerBlock: number;
txPerBlockChange: number;
totalTransactions: number;
}
export interface EnhancedBlock extends FormattedBlock {
transactions?: any[];
transferTxCount?: number;
contractTxCount?: number;
validator?: string;
miner?: string;
parentHash?: string;
rootHash?: string;
stateRoot?: string;
receiptsRoot?: string;
extraData?: string;
validatorBlocks?: number;
}