@@ -4,14 +4,13 @@ export interface HaskellTraceEvent {
4
4
event : HaskellEvent ;
5
5
}
6
6
7
- type MessageKind = "IB" | "EB" | "RB" | "VT" ;
7
+ type BlockKind = "IB" | "EB" | "RB" | "VT" ;
8
+ type BlockAction = "Generated" | "EnteredState" ;
8
9
9
10
type HaskellEvent =
10
11
| HaskellCpuEvent
11
- | HaskellGeneratedEvent
12
- | HaskellSentEvent
13
- | HaskellReceivedEvent
14
- | HaskellStateEvent ;
12
+ | HaskellBlockEvent // Unified block event type
13
+ | HaskellNetworkEvent ; // Combine Sent/Received into network events
15
14
16
15
interface HaskellCpuEvent {
17
16
tag : "Cpu" ;
@@ -23,67 +22,52 @@ interface HaskellCpuEvent {
23
22
task_label : string ; // e.g., "ValIB: 6-29" or "ValRH: 6253064077348247640"
24
23
}
25
24
26
- type HaskellGeneratedEvent =
27
- | HaskellGeneratedIBEvent
28
- | HaskellGeneratedEBEvent
29
- | HaskellGeneratedRBEvent
30
- | HaskellGeneratedVTEvent ;
31
-
32
- interface HaskellGeneratedBaseEvent {
33
- tag : "generated" ;
34
- node : number ;
25
+ // Base block event interface
26
+ interface BaseBlockEvent {
27
+ type : `${BlockKind } ${BlockAction } `;
28
+ node : string ;
35
29
node_name : string ;
30
+ id : string ;
36
31
size_bytes : number ;
37
32
}
38
33
39
- interface HaskellGeneratedIBEvent extends HaskellGeneratedBaseEvent {
34
+ interface InputBlockEvent extends BaseBlockEvent {
40
35
kind : "IB" ;
41
- id : string ;
42
36
slot : number ;
43
37
payload_bytes : number ;
44
- rb_ref : string ;
38
+ rb_ref : string ; // Reference to ranking block
45
39
}
46
40
47
- interface HaskellGeneratedEBEvent extends HaskellGeneratedBaseEvent {
41
+ interface EndorserBlockEvent extends BaseBlockEvent {
48
42
kind : "EB" ;
49
- id : string ;
50
- input_blocks : string [ ] ;
43
+ slot : number ;
44
+ input_blocks : string [ ] ; // References to input blocks
51
45
}
52
46
53
- interface HaskellGeneratedRBEvent extends HaskellGeneratedBaseEvent {
47
+ interface RankingBlockEvent extends BaseBlockEvent {
54
48
kind : "RB" ;
55
- id : string ;
49
+ slot : number ;
56
50
}
57
51
58
- interface HaskellGeneratedVTEvent extends HaskellGeneratedBaseEvent {
52
+ interface VoteEvent extends BaseBlockEvent {
59
53
kind : "VT" ;
60
- id : string ;
61
54
votes : number ;
62
- endorse_blocks : string [ ] ;
55
+ endorse_blocks : string [ ] ; // References to endorser blocks
63
56
}
64
57
65
- interface HaskellSentEvent {
66
- tag : "Sent" ;
67
- sender : number ;
68
- receipient : number ;
58
+ type HaskellBlockEvent =
59
+ | InputBlockEvent
60
+ | EndorserBlockEvent
61
+ | RankingBlockEvent
62
+ | VoteEvent ;
63
+
64
+ interface HaskellNetworkEvent {
65
+ type : "NetworkMessage" ;
66
+ action : "Sent" | "Received" ; // Added to distinguish direction
67
+ sender : string ;
68
+ recipient : string ;
69
+ block_kind : BlockKind ;
69
70
msg_size_bytes : number ;
70
71
sending_s : number ;
71
- kind : MessageKind ;
72
72
ids : string [ ] ;
73
73
}
74
-
75
- interface HaskellReceivedEvent {
76
- tag : "received" ;
77
- kind : MessageKind ;
78
- id : string ;
79
- node : number ;
80
- node_name : string ;
81
- }
82
-
83
- interface HaskellStateEvent {
84
- tag : "enteredstate" ;
85
- kind : MessageKind ;
86
- id : string ;
87
- node : number ;
88
- node_name : string ;
89
- }
0 commit comments