UNPKG

1.51 kBTypeScriptView Raw
1import { ITransactionData } from "../interfaces";
2import { BigNumber } from "../utils";
3import { ITransaction, ITransactionJson } from "./transactions";
4export interface IBlockVerification {
5 verified: boolean;
6 errors: string[];
7 containsMultiSignatures: boolean;
8}
9export interface IBlock {
10 serialized: string;
11 data: IBlockData;
12 transactions: ITransaction[];
13 verification: IBlockVerification;
14 getHeader(): IBlockData;
15 verifySignature(): boolean;
16 verify(): IBlockVerification;
17 toString(): string;
18 toJson(): IBlockJson;
19}
20export interface IBlockData {
21 id?: string;
22 idHex?: string;
23 timestamp: number;
24 version: number;
25 height: number;
26 previousBlockHex?: string;
27 previousBlock: string;
28 numberOfTransactions: number;
29 totalAmount: BigNumber;
30 totalFee: BigNumber;
31 reward: BigNumber;
32 payloadLength: number;
33 payloadHash: string;
34 generatorPublicKey: string;
35 blockSignature?: string;
36 serialized?: string;
37 transactions?: ITransactionData[];
38}
39export interface IBlockJson {
40 id?: string;
41 idHex?: string;
42 timestamp: number;
43 version: number;
44 height: number;
45 previousBlockHex?: string;
46 previousBlock: string;
47 numberOfTransactions: number;
48 totalAmount: string;
49 totalFee: string;
50 reward: string;
51 payloadLength: number;
52 payloadHash: string;
53 generatorPublicKey: string;
54 blockSignature?: string;
55 serialized?: string;
56 transactions?: ITransactionJson[];
57}