blob: 4c3de55a16876d8b33fffe26dec6a87045e795af (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
export interface LineColumn {
line: number;
column: number;
}
export interface SourceRange {
location: SingleFileSourceRange;
fileName: string;
}
export interface SingleFileSourceRange {
start: LineColumn;
end: LineColumn;
}
export interface LocationByOffset {
[offset: number]: LineColumn;
}
export interface FunctionDescription {
name: string;
line: number;
loc: SingleFileSourceRange;
skip?: boolean;
}
export type StatementDescription = SingleFileSourceRange;
export interface BranchDescription {
line: number;
type: 'if' | 'switch' | 'cond-expr' | 'binary-expr';
locations: SingleFileSourceRange[];
}
export interface FnMap {
[functionId: string]: FunctionDescription;
}
export interface BranchMap {
[branchId: string]: BranchDescription;
}
export interface StatementMap {
[statementId: string]: StatementDescription;
}
export interface LineCoverage {
[lineNo: number]: boolean;
}
export interface FunctionCoverage {
[functionId: string]: boolean;
}
export interface StatementCoverage {
[statementId: string]: boolean;
}
export interface BranchCoverage {
[branchId: string]: boolean[];
}
export interface Coverage {
[fineName: string]: {
l: LineCoverage;
f: FunctionCoverage;
s: StatementCoverage;
b: BranchCoverage;
fnMap: FnMap;
branchMap: BranchMap;
statementMap: StatementMap;
path: string;
};
}
export interface ContractData {
bytecode: string;
sourceMap: string;
runtimeBytecode: string;
sourceMapRuntime: string;
sourceCodes: string[];
sources: string[];
}
export interface TraceInfoBase {
coveredPcs: number[];
txHash: string;
}
export interface TraceInfoNewContract extends TraceInfoBase {
address: 'NEW_CONTRACT';
bytecode: string;
}
export interface TraceInfoExistingContract extends TraceInfoBase {
address: string;
runtimeBytecode: string;
}
export type TraceInfo = TraceInfoNewContract | TraceInfoExistingContract;
export enum BlockParamLiteral {
Latest = 'latest',
}
|