lib/reticulum/src/conformance/transport.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 //! Generated by `lib/reticulum/build/generate` with `rns==1.5.0`.
2 //! The upstream source is Reticulum commit `e32d4df754a7b87b1bf1bb0d08675d12ff505ae6`.
3 //! Hand edits are lost.
4 //!
5 //! The announce rebroadcasts use
6 //! Reticulum@1.5.0 RNS/Transport.py:737-799,1239-1240,2248-2289.
7 //! The relays use RNS/Transport.py:1345-1356,1929-1946,2012-2022.
8 //! The proof relays use RNS/Transport.py:2670-2677.
9 //! The path requests use RNS/Transport.py:1738-1764,3219-3250,3306-3342.
10 //! The answers to path requests use RNS/Transport.py:2347-2371,3375-3508.
11 //! The local path responses use RNS/Destination.py:244-318: a node answers a
12 //! request for its own destination with a fresh announce.
13 //! The three-node relay uses RNS/Transport.py:1345-1356,1935-1946,2670-2677.
14 //! A three-node relay is a data packet, its proof and a path request recorded
15 //! across three reference nodes, the middle one a transport node, with every
16 //! frame on every hop kept.
17 //! The identities of the recorded nodes use RNS/Cryptography/X25519.py:127 and
18 //! Ed25519.py:41.
19 //! The encryption of the data uses RNS/Identity.py:804 and
20 //! RNS/Cryptography/Token.py:89.
21
22 pub const RebroadcastVector = struct {
23 name: []const u8,
24 identity_hash: []const u8,
25 interfaces: u8,
26 input_raw: []const u8,
27 input_interface: u8,
28 input_clock: u64,
29 first_clock: u64,
30 first_interfaces: []const u8,
31 first_frames: []const []const u8,
32 second_clock: u64,
33 second_interfaces: []const u8,
34 second_frames: []const []const u8,
35 transport_id: []const u8,
36 hops: u8,
37 context: u8,
38 context_flag: u1,
39 packet_hash: []const u8,
40 };
41
42 pub const RelayVector = struct {
43 name: []const u8,
44 transport_enabled: bool,
45 identity_hash: []const u8,
46 interfaces: u8,
47 announce_raw: []const u8,
48 announce_interface: u8,
49 announce_clock: u64,
50 relay_raw: []const u8,
51 relay_interface: u8,
52 relay_clock: u64,
53 input_raw: []const u8,
54 input_interface: u8,
55 input_clock: u64,
56 plaintext: []const u8,
57 ephemeral_private_key: []const u8,
58 iv: []const u8,
59 output_interface: u8,
60 output_raw: []const u8,
61 transport_id: []const u8,
62 hops: u8,
63 context: u8,
64 context_flag: u1,
65 packet_hash: []const u8,
66 };
67
68 pub const RequestVector = struct {
69 name: []const u8,
70 transport_enabled: bool,
71 identity_hash: []const u8,
72 interfaces: u8,
73 destination_hash: []const u8,
74 tag: []const u8,
75 attached_interface: u8,
76 input_raw: []const u8,
77 input_interface: u8,
78 input_clock: u64,
79 output_interfaces: []const u8,
80 output_frames: []const []const u8,
81 payload: []const u8,
82 };
83
84 pub const AnswerVector = struct {
85 name: []const u8,
86 identity_hash: []const u8,
87 interfaces: u8,
88 discovery: bool,
89 announce_raw: []const u8,
90 announce_interface: u8,
91 announce_clock: u64,
92 request_raw: []const u8,
93 request_interface: u8,
94 request_clock: u64,
95 answer_clock: u64,
96 output_interface: u8,
97 output_raw: []const u8,
98 transport_id: []const u8,
99 hops: u8,
100 context: u8,
101 context_flag: u1,
102 packet_hash: []const u8,
103 };
104
105 pub const LocalVector = struct {
106 name: []const u8,
107 interfaces: u8,
108 private_key: []const u8,
109 destination_hash: []const u8,
110 name_hash: []const u8,
111 app_data: []const u8,
112 random_hash: []const u8,
113 clock: u64,
114 tag: []const u8,
115 request_raw: []const u8,
116 request_interface: u8,
117 output_interface: u8,
118 output_raw: []const u8,
119 context: u8,
120 };
121
122 pub const ParseVector = struct {
123 name: []const u8,
124 raw: []const u8,
125 payload: []const u8,
126 verdict: []const u8,
127 destination_hash: []const u8,
128 requestor: []const u8,
129 tag: []const u8,
130 };
131
132 pub const ThreeNodeVector = struct {
133 name: []const u8,
134 start_clock: u64,
135 destination_hash: []const u8,
136 destination_private_key: []const u8,
137 destination_name_hash: []const u8,
138 destination_app_data: []const u8,
139 announce_random_hash: []const u8,
140 transport_identity_hash: []const u8,
141 announce_raw: []const u8,
142 rebroadcast_clock: u64,
143 rebroadcast_raw: []const u8,
144 retry_clock: u64,
145 retry_raw: []const u8,
146 send_clock: u64,
147 plaintext: []const u8,
148 ephemeral_private_key: []const u8,
149 iv: []const u8,
150 inserted_raw: []const u8,
151 stripped_raw: []const u8,
152 proof_raw: []const u8,
153 relayed_proof_raw: []const u8,
154 packet_hash: []const u8,
155 request_clock: u64,
156 request_tag: []const u8,
157 request_raw: []const u8,
158 response_clock: u64,
159 response_raw: []const u8,
160 };
161
162 pub const rebroadcast_vectors: []const RebroadcastVector = &.{
163 .{
164 .name = "transport-announce-rebroadcast",
165 .identity_hash = &.{
166 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b, 0x8b, 0x56,
167 0x79, 0x51, 0xaa, 0x7c,
168 },
169 .interfaces = 2,
170 .input_raw = &.{
171 0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
172 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,
173 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,
174 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,
175 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,
176 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,
177 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,
178 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,
179 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,
180 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,
181 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,
182 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,
183 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,
184 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,
185 },
186 .input_interface = 1,
187 .input_clock = 1700000100,
188 .first_clock = 1700000101,
189 .first_interfaces = &.{ 0x00, 0x01 },
190 .first_frames = &.{
191 &.{
192 0x51, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
193 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
194 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
195 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
196 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
197 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
198 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
199 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
200 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
201 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
202 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
203 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
204 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
205 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
206 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
207 0xcb, 0x06, 0x0f,
208 },
209 &.{
210 0x51, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
211 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
212 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
213 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
214 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
215 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
216 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
217 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
218 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
219 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
220 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
221 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
222 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
223 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
224 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
225 0xcb, 0x06, 0x0f,
226 },
227 },
228 .second_clock = 1700000107,
229 .second_interfaces = &.{ 0x00, 0x01 },
230 .second_frames = &.{
231 &.{
232 0x51, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
233 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
234 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
235 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
236 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
237 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
238 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
239 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
240 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
241 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
242 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
243 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
244 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
245 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
246 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
247 0xcb, 0x06, 0x0f,
248 },
249 &.{
250 0x51, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
251 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
252 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
253 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
254 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
255 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
256 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
257 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
258 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
259 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
260 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
261 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
262 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
263 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
264 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
265 0xcb, 0x06, 0x0f,
266 },
267 },
268 .transport_id = &.{
269 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b, 0x8b, 0x56,
270 0x79, 0x51, 0xaa, 0x7c,
271 },
272 .hops = 1,
273 .context = 0,
274 .context_flag = 0,
275 .packet_hash = &.{
276 0x55, 0x08, 0xd1, 0x39, 0xed, 0x6e, 0xe0, 0x2d, 0x3c, 0x0c, 0x9b, 0x76,
277 0x16, 0x18, 0x0c, 0x04, 0xe0, 0xa8, 0x0e, 0x32, 0xdc, 0x4d, 0x09, 0xc8,
278 0xdb, 0x02, 0xa8, 0x15, 0xed, 0x1f, 0xc5, 0x06,
279 },
280 },
281 .{
282 .name = "transport-announce-rebroadcast-ratchet",
283 .identity_hash = &.{
284 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b, 0x8b, 0x56,
285 0x79, 0x51, 0xaa, 0x7c,
286 },
287 .interfaces = 2,
288 .input_raw = &.{
289 0x21, 0x00, 0x7f, 0x83, 0x64, 0x1d, 0xec, 0x81, 0xee, 0xa9, 0x26, 0x2f,
290 0x0b, 0x6e, 0x6b, 0x25, 0x7b, 0x9b, 0x00, 0x72, 0x0c, 0xd1, 0x54, 0x18,
291 0xb0, 0xbf, 0xe0, 0x53, 0x15, 0x5a, 0x40, 0x41, 0xbe, 0xe8, 0x2f, 0x3b,
292 0x8e, 0xb3, 0xef, 0xcb, 0xf4, 0x72, 0x26, 0x2e, 0xeb, 0xdc, 0x22, 0x49,
293 0x30, 0x9f, 0x0d, 0x9d, 0xd6, 0x08, 0x09, 0xf7, 0xda, 0xb1, 0xb5, 0xae,
294 0x8e, 0x41, 0x20, 0x46, 0xb7, 0x33, 0x8e, 0xb1, 0xf3, 0x20, 0xd4, 0x81,
295 0xe0, 0x27, 0x2a, 0x6b, 0xce, 0x32, 0x48, 0x7a, 0xe3, 0x72, 0x97, 0x89,
296 0x66, 0xd1, 0x1f, 0xc3, 0xc4, 0x06, 0xe3, 0x33, 0x70, 0xcc, 0xaa, 0xa4,
297 0x67, 0x23, 0x00, 0x65, 0x53, 0xf1, 0x02, 0xd8, 0x51, 0x98, 0x72, 0x11,
298 0x12, 0x04, 0xaa, 0x77, 0x92, 0x91, 0xbf, 0xa4, 0x61, 0x58, 0x78, 0xdb,
299 0xa8, 0x2f, 0xd9, 0x88, 0x6a, 0xe3, 0x3c, 0x7e, 0x56, 0x0d, 0x71, 0xdf,
300 0x7d, 0xc8, 0x0c, 0x11, 0xec, 0x06, 0x35, 0xb9, 0xb3, 0x70, 0x41, 0xf6,
301 0xed, 0x57, 0x88, 0x5c, 0xbc, 0xdf, 0xae, 0x35, 0xe2, 0xf6, 0x0c, 0xc9,
302 0xf0, 0xca, 0x85, 0xbf, 0xf6, 0x16, 0x0c, 0x79, 0xdc, 0x2b, 0xf4, 0xa8,
303 0x26, 0xbf, 0xbe, 0xa8, 0x42, 0xd7, 0x35, 0x01, 0x4d, 0xd7, 0x5c, 0x8f,
304 0x44, 0xda, 0x4e, 0xe6, 0xb0, 0x21, 0xee, 0x00, 0xda, 0xbe, 0x01, 0xd9,
305 0xff, 0x89, 0x89, 0xbb, 0x68, 0x89, 0x0b,
306 },
307 .input_interface = 1,
308 .input_clock = 1700000100,
309 .first_clock = 1700000101,
310 .first_interfaces = &.{ 0x00, 0x01 },
311 .first_frames = &.{
312 &.{
313 0x71, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
314 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0x7f, 0x83, 0x64, 0x1d, 0xec, 0x81,
315 0xee, 0xa9, 0x26, 0x2f, 0x0b, 0x6e, 0x6b, 0x25, 0x7b, 0x9b, 0x00, 0x72,
316 0x0c, 0xd1, 0x54, 0x18, 0xb0, 0xbf, 0xe0, 0x53, 0x15, 0x5a, 0x40, 0x41,
317 0xbe, 0xe8, 0x2f, 0x3b, 0x8e, 0xb3, 0xef, 0xcb, 0xf4, 0x72, 0x26, 0x2e,
318 0xeb, 0xdc, 0x22, 0x49, 0x30, 0x9f, 0x0d, 0x9d, 0xd6, 0x08, 0x09, 0xf7,
319 0xda, 0xb1, 0xb5, 0xae, 0x8e, 0x41, 0x20, 0x46, 0xb7, 0x33, 0x8e, 0xb1,
320 0xf3, 0x20, 0xd4, 0x81, 0xe0, 0x27, 0x2a, 0x6b, 0xce, 0x32, 0x48, 0x7a,
321 0xe3, 0x72, 0x97, 0x89, 0x66, 0xd1, 0x1f, 0xc3, 0xc4, 0x06, 0xe3, 0x33,
322 0x70, 0xcc, 0xaa, 0xa4, 0x67, 0x23, 0x00, 0x65, 0x53, 0xf1, 0x02, 0xd8,
323 0x51, 0x98, 0x72, 0x11, 0x12, 0x04, 0xaa, 0x77, 0x92, 0x91, 0xbf, 0xa4,
324 0x61, 0x58, 0x78, 0xdb, 0xa8, 0x2f, 0xd9, 0x88, 0x6a, 0xe3, 0x3c, 0x7e,
325 0x56, 0x0d, 0x71, 0xdf, 0x7d, 0xc8, 0x0c, 0x11, 0xec, 0x06, 0x35, 0xb9,
326 0xb3, 0x70, 0x41, 0xf6, 0xed, 0x57, 0x88, 0x5c, 0xbc, 0xdf, 0xae, 0x35,
327 0xe2, 0xf6, 0x0c, 0xc9, 0xf0, 0xca, 0x85, 0xbf, 0xf6, 0x16, 0x0c, 0x79,
328 0xdc, 0x2b, 0xf4, 0xa8, 0x26, 0xbf, 0xbe, 0xa8, 0x42, 0xd7, 0x35, 0x01,
329 0x4d, 0xd7, 0x5c, 0x8f, 0x44, 0xda, 0x4e, 0xe6, 0xb0, 0x21, 0xee, 0x00,
330 0xda, 0xbe, 0x01, 0xd9, 0xff, 0x89, 0x89, 0xbb, 0x68, 0x89, 0x0b,
331 },
332 &.{
333 0x71, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
334 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0x7f, 0x83, 0x64, 0x1d, 0xec, 0x81,
335 0xee, 0xa9, 0x26, 0x2f, 0x0b, 0x6e, 0x6b, 0x25, 0x7b, 0x9b, 0x00, 0x72,
336 0x0c, 0xd1, 0x54, 0x18, 0xb0, 0xbf, 0xe0, 0x53, 0x15, 0x5a, 0x40, 0x41,
337 0xbe, 0xe8, 0x2f, 0x3b, 0x8e, 0xb3, 0xef, 0xcb, 0xf4, 0x72, 0x26, 0x2e,
338 0xeb, 0xdc, 0x22, 0x49, 0x30, 0x9f, 0x0d, 0x9d, 0xd6, 0x08, 0x09, 0xf7,
339 0xda, 0xb1, 0xb5, 0xae, 0x8e, 0x41, 0x20, 0x46, 0xb7, 0x33, 0x8e, 0xb1,
340 0xf3, 0x20, 0xd4, 0x81, 0xe0, 0x27, 0x2a, 0x6b, 0xce, 0x32, 0x48, 0x7a,
341 0xe3, 0x72, 0x97, 0x89, 0x66, 0xd1, 0x1f, 0xc3, 0xc4, 0x06, 0xe3, 0x33,
342 0x70, 0xcc, 0xaa, 0xa4, 0x67, 0x23, 0x00, 0x65, 0x53, 0xf1, 0x02, 0xd8,
343 0x51, 0x98, 0x72, 0x11, 0x12, 0x04, 0xaa, 0x77, 0x92, 0x91, 0xbf, 0xa4,
344 0x61, 0x58, 0x78, 0xdb, 0xa8, 0x2f, 0xd9, 0x88, 0x6a, 0xe3, 0x3c, 0x7e,
345 0x56, 0x0d, 0x71, 0xdf, 0x7d, 0xc8, 0x0c, 0x11, 0xec, 0x06, 0x35, 0xb9,
346 0xb3, 0x70, 0x41, 0xf6, 0xed, 0x57, 0x88, 0x5c, 0xbc, 0xdf, 0xae, 0x35,
347 0xe2, 0xf6, 0x0c, 0xc9, 0xf0, 0xca, 0x85, 0xbf, 0xf6, 0x16, 0x0c, 0x79,
348 0xdc, 0x2b, 0xf4, 0xa8, 0x26, 0xbf, 0xbe, 0xa8, 0x42, 0xd7, 0x35, 0x01,
349 0x4d, 0xd7, 0x5c, 0x8f, 0x44, 0xda, 0x4e, 0xe6, 0xb0, 0x21, 0xee, 0x00,
350 0xda, 0xbe, 0x01, 0xd9, 0xff, 0x89, 0x89, 0xbb, 0x68, 0x89, 0x0b,
351 },
352 },
353 .second_clock = 1700000107,
354 .second_interfaces = &.{ 0x00, 0x01 },
355 .second_frames = &.{
356 &.{
357 0x71, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
358 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0x7f, 0x83, 0x64, 0x1d, 0xec, 0x81,
359 0xee, 0xa9, 0x26, 0x2f, 0x0b, 0x6e, 0x6b, 0x25, 0x7b, 0x9b, 0x00, 0x72,
360 0x0c, 0xd1, 0x54, 0x18, 0xb0, 0xbf, 0xe0, 0x53, 0x15, 0x5a, 0x40, 0x41,
361 0xbe, 0xe8, 0x2f, 0x3b, 0x8e, 0xb3, 0xef, 0xcb, 0xf4, 0x72, 0x26, 0x2e,
362 0xeb, 0xdc, 0x22, 0x49, 0x30, 0x9f, 0x0d, 0x9d, 0xd6, 0x08, 0x09, 0xf7,
363 0xda, 0xb1, 0xb5, 0xae, 0x8e, 0x41, 0x20, 0x46, 0xb7, 0x33, 0x8e, 0xb1,
364 0xf3, 0x20, 0xd4, 0x81, 0xe0, 0x27, 0x2a, 0x6b, 0xce, 0x32, 0x48, 0x7a,
365 0xe3, 0x72, 0x97, 0x89, 0x66, 0xd1, 0x1f, 0xc3, 0xc4, 0x06, 0xe3, 0x33,
366 0x70, 0xcc, 0xaa, 0xa4, 0x67, 0x23, 0x00, 0x65, 0x53, 0xf1, 0x02, 0xd8,
367 0x51, 0x98, 0x72, 0x11, 0x12, 0x04, 0xaa, 0x77, 0x92, 0x91, 0xbf, 0xa4,
368 0x61, 0x58, 0x78, 0xdb, 0xa8, 0x2f, 0xd9, 0x88, 0x6a, 0xe3, 0x3c, 0x7e,
369 0x56, 0x0d, 0x71, 0xdf, 0x7d, 0xc8, 0x0c, 0x11, 0xec, 0x06, 0x35, 0xb9,
370 0xb3, 0x70, 0x41, 0xf6, 0xed, 0x57, 0x88, 0x5c, 0xbc, 0xdf, 0xae, 0x35,
371 0xe2, 0xf6, 0x0c, 0xc9, 0xf0, 0xca, 0x85, 0xbf, 0xf6, 0x16, 0x0c, 0x79,
372 0xdc, 0x2b, 0xf4, 0xa8, 0x26, 0xbf, 0xbe, 0xa8, 0x42, 0xd7, 0x35, 0x01,
373 0x4d, 0xd7, 0x5c, 0x8f, 0x44, 0xda, 0x4e, 0xe6, 0xb0, 0x21, 0xee, 0x00,
374 0xda, 0xbe, 0x01, 0xd9, 0xff, 0x89, 0x89, 0xbb, 0x68, 0x89, 0x0b,
375 },
376 &.{
377 0x71, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
378 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0x7f, 0x83, 0x64, 0x1d, 0xec, 0x81,
379 0xee, 0xa9, 0x26, 0x2f, 0x0b, 0x6e, 0x6b, 0x25, 0x7b, 0x9b, 0x00, 0x72,
380 0x0c, 0xd1, 0x54, 0x18, 0xb0, 0xbf, 0xe0, 0x53, 0x15, 0x5a, 0x40, 0x41,
381 0xbe, 0xe8, 0x2f, 0x3b, 0x8e, 0xb3, 0xef, 0xcb, 0xf4, 0x72, 0x26, 0x2e,
382 0xeb, 0xdc, 0x22, 0x49, 0x30, 0x9f, 0x0d, 0x9d, 0xd6, 0x08, 0x09, 0xf7,
383 0xda, 0xb1, 0xb5, 0xae, 0x8e, 0x41, 0x20, 0x46, 0xb7, 0x33, 0x8e, 0xb1,
384 0xf3, 0x20, 0xd4, 0x81, 0xe0, 0x27, 0x2a, 0x6b, 0xce, 0x32, 0x48, 0x7a,
385 0xe3, 0x72, 0x97, 0x89, 0x66, 0xd1, 0x1f, 0xc3, 0xc4, 0x06, 0xe3, 0x33,
386 0x70, 0xcc, 0xaa, 0xa4, 0x67, 0x23, 0x00, 0x65, 0x53, 0xf1, 0x02, 0xd8,
387 0x51, 0x98, 0x72, 0x11, 0x12, 0x04, 0xaa, 0x77, 0x92, 0x91, 0xbf, 0xa4,
388 0x61, 0x58, 0x78, 0xdb, 0xa8, 0x2f, 0xd9, 0x88, 0x6a, 0xe3, 0x3c, 0x7e,
389 0x56, 0x0d, 0x71, 0xdf, 0x7d, 0xc8, 0x0c, 0x11, 0xec, 0x06, 0x35, 0xb9,
390 0xb3, 0x70, 0x41, 0xf6, 0xed, 0x57, 0x88, 0x5c, 0xbc, 0xdf, 0xae, 0x35,
391 0xe2, 0xf6, 0x0c, 0xc9, 0xf0, 0xca, 0x85, 0xbf, 0xf6, 0x16, 0x0c, 0x79,
392 0xdc, 0x2b, 0xf4, 0xa8, 0x26, 0xbf, 0xbe, 0xa8, 0x42, 0xd7, 0x35, 0x01,
393 0x4d, 0xd7, 0x5c, 0x8f, 0x44, 0xda, 0x4e, 0xe6, 0xb0, 0x21, 0xee, 0x00,
394 0xda, 0xbe, 0x01, 0xd9, 0xff, 0x89, 0x89, 0xbb, 0x68, 0x89, 0x0b,
395 },
396 },
397 .transport_id = &.{
398 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b, 0x8b, 0x56,
399 0x79, 0x51, 0xaa, 0x7c,
400 },
401 .hops = 1,
402 .context = 0,
403 .context_flag = 1,
404 .packet_hash = &.{
405 0x47, 0xcb, 0x94, 0xb3, 0x66, 0xd6, 0x59, 0xad, 0x5d, 0x91, 0x60, 0xb7,
406 0x71, 0xa5, 0xd6, 0xdb, 0x2f, 0xcb, 0xd8, 0xd9, 0x06, 0x61, 0x56, 0xad,
407 0xd6, 0xc7, 0x05, 0xb5, 0xc9, 0x54, 0x83, 0xee,
408 },
409 },
410 };
411
412 pub const relay_vectors: []const RelayVector = &.{
413 .{
414 .name = "transport-data-insert",
415 .transport_enabled = false,
416 .identity_hash = &.{
417 0xe5, 0x1a, 0xa9, 0xda, 0xa9, 0xd7, 0x7e, 0x8e, 0x8f, 0xe6, 0x07, 0x03,
418 0xcf, 0xa3, 0x67, 0xac,
419 },
420 .interfaces = 2,
421 .announce_raw = &.{
422 0x51, 0x02, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
423 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
424 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
425 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
426 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
427 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
428 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
429 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
430 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
431 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
432 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
433 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
434 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
435 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
436 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
437 0xcb, 0x06, 0x0f,
438 },
439 .announce_interface = 1,
440 .announce_clock = 1700000102,
441 .relay_raw = &.{},
442 .relay_interface = 0,
443 .relay_clock = 0,
444 .input_raw = &.{},
445 .input_interface = 0,
446 .input_clock = 1700000103,
447 .plaintext = &.{
448 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x61,
449 0x74, 0x61,
450 },
451 .ephemeral_private_key = &.{
452 0xd8, 0xf1, 0xff, 0xdc, 0xc0, 0xd6, 0x71, 0x86, 0x12, 0x5c, 0x35, 0x59,
453 0xea, 0x3a, 0x5a, 0x50, 0x4f, 0xe1, 0x89, 0x12, 0x48, 0x32, 0x8b, 0x49,
454 0x00, 0x4c, 0x84, 0x95, 0x87, 0x59, 0xfa, 0x4e,
455 },
456 .iv = &.{
457 0xe9, 0x63, 0xe0, 0x21, 0xfd, 0x8f, 0xc8, 0x59, 0xbc, 0x13, 0x13, 0x88,
458 0x93, 0xb4, 0xf2, 0x19,
459 },
460 .output_interface = 1,
461 .output_raw = &.{
462 0x50, 0x00, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
463 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
464 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xe2,
465 0xea, 0x6b, 0xfe, 0x06, 0x1b, 0xbc, 0x16, 0x05, 0xfa, 0x40, 0x28, 0xa3,
466 0x39, 0xa5, 0x9d, 0x04, 0xe5, 0x62, 0x50, 0x3b, 0x14, 0x1b, 0xb5, 0x56,
467 0xd7, 0xd8, 0xc1, 0x13, 0xbe, 0xb7, 0x20, 0xe9, 0x63, 0xe0, 0x21, 0xfd,
468 0x8f, 0xc8, 0x59, 0xbc, 0x13, 0x13, 0x88, 0x93, 0xb4, 0xf2, 0x19, 0xa0,
469 0xda, 0xed, 0xb7, 0xf3, 0x33, 0x0a, 0xae, 0xad, 0x4f, 0x6a, 0x69, 0xe6,
470 0xfa, 0x30, 0xf9, 0x90, 0xb5, 0x86, 0xd8, 0x05, 0xcf, 0x61, 0x12, 0x50,
471 0xbd, 0x21, 0x57, 0x5e, 0xa0, 0xae, 0x03, 0x1d, 0xfe, 0x4f, 0x55, 0xa6,
472 0xa4, 0x9b, 0xd8, 0x2a, 0xf8, 0x31, 0xa5, 0x33, 0x02, 0x1d, 0x10,
473 },
474 .transport_id = &.{
475 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
476 0xdb, 0xb5, 0x84, 0xf1,
477 },
478 .hops = 0,
479 .context = 0,
480 .context_flag = 0,
481 .packet_hash = &.{
482 0x32, 0x21, 0x92, 0xa8, 0x7f, 0xa0, 0x3d, 0xd9, 0x3d, 0x18, 0x4f, 0x7d,
483 0xb0, 0x65, 0x2e, 0x4b, 0x38, 0x8a, 0xf5, 0x63, 0xcf, 0xa7, 0x87, 0x19,
484 0x39, 0xa8, 0x7f, 0x05, 0xa2, 0x25, 0xe6, 0x34,
485 },
486 },
487 .{
488 .name = "transport-data-forward",
489 .transport_enabled = true,
490 .identity_hash = &.{
491 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
492 0xdb, 0xb5, 0x84, 0xf1,
493 },
494 .interfaces = 2,
495 .announce_raw = &.{
496 0x51, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
497 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
498 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
499 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
500 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
501 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
502 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
503 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
504 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
505 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
506 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
507 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
508 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
509 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
510 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
511 0xcb, 0x06, 0x0f,
512 },
513 .announce_interface = 1,
514 .announce_clock = 1700000101,
515 .relay_raw = &.{},
516 .relay_interface = 0,
517 .relay_clock = 0,
518 .input_raw = &.{
519 0x50, 0x00, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
520 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
521 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xe2,
522 0xea, 0x6b, 0xfe, 0x06, 0x1b, 0xbc, 0x16, 0x05, 0xfa, 0x40, 0x28, 0xa3,
523 0x39, 0xa5, 0x9d, 0x04, 0xe5, 0x62, 0x50, 0x3b, 0x14, 0x1b, 0xb5, 0x56,
524 0xd7, 0xd8, 0xc1, 0x13, 0xbe, 0xb7, 0x20, 0xe9, 0x63, 0xe0, 0x21, 0xfd,
525 0x8f, 0xc8, 0x59, 0xbc, 0x13, 0x13, 0x88, 0x93, 0xb4, 0xf2, 0x19, 0xa0,
526 0xda, 0xed, 0xb7, 0xf3, 0x33, 0x0a, 0xae, 0xad, 0x4f, 0x6a, 0x69, 0xe6,
527 0xfa, 0x30, 0xf9, 0x90, 0xb5, 0x86, 0xd8, 0x05, 0xcf, 0x61, 0x12, 0x50,
528 0xbd, 0x21, 0x57, 0x5e, 0xa0, 0xae, 0x03, 0x1d, 0xfe, 0x4f, 0x55, 0xa6,
529 0xa4, 0x9b, 0xd8, 0x2a, 0xf8, 0x31, 0xa5, 0x33, 0x02, 0x1d, 0x10,
530 },
531 .input_interface = 0,
532 .input_clock = 1700000103,
533 .plaintext = &.{},
534 .ephemeral_private_key = &.{},
535 .iv = &.{},
536 .output_interface = 1,
537 .output_raw = &.{
538 0x50, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
539 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
540 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xe2,
541 0xea, 0x6b, 0xfe, 0x06, 0x1b, 0xbc, 0x16, 0x05, 0xfa, 0x40, 0x28, 0xa3,
542 0x39, 0xa5, 0x9d, 0x04, 0xe5, 0x62, 0x50, 0x3b, 0x14, 0x1b, 0xb5, 0x56,
543 0xd7, 0xd8, 0xc1, 0x13, 0xbe, 0xb7, 0x20, 0xe9, 0x63, 0xe0, 0x21, 0xfd,
544 0x8f, 0xc8, 0x59, 0xbc, 0x13, 0x13, 0x88, 0x93, 0xb4, 0xf2, 0x19, 0xa0,
545 0xda, 0xed, 0xb7, 0xf3, 0x33, 0x0a, 0xae, 0xad, 0x4f, 0x6a, 0x69, 0xe6,
546 0xfa, 0x30, 0xf9, 0x90, 0xb5, 0x86, 0xd8, 0x05, 0xcf, 0x61, 0x12, 0x50,
547 0xbd, 0x21, 0x57, 0x5e, 0xa0, 0xae, 0x03, 0x1d, 0xfe, 0x4f, 0x55, 0xa6,
548 0xa4, 0x9b, 0xd8, 0x2a, 0xf8, 0x31, 0xa5, 0x33, 0x02, 0x1d, 0x10,
549 },
550 .transport_id = &.{
551 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b, 0x8b, 0x56,
552 0x79, 0x51, 0xaa, 0x7c,
553 },
554 .hops = 1,
555 .context = 0,
556 .context_flag = 0,
557 .packet_hash = &.{
558 0x32, 0x21, 0x92, 0xa8, 0x7f, 0xa0, 0x3d, 0xd9, 0x3d, 0x18, 0x4f, 0x7d,
559 0xb0, 0x65, 0x2e, 0x4b, 0x38, 0x8a, 0xf5, 0x63, 0xcf, 0xa7, 0x87, 0x19,
560 0x39, 0xa8, 0x7f, 0x05, 0xa2, 0x25, 0xe6, 0x34,
561 },
562 },
563 .{
564 .name = "transport-data-strip",
565 .transport_enabled = true,
566 .identity_hash = &.{
567 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b, 0x8b, 0x56,
568 0x79, 0x51, 0xaa, 0x7c,
569 },
570 .interfaces = 2,
571 .announce_raw = &.{
572 0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
573 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,
574 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,
575 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,
576 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,
577 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,
578 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,
579 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,
580 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,
581 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,
582 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,
583 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,
584 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,
585 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,
586 },
587 .announce_interface = 1,
588 .announce_clock = 1700000100,
589 .relay_raw = &.{},
590 .relay_interface = 0,
591 .relay_clock = 0,
592 .input_raw = &.{
593 0x50, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
594 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
595 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xe2,
596 0xea, 0x6b, 0xfe, 0x06, 0x1b, 0xbc, 0x16, 0x05, 0xfa, 0x40, 0x28, 0xa3,
597 0x39, 0xa5, 0x9d, 0x04, 0xe5, 0x62, 0x50, 0x3b, 0x14, 0x1b, 0xb5, 0x56,
598 0xd7, 0xd8, 0xc1, 0x13, 0xbe, 0xb7, 0x20, 0xe9, 0x63, 0xe0, 0x21, 0xfd,
599 0x8f, 0xc8, 0x59, 0xbc, 0x13, 0x13, 0x88, 0x93, 0xb4, 0xf2, 0x19, 0xa0,
600 0xda, 0xed, 0xb7, 0xf3, 0x33, 0x0a, 0xae, 0xad, 0x4f, 0x6a, 0x69, 0xe6,
601 0xfa, 0x30, 0xf9, 0x90, 0xb5, 0x86, 0xd8, 0x05, 0xcf, 0x61, 0x12, 0x50,
602 0xbd, 0x21, 0x57, 0x5e, 0xa0, 0xae, 0x03, 0x1d, 0xfe, 0x4f, 0x55, 0xa6,
603 0xa4, 0x9b, 0xd8, 0x2a, 0xf8, 0x31, 0xa5, 0x33, 0x02, 0x1d, 0x10,
604 },
605 .input_interface = 0,
606 .input_clock = 1700000103,
607 .plaintext = &.{},
608 .ephemeral_private_key = &.{},
609 .iv = &.{},
610 .output_interface = 1,
611 .output_raw = &.{
612 0x00, 0x02, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
613 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xe2, 0xea, 0x6b, 0xfe, 0x06,
614 0x1b, 0xbc, 0x16, 0x05, 0xfa, 0x40, 0x28, 0xa3, 0x39, 0xa5, 0x9d, 0x04,
615 0xe5, 0x62, 0x50, 0x3b, 0x14, 0x1b, 0xb5, 0x56, 0xd7, 0xd8, 0xc1, 0x13,
616 0xbe, 0xb7, 0x20, 0xe9, 0x63, 0xe0, 0x21, 0xfd, 0x8f, 0xc8, 0x59, 0xbc,
617 0x13, 0x13, 0x88, 0x93, 0xb4, 0xf2, 0x19, 0xa0, 0xda, 0xed, 0xb7, 0xf3,
618 0x33, 0x0a, 0xae, 0xad, 0x4f, 0x6a, 0x69, 0xe6, 0xfa, 0x30, 0xf9, 0x90,
619 0xb5, 0x86, 0xd8, 0x05, 0xcf, 0x61, 0x12, 0x50, 0xbd, 0x21, 0x57, 0x5e,
620 0xa0, 0xae, 0x03, 0x1d, 0xfe, 0x4f, 0x55, 0xa6, 0xa4, 0x9b, 0xd8, 0x2a,
621 0xf8, 0x31, 0xa5, 0x33, 0x02, 0x1d, 0x10,
622 },
623 .transport_id = &.{},
624 .hops = 2,
625 .context = 0,
626 .context_flag = 0,
627 .packet_hash = &.{
628 0x32, 0x21, 0x92, 0xa8, 0x7f, 0xa0, 0x3d, 0xd9, 0x3d, 0x18, 0x4f, 0x7d,
629 0xb0, 0x65, 0x2e, 0x4b, 0x38, 0x8a, 0xf5, 0x63, 0xcf, 0xa7, 0x87, 0x19,
630 0x39, 0xa8, 0x7f, 0x05, 0xa2, 0x25, 0xe6, 0x34,
631 },
632 },
633 .{
634 .name = "transport-proof-relay",
635 .transport_enabled = true,
636 .identity_hash = &.{
637 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b, 0x8b, 0x56,
638 0x79, 0x51, 0xaa, 0x7c,
639 },
640 .interfaces = 2,
641 .announce_raw = &.{
642 0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
643 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,
644 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,
645 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,
646 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,
647 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,
648 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,
649 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,
650 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,
651 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,
652 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,
653 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,
654 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,
655 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,
656 },
657 .announce_interface = 1,
658 .announce_clock = 1700000100,
659 .relay_raw = &.{
660 0x50, 0x01, 0x03, 0x1c, 0x77, 0x3f, 0xa6, 0xd1, 0xb0, 0x06, 0x0e, 0x3b,
661 0x8b, 0x56, 0x79, 0x51, 0xaa, 0x7c, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
662 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xe2,
663 0xea, 0x6b, 0xfe, 0x06, 0x1b, 0xbc, 0x16, 0x05, 0xfa, 0x40, 0x28, 0xa3,
664 0x39, 0xa5, 0x9d, 0x04, 0xe5, 0x62, 0x50, 0x3b, 0x14, 0x1b, 0xb5, 0x56,
665 0xd7, 0xd8, 0xc1, 0x13, 0xbe, 0xb7, 0x20, 0xe9, 0x63, 0xe0, 0x21, 0xfd,
666 0x8f, 0xc8, 0x59, 0xbc, 0x13, 0x13, 0x88, 0x93, 0xb4, 0xf2, 0x19, 0xa0,
667 0xda, 0xed, 0xb7, 0xf3, 0x33, 0x0a, 0xae, 0xad, 0x4f, 0x6a, 0x69, 0xe6,
668 0xfa, 0x30, 0xf9, 0x90, 0xb5, 0x86, 0xd8, 0x05, 0xcf, 0x61, 0x12, 0x50,
669 0xbd, 0x21, 0x57, 0x5e, 0xa0, 0xae, 0x03, 0x1d, 0xfe, 0x4f, 0x55, 0xa6,
670 0xa4, 0x9b, 0xd8, 0x2a, 0xf8, 0x31, 0xa5, 0x33, 0x02, 0x1d, 0x10,
671 },
672 .relay_interface = 0,
673 .relay_clock = 1700000103,
674 .input_raw = &.{
675 0x03, 0x00, 0x32, 0x21, 0x92, 0xa8, 0x7f, 0xa0, 0x3d, 0xd9, 0x3d, 0x18,
676 0x4f, 0x7d, 0xb0, 0x65, 0x2e, 0x4b, 0x00, 0xdf, 0x95, 0x90, 0x19, 0xe4,
677 0xee, 0xc5, 0xe6, 0xd7, 0x2f, 0xca, 0x10, 0x1a, 0x42, 0x7a, 0xfa, 0x2c,
678 0xb9, 0x31, 0xc6, 0x18, 0x38, 0xfb, 0x1d, 0xf7, 0x7e, 0xea, 0x15, 0x97,
679 0x0f, 0x42, 0x71, 0x21, 0xb5, 0x8a, 0x74, 0xe9, 0xf1, 0x4f, 0x57, 0x3d,
680 0xd7, 0x60, 0x78, 0x7e, 0x2a, 0xb4, 0x7a, 0x0d, 0x01, 0xb5, 0x02, 0xfd,
681 0x18, 0x9a, 0xef, 0x8b, 0x0a, 0x10, 0x73, 0x92, 0x57, 0xe0, 0x03,
682 },
683 .input_interface = 1,
684 .input_clock = 1700000104,
685 .plaintext = &.{},
686 .ephemeral_private_key = &.{},
687 .iv = &.{},
688 .output_interface = 0,
689 .output_raw = &.{
690 0x03, 0x01, 0x32, 0x21, 0x92, 0xa8, 0x7f, 0xa0, 0x3d, 0xd9, 0x3d, 0x18,
691 0x4f, 0x7d, 0xb0, 0x65, 0x2e, 0x4b, 0x00, 0xdf, 0x95, 0x90, 0x19, 0xe4,
692 0xee, 0xc5, 0xe6, 0xd7, 0x2f, 0xca, 0x10, 0x1a, 0x42, 0x7a, 0xfa, 0x2c,
693 0xb9, 0x31, 0xc6, 0x18, 0x38, 0xfb, 0x1d, 0xf7, 0x7e, 0xea, 0x15, 0x97,
694 0x0f, 0x42, 0x71, 0x21, 0xb5, 0x8a, 0x74, 0xe9, 0xf1, 0x4f, 0x57, 0x3d,
695 0xd7, 0x60, 0x78, 0x7e, 0x2a, 0xb4, 0x7a, 0x0d, 0x01, 0xb5, 0x02, 0xfd,
696 0x18, 0x9a, 0xef, 0x8b, 0x0a, 0x10, 0x73, 0x92, 0x57, 0xe0, 0x03,
697 },
698 .transport_id = &.{},
699 .hops = 1,
700 .context = 0,
701 .context_flag = 0,
702 .packet_hash = &.{
703 0x0c, 0x89, 0x55, 0x29, 0x45, 0xe6, 0x11, 0xad, 0x34, 0xb6, 0x93, 0x73,
704 0x8a, 0xa3, 0x48, 0x9b, 0xd4, 0xd6, 0x0d, 0x4a, 0x4d, 0x6d, 0x7e, 0xf9,
705 0xfc, 0x79, 0xab, 0xee, 0xc1, 0x25, 0x12, 0x07,
706 },
707 },
708 };
709
710 pub const request_vectors: []const RequestVector = &.{
711 .{
712 .name = "path-request-endpoint",
713 .transport_enabled = false,
714 .identity_hash = &.{
715 0xe5, 0x1a, 0xa9, 0xda, 0xa9, 0xd7, 0x7e, 0x8e, 0x8f, 0xe6, 0x07, 0x03,
716 0xcf, 0xa3, 0x67, 0xac,
717 },
718 .interfaces = 2,
719 .destination_hash = &.{
720 0x53, 0x78, 0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea,
721 0x0f, 0x34, 0x59, 0x7e,
722 },
723 .tag = &.{
724 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8,
725 0x0d, 0x32, 0x57, 0x7c,
726 },
727 .attached_interface = 255,
728 .input_raw = &.{},
729 .input_interface = 0,
730 .input_clock = 1700000100,
731 .output_interfaces = &.{ 0x00, 0x01 },
732 .output_frames = &.{
733 &.{
734 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
735 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x53, 0x78, 0x9d, 0xc2, 0xe7,
736 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea, 0x0f, 0x34, 0x59, 0x7e, 0x51,
737 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d,
738 0x32, 0x57, 0x7c,
739 },
740 &.{
741 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
742 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x53, 0x78, 0x9d, 0xc2, 0xe7,
743 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea, 0x0f, 0x34, 0x59, 0x7e, 0x51,
744 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d,
745 0x32, 0x57, 0x7c,
746 },
747 },
748 .payload = &.{
749 0x53, 0x78, 0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea,
750 0x0f, 0x34, 0x59, 0x7e, 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54,
751 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c,
752 },
753 },
754 .{
755 .name = "path-request-transport",
756 .transport_enabled = true,
757 .identity_hash = &.{
758 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
759 0xdb, 0xb5, 0x84, 0xf1,
760 },
761 .interfaces = 2,
762 .destination_hash = &.{
763 0x53, 0x78, 0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea,
764 0x0f, 0x34, 0x59, 0x7e,
765 },
766 .tag = &.{
767 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8,
768 0x0d, 0x32, 0x57, 0x7c,
769 },
770 .attached_interface = 1,
771 .input_raw = &.{},
772 .input_interface = 0,
773 .input_clock = 1700000100,
774 .output_interfaces = &.{0x01},
775 .output_frames = &.{
776 &.{
777 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
778 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x53, 0x78, 0x9d, 0xc2, 0xe7,
779 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea, 0x0f, 0x34, 0x59, 0x7e, 0x84,
780 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02, 0xdb,
781 0xb5, 0x84, 0xf1, 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79,
782 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c,
783 },
784 },
785 .payload = &.{
786 0x53, 0x78, 0x9d, 0xc2, 0xe7, 0x0c, 0x31, 0x56, 0x7b, 0xa0, 0xc5, 0xea,
787 0x0f, 0x34, 0x59, 0x7e, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5,
788 0x20, 0x8b, 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0x51, 0x76, 0x9b, 0xc0,
789 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c,
790 },
791 },
792 .{
793 .name = "path-request-forwarded",
794 .transport_enabled = true,
795 .identity_hash = &.{
796 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
797 0xdb, 0xb5, 0x84, 0xf1,
798 },
799 .interfaces = 2,
800 .destination_hash = &.{
801 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8,
802 0x49, 0xc0, 0xe3, 0x16,
803 },
804 .tag = &.{
805 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8,
806 0x0d, 0x32, 0x57, 0x7c,
807 },
808 .attached_interface = 255,
809 .input_raw = &.{
810 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
811 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79,
812 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x51,
813 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d,
814 0x32, 0x57, 0x7c,
815 },
816 .input_interface = 0,
817 .input_clock = 1700000100,
818 .output_interfaces = &.{0x01},
819 .output_frames = &.{
820 &.{
821 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
822 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79,
823 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x84,
824 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02, 0xdb,
825 0xb5, 0x84, 0xf1, 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79,
826 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c,
827 },
828 },
829 .payload = &.{
830 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8,
831 0x49, 0xc0, 0xe3, 0x16, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5,
832 0x20, 0x8b, 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0x51, 0x76, 0x9b, 0xc0,
833 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c,
834 },
835 },
836 };
837
838 pub const answer_vectors: []const AnswerVector = &.{
839 .{
840 .name = "transport-announce-path-response",
841 .identity_hash = &.{
842 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
843 0xdb, 0xb5, 0x84, 0xf1,
844 },
845 .interfaces = 2,
846 .discovery = false,
847 .announce_raw = &.{
848 0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
849 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,
850 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,
851 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,
852 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,
853 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,
854 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,
855 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,
856 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,
857 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,
858 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,
859 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,
860 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,
861 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,
862 },
863 .announce_interface = 1,
864 .announce_clock = 1700000100,
865 .request_raw = &.{
866 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
867 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79,
868 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x52,
869 0x77, 0x9c, 0xc1, 0xe6, 0x0b, 0x30, 0x55, 0x7a, 0x9f, 0xc4, 0xe9, 0x0e,
870 0x33, 0x58, 0x7d, 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79,
871 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c,
872 },
873 .request_interface = 0,
874 .request_clock = 1700000101,
875 .answer_clock = 1700000102,
876 .output_interface = 0,
877 .output_raw = &.{
878 0x51, 0x01, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
879 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
880 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x0b, 0x3c,
881 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
882 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
883 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
884 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
885 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
886 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
887 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
888 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
889 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
890 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
891 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
892 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
893 0xcb, 0x06, 0x0f,
894 },
895 .transport_id = &.{
896 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
897 0xdb, 0xb5, 0x84, 0xf1,
898 },
899 .hops = 1,
900 .context = 11,
901 .context_flag = 0,
902 .packet_hash = &.{
903 0x52, 0x0d, 0x05, 0xa4, 0x65, 0xad, 0xf2, 0xa5, 0x1f, 0x49, 0x89, 0x88,
904 0xc8, 0xfa, 0xd6, 0xb4, 0x56, 0x13, 0xc9, 0x53, 0x48, 0x86, 0x40, 0x35,
905 0x0f, 0x11, 0xa0, 0x4f, 0x90, 0x10, 0x73, 0xa5,
906 },
907 },
908 .{
909 .name = "transport-discovery-answer",
910 .identity_hash = &.{
911 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
912 0xdb, 0xb5, 0x84, 0xf1,
913 },
914 .interfaces = 2,
915 .discovery = true,
916 .announce_raw = &.{
917 0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
918 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,
919 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,
920 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,
921 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,
922 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,
923 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,
924 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,
925 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,
926 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,
927 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,
928 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,
929 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,
930 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,
931 },
932 .announce_interface = 1,
933 .announce_clock = 1700000101,
934 .request_raw = &.{
935 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
936 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79,
937 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x51,
938 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d,
939 0x32, 0x57, 0x7c,
940 },
941 .request_interface = 0,
942 .request_clock = 1700000100,
943 .answer_clock = 1700000101,
944 .output_interface = 0,
945 .output_raw = &.{
946 0x51, 0x01, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
947 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
948 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x0b, 0x3c,
949 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
950 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
951 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
952 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
953 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
954 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
955 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
956 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
957 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
958 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
959 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
960 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
961 0xcb, 0x06, 0x0f,
962 },
963 .transport_id = &.{
964 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
965 0xdb, 0xb5, 0x84, 0xf1,
966 },
967 .hops = 1,
968 .context = 11,
969 .context_flag = 0,
970 .packet_hash = &.{
971 0x52, 0x0d, 0x05, 0xa4, 0x65, 0xad, 0xf2, 0xa5, 0x1f, 0x49, 0x89, 0x88,
972 0xc8, 0xfa, 0xd6, 0xb4, 0x56, 0x13, 0xc9, 0x53, 0x48, 0x86, 0x40, 0x35,
973 0x0f, 0x11, 0xa0, 0x4f, 0x90, 0x10, 0x73, 0xa5,
974 },
975 },
976 };
977
978 pub const local_vectors: []const LocalVector = &.{
979 .{
980 .name = "transport-announce-local-path-response",
981 .interfaces = 2,
982 .private_key = &.{
983 0x28, 0xcd, 0x7c, 0x0a, 0x14, 0xd6, 0x98, 0xfb, 0x67, 0x88, 0xe9, 0xe1,
984 0x1e, 0x06, 0xf9, 0xf3, 0xce, 0x2c, 0x08, 0x35, 0x91, 0x8f, 0x81, 0x49,
985 0x12, 0x0d, 0xb6, 0xf6, 0xbc, 0x87, 0xcd, 0x59, 0x35, 0xdd, 0x9f, 0xee,
986 0xaa, 0x27, 0xd3, 0xbd, 0x00, 0xcf, 0xcc, 0x8c, 0x0e, 0x9d, 0x45, 0x46,
987 0xfa, 0x85, 0x06, 0x2d, 0x15, 0x10, 0xb2, 0xf5, 0xa6, 0x42, 0x5f, 0x10,
988 0xcd, 0xdd, 0x7c, 0x0f,
989 },
990 .destination_hash = &.{
991 0x1e, 0x93, 0xb8, 0xf5, 0x8a, 0xe6, 0xb0, 0x6d, 0x0d, 0x96, 0x60, 0x05,
992 0x1e, 0x4d, 0xbc, 0x85,
993 },
994 .name_hash = &.{
995 0xf0, 0x4e, 0x0f, 0xa4, 0xbf, 0xd7, 0x3f, 0x03, 0x1b, 0xfa,
996 },
997 .app_data = &.{},
998 .random_hash = &.{
999 0xed, 0xf7, 0x48, 0xe1, 0x3f, 0x00, 0x65, 0x53, 0xf1, 0x78,
1000 },
1001 .clock = 1700000120,
1002 .tag = &.{
1003 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8,
1004 0x0d, 0x32, 0x57, 0x7c,
1005 },
1006 .request_raw = &.{
1007 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1008 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x1e, 0x93, 0xb8, 0xf5, 0x8a,
1009 0xe6, 0xb0, 0x6d, 0x0d, 0x96, 0x60, 0x05, 0x1e, 0x4d, 0xbc, 0x85, 0x51,
1010 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d,
1011 0x32, 0x57, 0x7c,
1012 },
1013 .request_interface = 1,
1014 .output_interface = 1,
1015 .output_raw = &.{
1016 0x01, 0x00, 0x1e, 0x93, 0xb8, 0xf5, 0x8a, 0xe6, 0xb0, 0x6d, 0x0d, 0x96,
1017 0x60, 0x05, 0x1e, 0x4d, 0xbc, 0x85, 0x0b, 0x26, 0x3d, 0x89, 0x95, 0xda,
1018 0x82, 0x38, 0x78, 0xc2, 0x21, 0xc9, 0x67, 0x9b, 0x92, 0x24, 0xaf, 0xc8,
1019 0x60, 0x72, 0x21, 0xd9, 0xde, 0xd0, 0x3f, 0x8f, 0x57, 0xe4, 0x3f, 0xad,
1020 0x34, 0x2a, 0x02, 0x57, 0x2b, 0xe0, 0x59, 0x94, 0x0e, 0x44, 0xdd, 0x03,
1021 0x2c, 0x01, 0x6d, 0xbe, 0xea, 0xda, 0x58, 0x34, 0x39, 0x79, 0x03, 0xc0,
1022 0x47, 0xb0, 0x72, 0xdc, 0xe8, 0xdf, 0x96, 0xe0, 0x7b, 0x19, 0xfa, 0xf0,
1023 0x4e, 0x0f, 0xa4, 0xbf, 0xd7, 0x3f, 0x03, 0x1b, 0xfa, 0xed, 0xf7, 0x48,
1024 0xe1, 0x3f, 0x00, 0x65, 0x53, 0xf1, 0x78, 0xe8, 0x03, 0x03, 0x30, 0xb3,
1025 0x02, 0xb1, 0xb6, 0x95, 0x87, 0x9d, 0x11, 0xd3, 0xed, 0x55, 0x8b, 0xa0,
1026 0x80, 0x3a, 0xb6, 0x43, 0xb0, 0x09, 0x67, 0x1f, 0xcc, 0x2b, 0x28, 0x2f,
1027 0xe1, 0xf4, 0x20, 0x42, 0xa6, 0x24, 0x47, 0xcc, 0xbe, 0x56, 0x02, 0x64,
1028 0xd0, 0xba, 0x81, 0x8a, 0x69, 0xc7, 0x98, 0xeb, 0x42, 0x99, 0xb7, 0x85,
1029 0x6f, 0x05, 0x6f, 0x52, 0x86, 0x00, 0x19, 0xb2, 0x36, 0x46, 0x03,
1030 },
1031 .context = 11,
1032 },
1033 };
1034
1035 pub const parse_vectors: []const ParseVector = &.{
1036 .{
1037 .name = "path-request-parse-short",
1038 .raw = &.{
1039 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1040 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x01, 0x10, 0x35, 0x5a, 0x7f,
1041 0xa4, 0xc9, 0xee, 0x13, 0x38, 0x5d, 0x82, 0xa7, 0xcc, 0xf1,
1042 },
1043 .payload = &.{
1044 0x01, 0x10, 0x35, 0x5a, 0x7f, 0xa4, 0xc9, 0xee, 0x13, 0x38, 0x5d, 0x82,
1045 0xa7, 0xcc, 0xf1,
1046 },
1047 .verdict = &.{ 0x73, 0x68, 0x6f, 0x72, 0x74 },
1048 .destination_hash = &.{},
1049 .requestor = &.{},
1050 .tag = &.{},
1051 },
1052 .{
1053 .name = "path-request-parse-tagless",
1054 .raw = &.{
1055 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1056 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x02, 0x11, 0x36, 0x5b, 0x80,
1057 0xa5, 0xca, 0xef, 0x14, 0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17,
1058 },
1059 .payload = &.{
1060 0x02, 0x11, 0x36, 0x5b, 0x80, 0xa5, 0xca, 0xef, 0x14, 0x39, 0x5e, 0x83,
1061 0xa8, 0xcd, 0xf2, 0x17,
1062 },
1063 .verdict = &.{ 0x74, 0x61, 0x67, 0x6c, 0x65, 0x73, 0x73 },
1064 .destination_hash = &.{},
1065 .requestor = &.{},
1066 .tag = &.{},
1067 },
1068 .{
1069 .name = "path-request-parse-one-tag-byte",
1070 .raw = &.{
1071 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1072 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x03, 0x12, 0x37, 0x5c, 0x81,
1073 0xa6, 0xcb, 0xf0, 0x15, 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18, 0x5a,
1074 },
1075 .payload = &.{
1076 0x03, 0x12, 0x37, 0x5c, 0x81, 0xa6, 0xcb, 0xf0, 0x15, 0x3a, 0x5f, 0x84,
1077 0xa9, 0xce, 0xf3, 0x18, 0x5a,
1078 },
1079 .verdict = &.{ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64 },
1080 .destination_hash = &.{
1081 0x03, 0x12, 0x37, 0x5c, 0x81, 0xa6, 0xcb, 0xf0, 0x15, 0x3a, 0x5f, 0x84,
1082 0xa9, 0xce, 0xf3, 0x18,
1083 },
1084 .requestor = &.{},
1085 .tag = &.{0x5a},
1086 },
1087 .{
1088 .name = "path-request-parse-endpoint",
1089 .raw = &.{
1090 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1091 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x04, 0x13, 0x38, 0x5d, 0x82,
1092 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x15,
1093 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18, 0x3d, 0x62, 0x87, 0xac, 0xd1,
1094 0xf6, 0x1b, 0x40,
1095 },
1096 .payload = &.{
1097 0x04, 0x13, 0x38, 0x5d, 0x82, 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85,
1098 0xaa, 0xcf, 0xf4, 0x19, 0x15, 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18,
1099 0x3d, 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40,
1100 },
1101 .verdict = &.{ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64 },
1102 .destination_hash = &.{
1103 0x04, 0x13, 0x38, 0x5d, 0x82, 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85,
1104 0xaa, 0xcf, 0xf4, 0x19,
1105 },
1106 .requestor = &.{},
1107 .tag = &.{
1108 0x15, 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18, 0x3d, 0x62, 0x87, 0xac,
1109 0xd1, 0xf6, 0x1b, 0x40,
1110 },
1111 },
1112 .{
1113 .name = "path-request-parse-transport-one-tag-byte",
1114 .raw = &.{
1115 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1116 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x05, 0x14, 0x39, 0x5e, 0x83,
1117 0xa8, 0xcd, 0xf2, 0x17, 0x3c, 0x61, 0x86, 0xab, 0xd0, 0xf5, 0x1a, 0x16,
1118 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2,
1119 0xf7, 0x1c, 0x41, 0x5b,
1120 },
1121 .payload = &.{
1122 0x05, 0x14, 0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c, 0x61, 0x86,
1123 0xab, 0xd0, 0xf5, 0x1a, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19,
1124 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x5b,
1125 },
1126 .verdict = &.{ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64 },
1127 .destination_hash = &.{
1128 0x05, 0x14, 0x39, 0x5e, 0x83, 0xa8, 0xcd, 0xf2, 0x17, 0x3c, 0x61, 0x86,
1129 0xab, 0xd0, 0xf5, 0x1a,
1130 },
1131 .requestor = &.{
1132 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63, 0x88, 0xad,
1133 0xd2, 0xf7, 0x1c, 0x41,
1134 },
1135 .tag = &.{0x5b},
1136 },
1137 .{
1138 .name = "path-request-parse-transport",
1139 .raw = &.{
1140 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1141 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x07, 0x16, 0x3b, 0x60, 0x85,
1142 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x18,
1143 0x3d, 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40, 0x65, 0x8a, 0xaf, 0xd4,
1144 0xf9, 0x1e, 0x43, 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41,
1145 0x66, 0x8b, 0xb0, 0xd5, 0xfa, 0x1f, 0x44,
1146 },
1147 .payload = &.{
1148 0x07, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63, 0x88,
1149 0xad, 0xd2, 0xf7, 0x1c, 0x18, 0x3d, 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b,
1150 0x40, 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x19, 0x3e, 0x63, 0x88,
1151 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b, 0xb0, 0xd5, 0xfa, 0x1f, 0x44,
1152 },
1153 .verdict = &.{ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64 },
1154 .destination_hash = &.{
1155 0x07, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x3e, 0x63, 0x88,
1156 0xad, 0xd2, 0xf7, 0x1c,
1157 },
1158 .requestor = &.{
1159 0x18, 0x3d, 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40, 0x65, 0x8a, 0xaf,
1160 0xd4, 0xf9, 0x1e, 0x43,
1161 },
1162 .tag = &.{
1163 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b, 0xb0,
1164 0xd5, 0xfa, 0x1f, 0x44,
1165 },
1166 },
1167 .{
1168 .name = "path-request-parse-long-tag",
1169 .raw = &.{
1170 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1171 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x0a, 0x19, 0x3e, 0x63, 0x88,
1172 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b, 0xb0, 0xd5, 0xfa, 0x1f, 0x1b,
1173 0x40, 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2, 0xd7,
1174 0xfc, 0x21, 0x46, 0x2c, 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54,
1175 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57, 0x7c, 0xa1, 0xc6, 0xeb, 0x10,
1176 0x35, 0x5a, 0x7f, 0xa4, 0xc9, 0xee, 0x13, 0x38, 0x5d, 0x82, 0xa7,
1177 },
1178 .payload = &.{
1179 0x0a, 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b,
1180 0xb0, 0xd5, 0xfa, 0x1f, 0x1b, 0x40, 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e,
1181 0x43, 0x68, 0x8d, 0xb2, 0xd7, 0xfc, 0x21, 0x46, 0x2c, 0x51, 0x76, 0x9b,
1182 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d, 0x32, 0x57,
1183 0x7c, 0xa1, 0xc6, 0xeb, 0x10, 0x35, 0x5a, 0x7f, 0xa4, 0xc9, 0xee, 0x13,
1184 0x38, 0x5d, 0x82, 0xa7,
1185 },
1186 .verdict = &.{ 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64 },
1187 .destination_hash = &.{
1188 0x0a, 0x19, 0x3e, 0x63, 0x88, 0xad, 0xd2, 0xf7, 0x1c, 0x41, 0x66, 0x8b,
1189 0xb0, 0xd5, 0xfa, 0x1f,
1190 },
1191 .requestor = &.{
1192 0x1b, 0x40, 0x65, 0x8a, 0xaf, 0xd4, 0xf9, 0x1e, 0x43, 0x68, 0x8d, 0xb2,
1193 0xd7, 0xfc, 0x21, 0x46,
1194 },
1195 .tag = &.{
1196 0x2c, 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3,
1197 0xe8, 0x0d, 0x32, 0x57,
1198 },
1199 },
1200 .{
1201 .name = "path-request-parse-duplicate",
1202 .raw = &.{
1203 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1204 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0x04, 0x13, 0x38, 0x5d, 0x82,
1205 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85, 0xaa, 0xcf, 0xf4, 0x19, 0x1d,
1206 0x42, 0x67, 0x8c, 0xb1, 0xd6, 0xfb, 0x20, 0x45, 0x6a, 0x8f, 0xb4, 0xd9,
1207 0xfe, 0x23, 0x48, 0x15, 0x3a, 0x5f, 0x84, 0xa9, 0xce, 0xf3, 0x18, 0x3d,
1208 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40,
1209 },
1210 .payload = &.{
1211 0x04, 0x13, 0x38, 0x5d, 0x82, 0xa7, 0xcc, 0xf1, 0x16, 0x3b, 0x60, 0x85,
1212 0xaa, 0xcf, 0xf4, 0x19, 0x1d, 0x42, 0x67, 0x8c, 0xb1, 0xd6, 0xfb, 0x20,
1213 0x45, 0x6a, 0x8f, 0xb4, 0xd9, 0xfe, 0x23, 0x48, 0x15, 0x3a, 0x5f, 0x84,
1214 0xa9, 0xce, 0xf3, 0x18, 0x3d, 0x62, 0x87, 0xac, 0xd1, 0xf6, 0x1b, 0x40,
1215 },
1216 .verdict = &.{
1217 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65,
1218 },
1219 .destination_hash = &.{},
1220 .requestor = &.{},
1221 .tag = &.{},
1222 },
1223 };
1224
1225 pub const three_node_vectors: []const ThreeNodeVector = &.{
1226 .{
1227 .name = "transport-three-node-relay",
1228 .start_clock = 1700000000,
1229 .destination_hash = &.{
1230 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8,
1231 0x49, 0xc0, 0xe3, 0x16,
1232 },
1233 .destination_private_key = &.{
1234 0x08, 0x72, 0xe9, 0xdf, 0xd8, 0x6b, 0x82, 0xfc, 0xc5, 0x2d, 0x1a, 0x61,
1235 0xf8, 0x7d, 0x72, 0x6e, 0x5a, 0x19, 0x3c, 0xfc, 0xc6, 0xab, 0x3b, 0x26,
1236 0x25, 0xa6, 0x8c, 0xe2, 0xe9, 0x15, 0x15, 0x48, 0x54, 0x0a, 0xc4, 0xa5,
1237 0x8a, 0xc0, 0x1c, 0x61, 0x8e, 0xed, 0x0a, 0x8a, 0xe3, 0xe3, 0xf7, 0x1a,
1238 0xa5, 0xfb, 0xf0, 0x0e, 0xb1, 0x17, 0x19, 0x25, 0x7c, 0x4f, 0xe7, 0x0c,
1239 0xf3, 0xdc, 0xaf, 0xcd,
1240 },
1241 .destination_name_hash = &.{
1242 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66,
1243 },
1244 .destination_app_data = &.{},
1245 .announce_random_hash = &.{
1246 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00,
1247 },
1248 .transport_identity_hash = &.{
1249 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b, 0x68, 0x02,
1250 0xdb, 0xb5, 0x84, 0xf1,
1251 },
1252 .announce_raw = &.{
1253 0x01, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
1254 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c, 0x16, 0xa4, 0x7b, 0xc3,
1255 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5, 0xe7, 0x2c, 0xb9, 0x96,
1256 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a, 0x20, 0xb1, 0x2a, 0x7f,
1257 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd, 0x9e, 0xa1, 0x35, 0xf4,
1258 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7, 0x8a, 0x20, 0x46, 0xa0,
1259 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9, 0x57, 0x9a, 0x04, 0xd6,
1260 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e, 0x66, 0x02, 0x7f, 0x7a,
1261 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c, 0xd8, 0xa7, 0xb0, 0xee,
1262 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd, 0xad, 0x0d, 0xc8, 0xd1,
1263 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1, 0x5d, 0x3f, 0xcc, 0x7b,
1264 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f, 0xae, 0x98, 0x3d, 0x74,
1265 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2, 0x38, 0x3d, 0xb1, 0x2a,
1266 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa, 0xcb, 0x06, 0x0f,
1267 },
1268 .rebroadcast_clock = 1700000001,
1269 .rebroadcast_raw = &.{
1270 0x51, 0x01, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
1271 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
1272 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
1273 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
1274 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
1275 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
1276 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
1277 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
1278 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
1279 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
1280 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
1281 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
1282 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
1283 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
1284 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
1285 0xcb, 0x06, 0x0f,
1286 },
1287 .retry_clock = 1700000007,
1288 .retry_raw = &.{
1289 0x51, 0x01, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
1290 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
1291 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0x3c,
1292 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
1293 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
1294 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
1295 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
1296 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
1297 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
1298 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
1299 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
1300 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
1301 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
1302 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
1303 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
1304 0xcb, 0x06, 0x0f,
1305 },
1306 .send_clock = 1700000010,
1307 .plaintext = &.{
1308 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x61,
1309 0x74, 0x61,
1310 },
1311 .ephemeral_private_key = &.{
1312 0x20, 0xf8, 0xd9, 0x7c, 0xc2, 0xfe, 0x65, 0x19, 0x98, 0x9a, 0xeb, 0x2a,
1313 0x74, 0x85, 0x4f, 0xdc, 0x71, 0x2b, 0xf8, 0x0d, 0x9f, 0xc6, 0xca, 0xf6,
1314 0xc0, 0x44, 0xcb, 0x9e, 0x81, 0xcb, 0x96, 0x7f,
1315 },
1316 .iv = &.{
1317 0x94, 0xf3, 0x68, 0xc0, 0xef, 0x01, 0xf4, 0x21, 0xa2, 0x6e, 0xba, 0xd2,
1318 0x72, 0x6c, 0x12, 0xf2,
1319 },
1320 .inserted_raw = &.{
1321 0x50, 0x00, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
1322 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
1323 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xd5,
1324 0x82, 0xc4, 0x66, 0x2b, 0x53, 0x90, 0xa8, 0x59, 0x21, 0x06, 0xf6, 0x58,
1325 0x70, 0x59, 0x73, 0xf8, 0x82, 0xfe, 0x3f, 0x22, 0x32, 0x36, 0x7e, 0xb3,
1326 0xba, 0x4a, 0xd2, 0xa5, 0x6e, 0xe7, 0x64, 0x94, 0xf3, 0x68, 0xc0, 0xef,
1327 0x01, 0xf4, 0x21, 0xa2, 0x6e, 0xba, 0xd2, 0x72, 0x6c, 0x12, 0xf2, 0xfc,
1328 0x08, 0x00, 0x33, 0xd7, 0x10, 0xe8, 0x07, 0xdd, 0xbe, 0x41, 0x64, 0xde,
1329 0x53, 0x7a, 0x63, 0x89, 0x93, 0x36, 0x2d, 0xe9, 0x4d, 0x19, 0xf9, 0xb0,
1330 0xbb, 0x89, 0x83, 0x51, 0xf8, 0x54, 0x5f, 0x03, 0xb0, 0xb6, 0x3c, 0x78,
1331 0xee, 0x7b, 0x74, 0x79, 0xee, 0x5e, 0x03, 0xae, 0x03, 0x25, 0xcf,
1332 },
1333 .stripped_raw = &.{
1334 0x00, 0x01, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10, 0x0a, 0x6b, 0x11, 0x9e,
1335 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x00, 0xd5, 0x82, 0xc4, 0x66, 0x2b,
1336 0x53, 0x90, 0xa8, 0x59, 0x21, 0x06, 0xf6, 0x58, 0x70, 0x59, 0x73, 0xf8,
1337 0x82, 0xfe, 0x3f, 0x22, 0x32, 0x36, 0x7e, 0xb3, 0xba, 0x4a, 0xd2, 0xa5,
1338 0x6e, 0xe7, 0x64, 0x94, 0xf3, 0x68, 0xc0, 0xef, 0x01, 0xf4, 0x21, 0xa2,
1339 0x6e, 0xba, 0xd2, 0x72, 0x6c, 0x12, 0xf2, 0xfc, 0x08, 0x00, 0x33, 0xd7,
1340 0x10, 0xe8, 0x07, 0xdd, 0xbe, 0x41, 0x64, 0xde, 0x53, 0x7a, 0x63, 0x89,
1341 0x93, 0x36, 0x2d, 0xe9, 0x4d, 0x19, 0xf9, 0xb0, 0xbb, 0x89, 0x83, 0x51,
1342 0xf8, 0x54, 0x5f, 0x03, 0xb0, 0xb6, 0x3c, 0x78, 0xee, 0x7b, 0x74, 0x79,
1343 0xee, 0x5e, 0x03, 0xae, 0x03, 0x25, 0xcf,
1344 },
1345 .proof_raw = &.{
1346 0x03, 0x00, 0x87, 0xe4, 0xcf, 0x7c, 0x76, 0x8f, 0x65, 0x9c, 0xbb, 0x4d,
1347 0x46, 0xea, 0xb9, 0x1e, 0x92, 0x43, 0x00, 0x0a, 0xe0, 0xb8, 0xa0, 0xe6,
1348 0x7f, 0x3d, 0xa7, 0xd9, 0xc8, 0x90, 0x69, 0xd0, 0x0e, 0x40, 0x0d, 0xbe,
1349 0xcf, 0xad, 0xb1, 0xfc, 0x3d, 0xe6, 0xac, 0x3b, 0x82, 0xac, 0x36, 0x4a,
1350 0x33, 0x30, 0x2d, 0xdd, 0xdb, 0xec, 0xa2, 0xbf, 0x9a, 0x43, 0xdc, 0xda,
1351 0xf5, 0xa3, 0x16, 0x61, 0xe2, 0x7f, 0x4c, 0x35, 0x37, 0x7e, 0x2f, 0x06,
1352 0x53, 0x33, 0x38, 0x8a, 0xfe, 0x53, 0xec, 0xeb, 0x10, 0x5c, 0x06,
1353 },
1354 .relayed_proof_raw = &.{
1355 0x03, 0x01, 0x87, 0xe4, 0xcf, 0x7c, 0x76, 0x8f, 0x65, 0x9c, 0xbb, 0x4d,
1356 0x46, 0xea, 0xb9, 0x1e, 0x92, 0x43, 0x00, 0x0a, 0xe0, 0xb8, 0xa0, 0xe6,
1357 0x7f, 0x3d, 0xa7, 0xd9, 0xc8, 0x90, 0x69, 0xd0, 0x0e, 0x40, 0x0d, 0xbe,
1358 0xcf, 0xad, 0xb1, 0xfc, 0x3d, 0xe6, 0xac, 0x3b, 0x82, 0xac, 0x36, 0x4a,
1359 0x33, 0x30, 0x2d, 0xdd, 0xdb, 0xec, 0xa2, 0xbf, 0x9a, 0x43, 0xdc, 0xda,
1360 0xf5, 0xa3, 0x16, 0x61, 0xe2, 0x7f, 0x4c, 0x35, 0x37, 0x7e, 0x2f, 0x06,
1361 0x53, 0x33, 0x38, 0x8a, 0xfe, 0x53, 0xec, 0xeb, 0x10, 0x5c, 0x06,
1362 },
1363 .packet_hash = &.{
1364 0x87, 0xe4, 0xcf, 0x7c, 0x76, 0x8f, 0x65, 0x9c, 0xbb, 0x4d, 0x46, 0xea,
1365 0xb9, 0x1e, 0x92, 0x43, 0xda, 0xe7, 0x02, 0x1c, 0xbf, 0x2a, 0x84, 0x71,
1366 0x5b, 0x09, 0x8f, 0x07, 0xe7, 0x6a, 0xe8, 0xc1,
1367 },
1368 .request_clock = 1700000020,
1369 .request_tag = &.{
1370 0x51, 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8,
1371 0x0d, 0x32, 0x57, 0x7c,
1372 },
1373 .request_raw = &.{
1374 0x08, 0x00, 0x6b, 0x9f, 0x66, 0x01, 0x4d, 0x98, 0x53, 0xfa, 0xab, 0x22,
1375 0x0f, 0xba, 0x47, 0xd0, 0x27, 0x61, 0x00, 0xbc, 0xdf, 0x15, 0x62, 0x79,
1376 0x10, 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x51,
1377 0x76, 0x9b, 0xc0, 0xe5, 0x0a, 0x2f, 0x54, 0x79, 0x9e, 0xc3, 0xe8, 0x0d,
1378 0x32, 0x57, 0x7c,
1379 },
1380 .response_clock = 1700000021,
1381 .response_raw = &.{
1382 0x51, 0x01, 0x84, 0x10, 0x14, 0x30, 0x0d, 0x25, 0x9c, 0xb5, 0x20, 0x8b,
1383 0x68, 0x02, 0xdb, 0xb5, 0x84, 0xf1, 0xbc, 0xdf, 0x15, 0x62, 0x79, 0x10,
1384 0x0a, 0x6b, 0x11, 0x9e, 0x02, 0xd8, 0x49, 0xc0, 0xe3, 0x16, 0x0b, 0x3c,
1385 0x16, 0xa4, 0x7b, 0xc3, 0xcd, 0x38, 0x94, 0xbf, 0xe9, 0xa6, 0x7a, 0xb5,
1386 0xe7, 0x2c, 0xb9, 0x96, 0x4a, 0x9d, 0x6b, 0x71, 0x6c, 0x74, 0x3a, 0x4a,
1387 0x20, 0xb1, 0x2a, 0x7f, 0x9f, 0xe5, 0x12, 0x61, 0xb9, 0xf0, 0xd6, 0xdd,
1388 0x9e, 0xa1, 0x35, 0xf4, 0x71, 0xf8, 0x32, 0xae, 0x69, 0xe1, 0x67, 0xe7,
1389 0x8a, 0x20, 0x46, 0xa0, 0x23, 0x8a, 0x2a, 0x6a, 0x90, 0x98, 0x89, 0xc9,
1390 0x57, 0x9a, 0x04, 0xd6, 0x1e, 0x4a, 0x0a, 0x55, 0x70, 0xf8, 0x77, 0x1e,
1391 0x66, 0x02, 0x7f, 0x7a, 0x3f, 0x92, 0x00, 0x65, 0x53, 0xf1, 0x00, 0x0c,
1392 0xd8, 0xa7, 0xb0, 0xee, 0x50, 0x27, 0xdf, 0x23, 0x06, 0x18, 0x66, 0xfd,
1393 0xad, 0x0d, 0xc8, 0xd1, 0x9b, 0x9f, 0x60, 0xd1, 0xeb, 0x6d, 0x56, 0xd1,
1394 0x5d, 0x3f, 0xcc, 0x7b, 0xc8, 0x2a, 0xd4, 0xe2, 0x9c, 0x62, 0x9f, 0x5f,
1395 0xae, 0x98, 0x3d, 0x74, 0x57, 0x29, 0x3e, 0xe6, 0xcb, 0x07, 0x40, 0xc2,
1396 0x38, 0x3d, 0xb1, 0x2a, 0xcf, 0x1d, 0x7c, 0xc6, 0x33, 0xe5, 0x7d, 0xfa,
1397 0xcb, 0x06, 0x0f,
1398 },
1399 },
1400 };