Skip to content

Commit c769f59

Browse files
committed
- refactor(hs)
- separate block lifecycle actions from network actions - use shorter block type names (IB/EB/RB/VT)
1 parent 8cfd337 commit c769f59

File tree

1 file changed

+30
-46
lines changed

1 file changed

+30
-46
lines changed

data/simulation/trace.haskell.d.ts

+30-46
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ export interface HaskellTraceEvent {
44
event: HaskellEvent;
55
}
66

7-
type MessageKind = "IB" | "EB" | "RB" | "VT";
7+
type BlockKind = "IB" | "EB" | "RB" | "VT";
8+
type BlockAction = "Generated" | "EnteredState";
89

910
type HaskellEvent =
1011
| HaskellCpuEvent
11-
| HaskellGeneratedEvent
12-
| HaskellSentEvent
13-
| HaskellReceivedEvent
14-
| HaskellStateEvent;
12+
| HaskellBlockEvent // Unified block event type
13+
| HaskellNetworkEvent; // Combine Sent/Received into network events
1514

1615
interface HaskellCpuEvent {
1716
tag: "Cpu";
@@ -23,67 +22,52 @@ interface HaskellCpuEvent {
2322
task_label: string; // e.g., "ValIB: 6-29" or "ValRH: 6253064077348247640"
2423
}
2524

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;
3529
node_name: string;
30+
id: string;
3631
size_bytes: number;
3732
}
3833

39-
interface HaskellGeneratedIBEvent extends HaskellGeneratedBaseEvent {
34+
interface InputBlockEvent extends BaseBlockEvent {
4035
kind: "IB";
41-
id: string;
4236
slot: number;
4337
payload_bytes: number;
44-
rb_ref: string;
38+
rb_ref: string; // Reference to ranking block
4539
}
4640

47-
interface HaskellGeneratedEBEvent extends HaskellGeneratedBaseEvent {
41+
interface EndorserBlockEvent extends BaseBlockEvent {
4842
kind: "EB";
49-
id: string;
50-
input_blocks: string[];
43+
slot: number;
44+
input_blocks: string[]; // References to input blocks
5145
}
5246

53-
interface HaskellGeneratedRBEvent extends HaskellGeneratedBaseEvent {
47+
interface RankingBlockEvent extends BaseBlockEvent {
5448
kind: "RB";
55-
id: string;
49+
slot: number;
5650
}
5751

58-
interface HaskellGeneratedVTEvent extends HaskellGeneratedBaseEvent {
52+
interface VoteEvent extends BaseBlockEvent {
5953
kind: "VT";
60-
id: string;
6154
votes: number;
62-
endorse_blocks: string[];
55+
endorse_blocks: string[]; // References to endorser blocks
6356
}
6457

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;
6970
msg_size_bytes: number;
7071
sending_s: number;
71-
kind: MessageKind;
7272
ids: string[];
7373
}
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

Comments
 (0)