@forgesworn/fold-kit 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,882 @@
1
+ {
2
+ "protocolVersion": "kithmoot/v1",
3
+ "generatedBy": "scripts/generate-schedule.mjs (forgesworn/fold-kit)",
4
+ "nostrToolsVersion": "2.25.0",
5
+ "groups": {
6
+ "schedule": [
7
+ {
8
+ "name": "scheduled-rekey",
9
+ "kind": "positive",
10
+ "note": "A kind-1462 rekey from epoch 1 to 2 that removes nobody, carries the member list and the epoch commitment, and is marked `\"scheduled\": true` inside its encrypted body (after `closed`'s place, before `commit`), so a relay cannot tell it from a removal. Readers report `scheduled` only when `removed` is empty and the room is not closed. Read with epoch 1's key (`readRekeyEvidence`), it checks out like any other rekey, so a member grant's chain runs through it unbroken. `randomHex`: the seal nonce for DEVICE, the body nonce, the aux-rand. `unflagged` is the same rekey with the same draws and no marker, which is every rekey before 0.8.0: its body is `bodyJson` without `\"scheduled\":true,`.",
11
+ "input": {
12
+ "roomId": "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52",
13
+ "authority": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
14
+ "authoritySkHex": "43a7682b0c78094f32677405567f9d51db81dcba3eeb4e0edda6f5854d1558e6",
15
+ "previous": {
16
+ "epoch": 1,
17
+ "secretHex": "21b54ffcc32ff771b1dd0e199463589de9492c3e842779bd52b1db65e1e47a56"
18
+ },
19
+ "next": {
20
+ "epoch": 2,
21
+ "secretHex": "cd4a87278b56425cd0ccd74a988849fb3a85ce4acc233ee9e9fee20826ad0da3"
22
+ },
23
+ "recipients": [
24
+ "d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86"
25
+ ],
26
+ "members": [
27
+ "392f87c7c2f01022cb601f9b2b96fe474ee8b365b606a2c91d2c5c71a50a122c"
28
+ ],
29
+ "deviceSkHex": "4433d9c3be8b51f50ac1824561dbaf67527254572c7fb411045c35b5ab948fa8",
30
+ "createdAt": 1800000000,
31
+ "event": {
32
+ "id": "4fbc3cb54bc2ef75d8e704047daed995bee3edaac9da08101f09936dcb9343b3",
33
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
34
+ "created_at": 1800000000,
35
+ "kind": 1462,
36
+ "tags": [
37
+ [
38
+ "d",
39
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
40
+ ],
41
+ [
42
+ "epoch",
43
+ "2"
44
+ ]
45
+ ],
46
+ "content": "AtXf+hPwbdOgIVkBUIzZp2gYAfVUZiehNk+ZbYcNcz036uOH2kXCEO85miNrat+0HJ3p2S4mYKBspwWOznnUHrlUFv0eR2cwJlHmefL5wAuovpOAoTKU58T5k4uCv12kjALxBJGYZPt+kmuHXXGu0DfQ7widbN9CekThh1a5PdmOw2Ufv9RO8XLZIZNn0XMdYqbcCpT4UXIU4mU4LJ72h+/t4Gcax/zdKl3Eg6Jirgyy+Gf8d9X8x3FVX4Bj/07IADjVyIHTtgLYQByRLs0kYiuzkkWeBdEu3GIUhD6GOSYYpwn7xgRaL5sPNu6ZoBtYqPoe8rQCjAyEkDbO+YtVe33LUVpPiATpvV42Kxo6vsGyAG2TLq0mbMhNpjCxp6rB8amn7AwSMGt7dEYYNPwWR6/uOZ13qTq5DhCOlddhjYn+NtvyF2hm9YDO4w41qAZLviadA3ydP5m/rHQlNaISzEkAwOA/tjdX9YOfmhdT1ITnwL8usrxNzeR6szCi6hADiER5H26nyX4B/oxj23b/JmfkJkdgw6IWs1v7kue7xAibYBVpXkT/S+UXbHV3XvV1DnVKsi0i8546bx4DoAh0JsKHGtxN5k+gJb6QvDYRGp2j9DbyiJXDjFWPvRcPcZCUynLyOlUxVfNxMAaFRdZQGUIMO3E9zuWcSiUO2SzVB4HMudeJZAiUZE5Kt8xFV6rmqZWQrrmHw/i2AQmf9Maw4zyNTdJeJ7TTrrXI167X8mxe5cKt+zQYt10r1EWFrKdKX/d8",
47
+ "sig": "131bb41f90fd0b5d345885d251dcefd00d7fb44d0e2e29136f5f38a82d05f970a8deac346962d0171ad2774390186013b4e67262fd8f3a216b3fec285fbaa603"
48
+ },
49
+ "randomHex": [
50
+ "429af353173c7a7c6cf2be367e934d2819b169583685ed4d0f7baf6e7ed108ee",
51
+ "d5dffa13f06dd3a0215901508cd9a7681801f5546627a1364f996d870d733d37",
52
+ "76f60af9d0f361a163b1f199c140a82b12c7b34184b00eef9d4bc253e878d645"
53
+ ],
54
+ "unflagged": {
55
+ "event": {
56
+ "id": "46f0ac37ac417ae4b9e6fcd2ece69842814a67bb9a1772fc794d361a01386d4e",
57
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
58
+ "created_at": 1800000000,
59
+ "kind": 1462,
60
+ "tags": [
61
+ [
62
+ "d",
63
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
64
+ ],
65
+ [
66
+ "epoch",
67
+ "2"
68
+ ]
69
+ ],
70
+ "content": "AtXf+hPwbdOgIVkBUIzZp2gYAfVUZiehNk+ZbYcNcz036pKH2kXCEO85miNrat+0HJ3p2S4mYKBspwWOznnUHrlUBvEbT2oxaA6gbPzp1hz1oobWqjrL6oi+zJuDvFyh3AKnBcDKMq1/yT7WWnat1zLUslmfbYhEehHhg1C7O9rdxGobvoNJpXXcItJ/wSlPOPXaQYbsCEsD4z05aIrjib3jsGRYhe7VQxyVjKA18AKz/Wb3J4Oow3RTWYdtrUyYDDjRmo6E4gTVRkzGKMAlZiznxUPPAoIu3Hl4zC6OaTxctFK11AFZL81YLdWD50Netexa+/0U21/UkDSTr4hWen3NA1gfjVHp5V0xJRo5vMKyVWnALPx0OMMS8za7p6rOoan3sl5WOCwPJ2tNaf8/LMeTe8Mtz1OoYj/TiuIK257VMf/bYWVuyv/RtA8TzmAH1ASgGkOpJ7a+vhR5U4dlkSN268AunxlrwYGA+hFk9Irt9Kgni5dB2tZtgRGl4xIGh2E4HkXs7QkQ6L1K7VHUKSz5VzQG6bU55mKhvefN8wi2DnlpfAv1NNIBbgVtcLQcG39WqE906aktUgMOtzwPCtyBEMMx/g30BrKMm2IkNsaDp1f9763awECei0VCQffcqAeQFS/kfpKYhegmFgmS82Vj0ZHmOZkAHR5oAPBmGg05Yq4=",
71
+ "sig": "f57e6beffc92333352c29e414f08c080140c4a8ca6ee207cc08a56d2ee28b96ba2a159e91ada4189353221886be049191409b4a45395055b063ed7f659f3ad04"
72
+ },
73
+ "randomHex": [
74
+ "429af353173c7a7c6cf2be367e934d2819b169583685ed4d0f7baf6e7ed108ee",
75
+ "d5dffa13f06dd3a0215901508cd9a7681801f5546627a1364f996d870d733d37",
76
+ "76f60af9d0f361a163b1f199c140a82b12c7b34184b00eef9d4bc253e878d645"
77
+ ]
78
+ }
79
+ },
80
+ "output": {
81
+ "bodyJson": "{\"v\":1,\"epoch\":2,\"removed\":[],\"scheduled\":true,\"commit\":\"74ddb8075de2d8ee267ea28f6d63dec04514bd6e74ea5d0c427771c9a6cb52a3\",\"members\":[\"392f87c7c2f01022cb601f9b2b96fe474ee8b365b606a2c91d2c5c71a50a122c\"],\"keys\":{\"d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86\":\"AkKa81MXPHp8bPK+Nn6TTSgZsWlYNoXtTQ97r25+0QjufzwwuF1eQWEhAFzJdOTKCwYQcfwKbuQssOCCyTExVjdrDG4PX8k4RoelNqAk9Y6G6r/Dak5Jl8FAFW56eyxPswiEPBy/TLK/T3cOGNjdRd9U1RFTSLq7lKRM0gHbub3I3kU=\"}}",
82
+ "unflaggedBodyJson": "{\"v\":1,\"epoch\":2,\"removed\":[],\"commit\":\"74ddb8075de2d8ee267ea28f6d63dec04514bd6e74ea5d0c427771c9a6cb52a3\",\"members\":[\"392f87c7c2f01022cb601f9b2b96fe474ee8b365b606a2c91d2c5c71a50a122c\"],\"keys\":{\"d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86\":\"AkKa81MXPHp8bPK+Nn6TTSgZsWlYNoXtTQ97r25+0QjufzwwuF1eQWEhAFzJdOTKCwYQcfwKbuQssOCCyTExVjdrDG4PX8k4RoelNqAk9Y6G6r/Dak5Jl8FAFW56eyxPswiEPBy/TLK/T3cOGNjdRd9U1RFTSLq7lKRM0gHbub3I3kU=\"}}",
83
+ "notice": {
84
+ "epoch": 2,
85
+ "removed": [],
86
+ "closed": false,
87
+ "scheduled": true,
88
+ "members": [
89
+ "392f87c7c2f01022cb601f9b2b96fe474ee8b365b606a2c91d2c5c71a50a122c"
90
+ ],
91
+ "secretHex": "cd4a87278b56425cd0ccd74a988849fb3a85ce4acc233ee9e9fee20826ad0da3",
92
+ "at": 1800000000
93
+ },
94
+ "evidence": {
95
+ "epoch": 2,
96
+ "removed": [],
97
+ "closed": false,
98
+ "scheduled": true,
99
+ "commit": "74ddb8075de2d8ee267ea28f6d63dec04514bd6e74ea5d0c427771c9a6cb52a3",
100
+ "members": [
101
+ "392f87c7c2f01022cb601f9b2b96fe474ee8b365b606a2c91d2c5c71a50a122c"
102
+ ]
103
+ },
104
+ "commit": "74ddb8075de2d8ee267ea28f6d63dec04514bd6e74ea5d0c427771c9a6cb52a3",
105
+ "unflaggedNotice": {
106
+ "epoch": 2,
107
+ "removed": [],
108
+ "closed": false,
109
+ "members": [
110
+ "392f87c7c2f01022cb601f9b2b96fe474ee8b365b606a2c91d2c5c71a50a122c"
111
+ ],
112
+ "secretHex": "cd4a87278b56425cd0ccd74a988849fb3a85ce4acc233ee9e9fee20826ad0da3",
113
+ "at": 1800000000
114
+ }
115
+ }
116
+ },
117
+ {
118
+ "name": "scheduled-rekey-contradictory",
119
+ "kind": "negative",
120
+ "note": "Two rekeys from epoch 1 to 2, signed by the authority, whose bodies carry the marker beside something that is never quiet: a removal (`withRemoval`) and a close (`withClose`). The encoder refuses both combinations, so these are built by hand (`bodyJson`, then `randomHex`: the body nonce, the aux-rand). A reader still reads each rekey, and reports it as not scheduled, so the removal or the close is announced.",
121
+ "input": {
122
+ "roomId": "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52",
123
+ "authority": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
124
+ "previous": {
125
+ "epoch": 1,
126
+ "secretHex": "21b54ffcc32ff771b1dd0e199463589de9492c3e842779bd52b1db65e1e47a56"
127
+ },
128
+ "deviceSkHex": "4433d9c3be8b51f50ac1824561dbaf67527254572c7fb411045c35b5ab948fa8",
129
+ "withRemoval": {
130
+ "event": {
131
+ "id": "4daaec9cb7e68479f7b37b07e07c57698bca048afe630a8ba24045793200e9b1",
132
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
133
+ "created_at": 1800000000,
134
+ "kind": 1462,
135
+ "tags": [
136
+ [
137
+ "d",
138
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
139
+ ],
140
+ [
141
+ "epoch",
142
+ "2"
143
+ ]
144
+ ],
145
+ "content": "AsVPUA68ywhhaxTNG1HMjLvaqS76Qmh0wlrVCUuPJl86LxmpyDQf/mNCj31bq6H7/f8R6ZclrteoYLWyj3m4FxnL3XWtk1uO3R5FcUIAKV3Gv/8/bRrrGwJ/zb4zkqHhitlV9M4B8qTlcsElfwt7D6amiu+oc/utyy2638gl9C8qsf/imDGZvalal7O91DzuK/nAahPPObJY0WqcqPVzJw5EsRd91yp7jq2T7cU1ZJ5lLY0F96+P84FgO9NnFSEPrwG9",
146
+ "sig": "e08d5515ae37e6d8b38430de2d0709160322ea49ff4e800120c7d0608960934944c88a716d31cd3b2ad074edb3d3611639a3b765d1be6870d4a3230e69dc21e2"
147
+ },
148
+ "randomHex": [
149
+ "c54f500ebccb08616b14cd1b51cc8cbbdaa92efa426874c25ad5094b8f265f3a",
150
+ "9930666fd63ce4ee5d294bc4f613dbc7cce25f17056d6ef950b32584bd16b07a"
151
+ ],
152
+ "bodyJson": "{\"v\":1,\"epoch\":2,\"removed\":[\"5cd88f820767df171b4d0eccfc6250df8fd4fa5c8938715860e00eca593f1223\"],\"scheduled\":true,\"keys\":{}}"
153
+ },
154
+ "withClose": {
155
+ "event": {
156
+ "id": "0f06b03603857cb3ae0f89d91571ed81e6ede31db5358385b01473f033971fc3",
157
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
158
+ "created_at": 1800000000,
159
+ "kind": 1462,
160
+ "tags": [
161
+ [
162
+ "d",
163
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
164
+ ],
165
+ [
166
+ "epoch",
167
+ "2"
168
+ ]
169
+ ],
170
+ "content": "AreTpJDfoYvCfO3Z9aPQZpcRPRixRyE5Eo+fwRVof76arlqDr22Oc/RALUgRJ/yg+/3yWv0ziNy3GmGfDP53Bw5iNFwLZ7JnnorQhT8v0P43X8r/8l1o9Suk9j1gaYXpHnNOSN5NfCMCq8fexOwsOYBYkWXJUNyGd4ZvH2E0CN3Xt68bCOgkm4shCKJ9ygPRM+NXpxfwmHzrDEtOU/Vq7pwjiA==",
171
+ "sig": "fefd999209141133471a0473855105997892743b6e223357853f2d6624f6b100dc5cf931f154dcb00c27dde10dae7501b965d5ce0d9b956ca9412bf4c7303777"
172
+ },
173
+ "randomHex": [
174
+ "b793a490dfa18bc27cedd9f5a3d06697113d18b1472139128f9fc115687fbe9a",
175
+ "fd5ecf803cdaf7c49563203cc820d03eba7175bdb7869ee89fde483b33f2a8de"
176
+ ],
177
+ "bodyJson": "{\"v\":1,\"epoch\":2,\"removed\":[],\"closed\":true,\"scheduled\":true,\"keys\":{}}"
178
+ }
179
+ },
180
+ "output": {
181
+ "encoder": {
182
+ "withRemoval": "refused",
183
+ "withClose": "refused"
184
+ },
185
+ "withRemoval": {
186
+ "notice": {
187
+ "epoch": 2,
188
+ "removed": [
189
+ "5cd88f820767df171b4d0eccfc6250df8fd4fa5c8938715860e00eca593f1223"
190
+ ],
191
+ "closed": false,
192
+ "at": 1800000000
193
+ },
194
+ "evidence": {
195
+ "epoch": 2,
196
+ "removed": [
197
+ "5cd88f820767df171b4d0eccfc6250df8fd4fa5c8938715860e00eca593f1223"
198
+ ],
199
+ "closed": false
200
+ }
201
+ },
202
+ "withClose": {
203
+ "notice": {
204
+ "epoch": 2,
205
+ "removed": [],
206
+ "closed": true,
207
+ "at": 1800000000
208
+ },
209
+ "evidence": {
210
+ "epoch": 2,
211
+ "removed": [],
212
+ "closed": true
213
+ }
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "name": "epoch-grant-window",
219
+ "kind": "positive",
220
+ "note": "A kind-20469 grant of epoch 18 that carries the window: `passed`, epochs 2 to 17 oldest first, each `{ epoch, secret (base64url), left (unix seconds) }`. 16 is the cap: the encoder refuses a 17th (`seventeen`). Epoch 0 is never carried (its secret is the room secret), nor anything at or above the granted epoch. A reader takes `passed` only in that exact form (strictly increasing, each in [1, epoch), at most 16, 32-byte secrets, a non-negative integer `left`); anything else drops the field and keeps the grant (`malformed`: seventeen entries, two out of order, one for epoch 0, each built by hand). `randomHex`: the body nonce, the aux-rand.",
221
+ "input": {
222
+ "roomId": "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52",
223
+ "authority": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
224
+ "authoritySkHex": "43a7682b0c78094f32677405567f9d51db81dcba3eeb4e0edda6f5854d1558e6",
225
+ "deviceSkHex": "4433d9c3be8b51f50ac1824561dbaf67527254572c7fb411045c35b5ab948fa8",
226
+ "request": "e052130d19fe3bddc509e47e2b3a8e4c3cae455dfa0fe1f8f6eab00031c34d8b",
227
+ "now": 1800000000,
228
+ "epoch": {
229
+ "epoch": 18,
230
+ "secretHex": "738169b453c8f2df30712cdd5062b77cae73a5593d9f659a3e37f9f7f7596d0d"
231
+ },
232
+ "passed": [
233
+ {
234
+ "epoch": 2,
235
+ "secretHex": "cd4a87278b56425cd0ccd74a988849fb3a85ce4acc233ee9e9fee20826ad0da3",
236
+ "leftAt": 1799942400
237
+ },
238
+ {
239
+ "epoch": 3,
240
+ "secretHex": "93c551bebb1b225482a714bf7ac4da026cdf54d37b7c40bf98a8901e33c663a3",
241
+ "leftAt": 1799946000
242
+ },
243
+ {
244
+ "epoch": 4,
245
+ "secretHex": "cacc687188f0b4cd158a398dfe9defb74ad6a74e8548bc1249160c9a88a2db84",
246
+ "leftAt": 1799949600
247
+ },
248
+ {
249
+ "epoch": 5,
250
+ "secretHex": "46302417f41d76ef215272835050110eb0ca0fb87d438789d124ef19d0a8031f",
251
+ "leftAt": 1799953200
252
+ },
253
+ {
254
+ "epoch": 6,
255
+ "secretHex": "6c3efbee482402e4fddeaa9073237209f9ab72f9434ed1cc9e22b92d90164ae6",
256
+ "leftAt": 1799956800
257
+ },
258
+ {
259
+ "epoch": 7,
260
+ "secretHex": "ef34fb8a676cb73367c6ef32cc95813be2991a5a6bf952192a4e84bbfd233d66",
261
+ "leftAt": 1799960400
262
+ },
263
+ {
264
+ "epoch": 8,
265
+ "secretHex": "b8b0dfd6c28f396b1cb2af1afeed8718156618ad2516cd908a71be0ea190865c",
266
+ "leftAt": 1799964000
267
+ },
268
+ {
269
+ "epoch": 9,
270
+ "secretHex": "ac9ebc22bdce83ac0a3a7e826690f16fbc1adf0d1f7a5e67e1f65e648bf791e9",
271
+ "leftAt": 1799967600
272
+ },
273
+ {
274
+ "epoch": 10,
275
+ "secretHex": "a29f0db21141217e14cd4d392c6563beccef49069a36cc539b333f21bcd4e103",
276
+ "leftAt": 1799971200
277
+ },
278
+ {
279
+ "epoch": 11,
280
+ "secretHex": "15b227326c260ae7a8ef570a92dbefe2aef71149449ab7bcc298b8caf2badfd6",
281
+ "leftAt": 1799974800
282
+ },
283
+ {
284
+ "epoch": 12,
285
+ "secretHex": "e39b739cd27127af6e392559ea940a3d0570acaf0c66af666eb7f84831ac88de",
286
+ "leftAt": 1799978400
287
+ },
288
+ {
289
+ "epoch": 13,
290
+ "secretHex": "207c8483577801c26f1e0d7afc5f5e446db2a75479a9c733f99b10021152c49a",
291
+ "leftAt": 1799982000
292
+ },
293
+ {
294
+ "epoch": 14,
295
+ "secretHex": "2d5c1712cbeeb79a747e64cfd0be0f4c4d95764de9c352933071a49602193a3f",
296
+ "leftAt": 1799985600
297
+ },
298
+ {
299
+ "epoch": 15,
300
+ "secretHex": "624d375a0041a84cd618c2d4aade95bbd4002bcca16bbba274e5ea36fdc12b6d",
301
+ "leftAt": 1799989200
302
+ },
303
+ {
304
+ "epoch": 16,
305
+ "secretHex": "7f2de538c8717915abc154c0ba0d1a0276aed112eae3309b58d621dadba44b57",
306
+ "leftAt": 1799992800
307
+ },
308
+ {
309
+ "epoch": 17,
310
+ "secretHex": "07518b94d276fc6a5ca10c19d5ec72c4566dcf4b008a00c0697c42727639c164",
311
+ "leftAt": 1799996400
312
+ }
313
+ ],
314
+ "event": {
315
+ "id": "498a7686533fa1ff2d75d559479dce05553ac2d5ef90541b03d76150e324ab76",
316
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
317
+ "created_at": 1800000000,
318
+ "kind": 20469,
319
+ "tags": [
320
+ [
321
+ "d",
322
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
323
+ ],
324
+ [
325
+ "p",
326
+ "d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86"
327
+ ]
328
+ ],
329
+ "content": "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",
330
+ "sig": "e2b1f04f1e787ca45aa7cbe8129e339c1d0bdedf2b37e22c5f393864568a5d631c59adb83295a756842b2452dc701ae8cbf61263be3e5f6f8f5c1dd9f5f958a2"
331
+ },
332
+ "randomHex": [
333
+ "f005e38223722bdaef5789674c7fcd5476da6fe127fcce393d4af4072f916f6b",
334
+ "01f003babdb1513148d0cf18b3cd0c1ab52b642e5e8d46900ed6f6f4b2489296"
335
+ ],
336
+ "malformed": {
337
+ "overCap": {
338
+ "event": {
339
+ "id": "9aa97626734d47be458f7ded28a58de497c8668d20a4b284fb5f0346bbcb429d",
340
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
341
+ "created_at": 1800000000,
342
+ "kind": 20469,
343
+ "tags": [
344
+ [
345
+ "d",
346
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
347
+ ],
348
+ [
349
+ "p",
350
+ "d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86"
351
+ ]
352
+ ],
353
+ "content": "Anqc03krYtRb3k/QDwZdw5qwxZJAoXmj0raRAQnM7boc/IdvH5QHQLbCTTOofqAfEww7M4GZnlh79F8M5s1G+/tultvj4/QWXN+4Sza8YKEs4cWM+go0K+h0ERGGdCoJsRjMT/elD+CpqRWhwDjmBd2sHhDK2hmwDs7htWUhNbCJcnvfb3QlMhLeevDypwr/J1w6P9a20xUfwUYH/Z3cLqNZor250mBKHuU4Xp8RWFe7tbubMQ4UVJl2jBgNKVG9qwqM0ACFmbDwYiE9n7SXlpRuT6kbjrWv0hthUFDSQHPT0VSF48mGReyjS3d2EjAvoOM0Au6QJ5eNez1bovyr1QWFkNAiLvksdUbaA9qVskNURFEfdBBjTEFLzVm9Q5XxcXUPX6xcNULlOkHL59gtBC1jleEf0GVOHMxEtG14heyreIPuRckXkR631Ek8jE+lz0sIS2Dou687QQaImgNDCmrNSzMG8ZUldJRotBt6yyNhwrUxfaAYiI2T1Fu3WSrmlXby0rnbzfbviSZvVVKiSISFH0s133gdW7rR8LtjN5+BnTbYii/q6gxZwuxS54hQZTLp+M/Mf4FgQxRdCKruBIA0FQNSNmyOTpdCvSrsxGowlzIAjmYrj9wacCI3pZrCyqEJLGYdIgFUzcV81zh092WKRXRBSU0PN8vrvxfI0YqzRKAv1OCspsLPH3oLB952zvmXTZokQeh07q3Vni5M1kSnwVl+2l+Q5cjIEMyFvcBxOrgzdBenOeUMNs/a9R2CDNks/O7DoS2wZcIazFdnTEotmXAA4vr7Mns+N8Hlh6I6Enb7yuR9a3328f7Jnmc2xjZO9iZ8TJpFCtlt9Phl1dgb2Os15dueNvo+CQxfETytBxqGH6PAqjDkCJxEaVW57Gl+P1j3mt6g00mbazKgS6uDw0RrFLPFvliyd+x24gNw0L/WJu1z6l9h9mJpmu7Ul9jBOdv9fJjrZsZQbNZMBpGdg+Sw7F4kSj8XRq/Z8G56sIDaHY0GhWGVUGI/oPez/ldnL0BGQXI2ozLO9LW/6bRbdHcR0W8Gi/mO/EObRivOwytc0uSThVkmpDfJA0jPQpqWDPUf1zXg9Ow+a/TKEfDUUKkDk/UvCNJX5sD8FTuQkypLcrXjchKqlnzylU/9cvIVLnRaNRylW0IyrWlb7WvPjbt+OpQR1CbruLoS5GamvAsr2N+gngR8gDS/zUKvWzRAxJjITBYH0z5oAz5txyQZT1/EXjYSPlikRzVDXJITlEFP26QtH4i7iemWvmUMu3olcDpy0xED16IeURIl7qAqYIC9+LfOWTrOYqiUo9GEp6OFnR62KP4wJPnCFfyiq+GUykwB2x1ASUlkMQb8WEr5YRKIPlmzAX2pzootnw8O6Dx8o7Pd/cWIQ4Rn1fPITbTcHMYvQYJY9z/HHSWs/lZFQBANE2nyoRKvozdiRrRCNHqxspwlzRbBWEg6iHA+RyidPNAKt4PjFpCbMfr9HVDnFYEU5wnm2X2jpebzFuXu66TVNftVnZIt6E/Xw3JTXJdIrt2UeLm7osKgyJ+M8qCcB5EvyrmuUr31a3cB6kKCv161mfYdNo2bKnVDJYTh96Lhwyp/0K9ypkMdROnQZJ7nn7BZlYEAHgkpuUxtYw2dCCKP30f20nKwbZtOteYM57LUd2v27BzlNjRbzLoFPVsHv7RVKyE8qZ2B9KlK1xCXCfm95ARBnSTIHSuM5XzjJTHh3ZSXo400bwjyOSITOcnrZIsnMulPjExA2Cw0+3QSWLLMsr7rgIbaM06seS9srhmRykAP0IH7Be07BUpjvsrvePQIuzkNXY2YFmsKXWCfc0tsFAOUaVtUx2+LtTz1z27apPZwFOS9T2pS9NYxC0KTgDQQyl3nN1NnJi0bIZjXQFbwpmYIO93aYaxl2bYEM1ehv4QduD398W3JXhlXVq68wvk3ENiMA7PB6dgmfxBlgW5FqlS5FGBPyBUxcszmsJWwcpDw/hbdpZkDSmJKArtQB4UylOEGsofr4QPeTyMfoYQJk8Ik7CSqMEiOgnWsa+PGFW68IaAMgXGYFs8/V+hRsgtX9/NURoKanDYl6HPnZS/hjExEWd8LjP78Z8G2PH7DvqLNp+vIgog27yFdJQcbTJ5WUTRGxkVZAstSHeJ9nrhbknlva9JbQgEKY1E34sRHiHYgp6wUvhD/XRYdn1XqadoAYogUFKltkS8URofPANZT9FrpjC9o5mh26SYBclIQRcUlbUVPfBZ/juBs+TghLLxMXORrqCijry0RqU3FNxFMDgBIYmmWWKvovjJ8R6HgUM9uM+B4AWvvDe01fAOy6fcw2Z2pQvPKbxBIU0kkM2jWg7DqrPqRaSY+NRsHZEUFF/jnc6JzbfPAhHj4eZNvdryIhYivgnkxLoI715tgpr/RU62QHutqujERGeonkCgakAr2XZTDO+EbXiSezaOgNzAlHW15hABd8I5/8aUxQik=",
354
+ "sig": "640238ac1194364052d38f4aa66e7fead55b0280029e19b809d83a35df438b2705ee61eed4d106f143816e7e35a7db919f37b1ae0fd2f3f48f10fab8e965a08b"
355
+ },
356
+ "randomHex": [
357
+ "7a9cd3792b62d45bde4fd00f065dc39ab0c59240a179a3d2b6910109ccedba1c",
358
+ "24a4a2f4f72f758327e8d079c9608899a313f02234d7cdcc20427f8f6d930f59"
359
+ ],
360
+ "bodyJson": "{\"v\":1,\"request\":\"e052130d19fe3bddc509e47e2b3a8e4c3cae455dfa0fe1f8f6eab00031c34d8b\",\"epoch\":18,\"secret\":\"c4FptFPI8t8wcSzdUGK3fK5zpVk9n2WaPjf59_dZbQ0\",\"removed\":[],\"passed\":[{\"epoch\":1,\"secret\":\"IbVP_MMv93Gx3Q4ZlGNYnelJLD6EJ3m9UrHbZeHkelY\",\"left\":1799938800},{\"epoch\":2,\"secret\":\"zUqHJ4tWQlzQzNdKmIhJ-zqFzkrMIz7p6f7iCCatDaM\",\"left\":1799942400},{\"epoch\":3,\"secret\":\"k8VRvrsbIlSCpxS_esTaAmzfVNN7fEC_mKiQHjPGY6M\",\"left\":1799946000},{\"epoch\":4,\"secret\":\"ysxocYjwtM0VijmN_p3vt0rWp06FSLwSSRYMmoii24Q\",\"left\":1799949600},{\"epoch\":5,\"secret\":\"RjAkF_Qddu8hUnKDUFARDrDKD7h9Q4eJ0STvGdCoAx8\",\"left\":1799953200},{\"epoch\":6,\"secret\":\"bD777kgkAuT93qqQcyNyCfmrcvlDTtHMniK5LZAWSuY\",\"left\":1799956800},{\"epoch\":7,\"secret\":\"7zT7imdstzNnxu8yzJWBO-KZGlpr-VIZKk6Eu_0jPWY\",\"left\":1799960400},{\"epoch\":8,\"secret\":\"uLDf1sKPOWscsq8a_u2HGBVmGK0lFs2QinG-DqGQhlw\",\"left\":1799964000},{\"epoch\":9,\"secret\":\"rJ68Ir3Og6wKOn6CZpDxb7wa3w0fel5n4fZeZIv3kek\",\"left\":1799967600},{\"epoch\":10,\"secret\":\"op8NshFBIX4UzU05LGVjvszvSQaaNsxTmzM_IbzU4QM\",\"left\":1799971200},{\"epoch\":11,\"secret\":\"FbInMmwmCueo71cKktvv4q73EUlEmre8wpi4yvK639Y\",\"left\":1799974800},{\"epoch\":12,\"secret\":\"45tznNJxJ69uOSVZ6pQKPQVwrK8MZq9mbrf4SDGsiN4\",\"left\":1799978400},{\"epoch\":13,\"secret\":\"IHyEg1d4AcJvHg16_F9eRG2yp1R5qccz-ZsQAhFSxJo\",\"left\":1799982000},{\"epoch\":14,\"secret\":\"LVwXEsvut5p0fmTP0L4PTE2Vdk3pw1KTMHGklgIZOj8\",\"left\":1799985600},{\"epoch\":15,\"secret\":\"Yk03WgBBqEzWGMLUqt6Vu9QAK8yha7uidOXqNv3BK20\",\"left\":1799989200},{\"epoch\":16,\"secret\":\"fy3lOMhxeRWrwVTAug0aAnau0RLq4zCbWNYh2tukS1c\",\"left\":1799992800},{\"epoch\":17,\"secret\":\"B1GLlNJ2_GpcoQwZ1exyxFZtz0sAigDAaXxCcnY5wWQ\",\"left\":1799996400}]}"
361
+ },
362
+ "unsorted": {
363
+ "event": {
364
+ "id": "af018a60d66249d105ae498c5094d8a39062fda870c2bc0d013c49f7d1228cc2",
365
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
366
+ "created_at": 1800000000,
367
+ "kind": 20469,
368
+ "tags": [
369
+ [
370
+ "d",
371
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
372
+ ],
373
+ [
374
+ "p",
375
+ "d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86"
376
+ ]
377
+ ],
378
+ "content": "AhkkJY3g6O6ISe0tmQTGQBaZKSxVrwCbEqWfdVGYPvFXdURJpq6JyyOHr/150qH6AIdSHmTR36SZjpuV0fxjmd7huY3qgl0aKnVUkwAnBI23gaKcKmcQJT6boK4aDKMWp6A2AvgQXG0zoveeLpPeQC+AQiIKqb74PnUVNdXSu6/aZMKDRX7wrhO2ly0IXA4rQ4YHWxlM4x5oNbXKGYCTrgi3EbLwf8J0XAEfRsIqooJGiRQqhPJt1kzFRvH+teDRvgwPLnO4YHKUsIfAJdsQLf0FtVyFrmf6mXHugoPpOY8kclkzVSwvGGhX9QHh9uO1xDTknWfDeioF4FJCCU23FwlAZhdiyLgqTbEYVpq3MZQ/L0dTdjVVgZeVpw5ZhY5AC2vifqDYWbdHN7oXQcfljXcdfEjtNxNYmtUw4AyHumYCNHlBeytkuqADJdE1/hPSBOlmSfcSeVPe1+FE/Ik1XZTFZUCUmsCYQjciHUBQjgame48WnKQaFjsASN3bvq/TScnOT0vS3C1WQ4KOnWsKY1OzjtDaKJWI/KkTxVnqc6cxMWB3KaEweBiyeSc7qN4vi6YBPfpwc88xP2gmfRem1BOtWQ==",
379
+ "sig": "ae60324c143c2509b75b79e8fc432b62ced7e514140b99eb13bfa5ae73bc4f4e053aefb1530a5031e8fbaa6212fa114f6c56aa37a76ef69fd0800ecada111967"
380
+ },
381
+ "randomHex": [
382
+ "1924258de0e8ee8849ed2d9904c6401699292c55af009b12a59f7551983ef157",
383
+ "1591fcb2b31c6a352c25d30c44acea0e13748a56c49867a0661f71bb4f093c97"
384
+ ],
385
+ "bodyJson": "{\"v\":1,\"request\":\"e052130d19fe3bddc509e47e2b3a8e4c3cae455dfa0fe1f8f6eab00031c34d8b\",\"epoch\":18,\"secret\":\"c4FptFPI8t8wcSzdUGK3fK5zpVk9n2WaPjf59_dZbQ0\",\"removed\":[],\"passed\":[{\"epoch\":3,\"secret\":\"k8VRvrsbIlSCpxS_esTaAmzfVNN7fEC_mKiQHjPGY6M\",\"left\":1799946000},{\"epoch\":2,\"secret\":\"zUqHJ4tWQlzQzNdKmIhJ-zqFzkrMIz7p6f7iCCatDaM\",\"left\":1799942400}]}"
386
+ },
387
+ "epochZero": {
388
+ "event": {
389
+ "id": "254d8ee9f5ddf5b49ab6b1780e37e6f0d9ed368a373bd9996ac814a578b4664f",
390
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
391
+ "created_at": 1800000000,
392
+ "kind": 20469,
393
+ "tags": [
394
+ [
395
+ "d",
396
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
397
+ ],
398
+ [
399
+ "p",
400
+ "d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86"
401
+ ]
402
+ ],
403
+ "content": "Ak6wrCwhlsQjCYwhjNsImpI/x102x7IFMrsSf6d5duJVC/Cpb33VXwb/l7IqIXRvA/eFzd6e164RvpAyaZ60Fk0zpOpupY/tQbMZ5225u0pScV8NImH8BfCTYV0uVKkDhcfADjsZEqFwXyrh9aHZ7sRV8q2otIm0eW5j9TPoO45Ozt40cW51cg0SW7k8SWKEU5T5CjEqJN2OFBAkdtkjr3j7/NqigQROhPbg89Etwi1+IN3bVllGaB+brgf7CNudVgfrAcP3irAIzrto4mC2tolv1e+togsf1K+lqQ/lgQrqO0zTTtc249T/JOyLG25t1cxrzrXcO5V29QPoYK0lnxIKcHKCxw9lr+lSsb2y/r+ApUpqxTtdmTugjVlnaXRKvycdgEVgKfbLCeVe3Z9GjMZEgY/e10SLKZgbP4PZJE0zcTzE2UIE4mzgwlzQYhKccUL1vOuwHov0hwQOGqbk12rD4gqsLYYXA34DDVu2UiOfet/sFUqzEAX+zQK+su+RdvNflRWo0s/iDOpAaV2g0aH7dJ9GEpJh5kp6QRWNnR6LbOiIKrwe5sY2978QglYJS7Yfxa2gYr8cogx3emDPkNfpNQ==",
404
+ "sig": "b144cfda349d77521f5956ac043b420009575aa20d7a06b7d79b2548fefe0ac312b59cd15877ce69fa013c74f7700922dc1b3ba7ab1b523b9a858c966b506e7e"
405
+ },
406
+ "randomHex": [
407
+ "4eb0ac2c2196c423098c218cdb089a923fc75d36c7b20532bb127fa77976e255",
408
+ "066041631090c45a408c06c39cd3e1ba85a924f834f60ecc07a81f73bfe03998"
409
+ ],
410
+ "bodyJson": "{\"v\":1,\"request\":\"e052130d19fe3bddc509e47e2b3a8e4c3cae455dfa0fe1f8f6eab00031c34d8b\",\"epoch\":18,\"secret\":\"c4FptFPI8t8wcSzdUGK3fK5zpVk9n2WaPjf59_dZbQ0\",\"removed\":[],\"passed\":[{\"epoch\":0,\"secret\":\"q6GdJW0uElr8dkH1eX1s6lyx5_3vEEXho6rmYf8uswI\",\"left\":1799928000},{\"epoch\":2,\"secret\":\"zUqHJ4tWQlzQzNdKmIhJ-zqFzkrMIz7p6f7iCCatDaM\",\"left\":1799942400}]}"
411
+ }
412
+ }
413
+ },
414
+ "output": {
415
+ "bodyJson": "{\"v\":1,\"request\":\"e052130d19fe3bddc509e47e2b3a8e4c3cae455dfa0fe1f8f6eab00031c34d8b\",\"epoch\":18,\"secret\":\"c4FptFPI8t8wcSzdUGK3fK5zpVk9n2WaPjf59_dZbQ0\",\"removed\":[],\"passed\":[{\"epoch\":2,\"secret\":\"zUqHJ4tWQlzQzNdKmIhJ-zqFzkrMIz7p6f7iCCatDaM\",\"left\":1799942400},{\"epoch\":3,\"secret\":\"k8VRvrsbIlSCpxS_esTaAmzfVNN7fEC_mKiQHjPGY6M\",\"left\":1799946000},{\"epoch\":4,\"secret\":\"ysxocYjwtM0VijmN_p3vt0rWp06FSLwSSRYMmoii24Q\",\"left\":1799949600},{\"epoch\":5,\"secret\":\"RjAkF_Qddu8hUnKDUFARDrDKD7h9Q4eJ0STvGdCoAx8\",\"left\":1799953200},{\"epoch\":6,\"secret\":\"bD777kgkAuT93qqQcyNyCfmrcvlDTtHMniK5LZAWSuY\",\"left\":1799956800},{\"epoch\":7,\"secret\":\"7zT7imdstzNnxu8yzJWBO-KZGlpr-VIZKk6Eu_0jPWY\",\"left\":1799960400},{\"epoch\":8,\"secret\":\"uLDf1sKPOWscsq8a_u2HGBVmGK0lFs2QinG-DqGQhlw\",\"left\":1799964000},{\"epoch\":9,\"secret\":\"rJ68Ir3Og6wKOn6CZpDxb7wa3w0fel5n4fZeZIv3kek\",\"left\":1799967600},{\"epoch\":10,\"secret\":\"op8NshFBIX4UzU05LGVjvszvSQaaNsxTmzM_IbzU4QM\",\"left\":1799971200},{\"epoch\":11,\"secret\":\"FbInMmwmCueo71cKktvv4q73EUlEmre8wpi4yvK639Y\",\"left\":1799974800},{\"epoch\":12,\"secret\":\"45tznNJxJ69uOSVZ6pQKPQVwrK8MZq9mbrf4SDGsiN4\",\"left\":1799978400},{\"epoch\":13,\"secret\":\"IHyEg1d4AcJvHg16_F9eRG2yp1R5qccz-ZsQAhFSxJo\",\"left\":1799982000},{\"epoch\":14,\"secret\":\"LVwXEsvut5p0fmTP0L4PTE2Vdk3pw1KTMHGklgIZOj8\",\"left\":1799985600},{\"epoch\":15,\"secret\":\"Yk03WgBBqEzWGMLUqt6Vu9QAK8yha7uidOXqNv3BK20\",\"left\":1799989200},{\"epoch\":16,\"secret\":\"fy3lOMhxeRWrwVTAug0aAnau0RLq4zCbWNYh2tukS1c\",\"left\":1799992800},{\"epoch\":17,\"secret\":\"B1GLlNJ2_GpcoQwZ1exyxFZtz0sAigDAaXxCcnY5wWQ\",\"left\":1799996400}]}",
416
+ "grant": {
417
+ "epoch": 18,
418
+ "secretHex": "738169b453c8f2df30712cdd5062b77cae73a5593d9f659a3e37f9f7f7596d0d",
419
+ "removed": [],
420
+ "passed": [
421
+ {
422
+ "epoch": 2,
423
+ "secretHex": "cd4a87278b56425cd0ccd74a988849fb3a85ce4acc233ee9e9fee20826ad0da3",
424
+ "leftAt": 1799942400
425
+ },
426
+ {
427
+ "epoch": 3,
428
+ "secretHex": "93c551bebb1b225482a714bf7ac4da026cdf54d37b7c40bf98a8901e33c663a3",
429
+ "leftAt": 1799946000
430
+ },
431
+ {
432
+ "epoch": 4,
433
+ "secretHex": "cacc687188f0b4cd158a398dfe9defb74ad6a74e8548bc1249160c9a88a2db84",
434
+ "leftAt": 1799949600
435
+ },
436
+ {
437
+ "epoch": 5,
438
+ "secretHex": "46302417f41d76ef215272835050110eb0ca0fb87d438789d124ef19d0a8031f",
439
+ "leftAt": 1799953200
440
+ },
441
+ {
442
+ "epoch": 6,
443
+ "secretHex": "6c3efbee482402e4fddeaa9073237209f9ab72f9434ed1cc9e22b92d90164ae6",
444
+ "leftAt": 1799956800
445
+ },
446
+ {
447
+ "epoch": 7,
448
+ "secretHex": "ef34fb8a676cb73367c6ef32cc95813be2991a5a6bf952192a4e84bbfd233d66",
449
+ "leftAt": 1799960400
450
+ },
451
+ {
452
+ "epoch": 8,
453
+ "secretHex": "b8b0dfd6c28f396b1cb2af1afeed8718156618ad2516cd908a71be0ea190865c",
454
+ "leftAt": 1799964000
455
+ },
456
+ {
457
+ "epoch": 9,
458
+ "secretHex": "ac9ebc22bdce83ac0a3a7e826690f16fbc1adf0d1f7a5e67e1f65e648bf791e9",
459
+ "leftAt": 1799967600
460
+ },
461
+ {
462
+ "epoch": 10,
463
+ "secretHex": "a29f0db21141217e14cd4d392c6563beccef49069a36cc539b333f21bcd4e103",
464
+ "leftAt": 1799971200
465
+ },
466
+ {
467
+ "epoch": 11,
468
+ "secretHex": "15b227326c260ae7a8ef570a92dbefe2aef71149449ab7bcc298b8caf2badfd6",
469
+ "leftAt": 1799974800
470
+ },
471
+ {
472
+ "epoch": 12,
473
+ "secretHex": "e39b739cd27127af6e392559ea940a3d0570acaf0c66af666eb7f84831ac88de",
474
+ "leftAt": 1799978400
475
+ },
476
+ {
477
+ "epoch": 13,
478
+ "secretHex": "207c8483577801c26f1e0d7afc5f5e446db2a75479a9c733f99b10021152c49a",
479
+ "leftAt": 1799982000
480
+ },
481
+ {
482
+ "epoch": 14,
483
+ "secretHex": "2d5c1712cbeeb79a747e64cfd0be0f4c4d95764de9c352933071a49602193a3f",
484
+ "leftAt": 1799985600
485
+ },
486
+ {
487
+ "epoch": 15,
488
+ "secretHex": "624d375a0041a84cd618c2d4aade95bbd4002bcca16bbba274e5ea36fdc12b6d",
489
+ "leftAt": 1799989200
490
+ },
491
+ {
492
+ "epoch": 16,
493
+ "secretHex": "7f2de538c8717915abc154c0ba0d1a0276aed112eae3309b58d621dadba44b57",
494
+ "leftAt": 1799992800
495
+ },
496
+ {
497
+ "epoch": 17,
498
+ "secretHex": "07518b94d276fc6a5ca10c19d5ec72c4566dcf4b008a00c0697c42727639c164",
499
+ "leftAt": 1799996400
500
+ }
501
+ ]
502
+ },
503
+ "seventeen": "refused",
504
+ "malformed": {
505
+ "overCap": {
506
+ "epoch": 18,
507
+ "secretHex": "738169b453c8f2df30712cdd5062b77cae73a5593d9f659a3e37f9f7f7596d0d",
508
+ "removed": []
509
+ },
510
+ "unsorted": {
511
+ "epoch": 18,
512
+ "secretHex": "738169b453c8f2df30712cdd5062b77cae73a5593d9f659a3e37f9f7f7596d0d",
513
+ "removed": []
514
+ },
515
+ "epochZero": {
516
+ "epoch": 18,
517
+ "secretHex": "738169b453c8f2df30712cdd5062b77cae73a5593d9f659a3e37f9f7f7596d0d",
518
+ "removed": []
519
+ }
520
+ }
521
+ }
522
+ },
523
+ {
524
+ "name": "epoch-grant-window-old-reader",
525
+ "kind": "positive",
526
+ "note": "The `epoch-grant-window` grant read as 0.7.0 (and KithMoot Android 0.6.57) reads it: its body is read by named fields, so `passed` is ignored and the reader gets the current epoch, as from any grant before 0.8.0. A device on an old release is no worse off; it reads the window only once it updates.",
527
+ "input": {
528
+ "roomId": "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52",
529
+ "authority": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
530
+ "deviceSkHex": "4433d9c3be8b51f50ac1824561dbaf67527254572c7fb411045c35b5ab948fa8",
531
+ "request": "e052130d19fe3bddc509e47e2b3a8e4c3cae455dfa0fe1f8f6eab00031c34d8b",
532
+ "now": 1800000000,
533
+ "event": {
534
+ "id": "498a7686533fa1ff2d75d559479dce05553ac2d5ef90541b03d76150e324ab76",
535
+ "pubkey": "92d212eebd43ba6ea84c3402386e854843201b45e71487c0511d1557db546b3d",
536
+ "created_at": 1800000000,
537
+ "kind": 20469,
538
+ "tags": [
539
+ [
540
+ "d",
541
+ "199b24d3401cb3ac651e8bded11742ab4286f647fd37f126a84383e6aa84cb52"
542
+ ],
543
+ [
544
+ "p",
545
+ "d22d49f6e3cdef3243abd6d05f2cb7dc7a39ac8d37e26fdf2e58f4e2d3852f86"
546
+ ]
547
+ ],
548
+ "content": "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",
549
+ "sig": "e2b1f04f1e787ca45aa7cbe8129e339c1d0bdedf2b37e22c5f393864568a5d631c59adb83295a756842b2452dc701ae8cbf61263be3e5f6f8f5c1dd9f5f958a2"
550
+ }
551
+ },
552
+ "output": {
553
+ "oldReader": {
554
+ "epoch": 18,
555
+ "secretHex": "738169b453c8f2df30712cdd5062b77cae73a5593d9f659a3e37f9f7f7596d0d",
556
+ "removed": []
557
+ }
558
+ }
559
+ },
560
+ {
561
+ "name": "history-window",
562
+ "kind": "positive",
563
+ "note": "`epochsInWindow(left, now)`: the left epochs still read, those left within HISTORY_WINDOW_SECONDS (2592000, 30 days; one left exactly that long ago is kept), newest first by epoch, the first given of a doubled epoch, at most MAX_HISTORY_EPOCHS (16). Each case lists `{ epoch, leftAt }` in and out.",
564
+ "input": {
565
+ "windowSeconds": 2592000,
566
+ "maxEpochs": 16,
567
+ "cases": [
568
+ {
569
+ "name": "edge",
570
+ "now": 1800000000,
571
+ "left": [
572
+ {
573
+ "epoch": 1,
574
+ "leftAt": 1797407999
575
+ },
576
+ {
577
+ "epoch": 2,
578
+ "leftAt": 1797408000
579
+ },
580
+ {
581
+ "epoch": 3,
582
+ "leftAt": 1799913600
583
+ }
584
+ ]
585
+ },
586
+ {
587
+ "name": "cap",
588
+ "now": 1800000000,
589
+ "left": [
590
+ {
591
+ "epoch": 1,
592
+ "leftAt": 1799928000
593
+ },
594
+ {
595
+ "epoch": 2,
596
+ "leftAt": 1799931600
597
+ },
598
+ {
599
+ "epoch": 3,
600
+ "leftAt": 1799935200
601
+ },
602
+ {
603
+ "epoch": 4,
604
+ "leftAt": 1799938800
605
+ },
606
+ {
607
+ "epoch": 5,
608
+ "leftAt": 1799942400
609
+ },
610
+ {
611
+ "epoch": 6,
612
+ "leftAt": 1799946000
613
+ },
614
+ {
615
+ "epoch": 7,
616
+ "leftAt": 1799949600
617
+ },
618
+ {
619
+ "epoch": 8,
620
+ "leftAt": 1799953200
621
+ },
622
+ {
623
+ "epoch": 9,
624
+ "leftAt": 1799956800
625
+ },
626
+ {
627
+ "epoch": 10,
628
+ "leftAt": 1799960400
629
+ },
630
+ {
631
+ "epoch": 11,
632
+ "leftAt": 1799964000
633
+ },
634
+ {
635
+ "epoch": 12,
636
+ "leftAt": 1799967600
637
+ },
638
+ {
639
+ "epoch": 13,
640
+ "leftAt": 1799971200
641
+ },
642
+ {
643
+ "epoch": 14,
644
+ "leftAt": 1799974800
645
+ },
646
+ {
647
+ "epoch": 15,
648
+ "leftAt": 1799978400
649
+ },
650
+ {
651
+ "epoch": 16,
652
+ "leftAt": 1799982000
653
+ },
654
+ {
655
+ "epoch": 17,
656
+ "leftAt": 1799985600
657
+ },
658
+ {
659
+ "epoch": 18,
660
+ "leftAt": 1799989200
661
+ },
662
+ {
663
+ "epoch": 19,
664
+ "leftAt": 1799992800
665
+ },
666
+ {
667
+ "epoch": 20,
668
+ "leftAt": 1799996400
669
+ }
670
+ ]
671
+ },
672
+ {
673
+ "name": "weekly",
674
+ "now": 1800000000,
675
+ "left": [
676
+ {
677
+ "epoch": 1,
678
+ "leftAt": 1793952000
679
+ },
680
+ {
681
+ "epoch": 2,
682
+ "leftAt": 1794556800
683
+ },
684
+ {
685
+ "epoch": 3,
686
+ "leftAt": 1795161600
687
+ },
688
+ {
689
+ "epoch": 4,
690
+ "leftAt": 1795766400
691
+ },
692
+ {
693
+ "epoch": 5,
694
+ "leftAt": 1796371200
695
+ },
696
+ {
697
+ "epoch": 6,
698
+ "leftAt": 1796976000
699
+ },
700
+ {
701
+ "epoch": 7,
702
+ "leftAt": 1797580800
703
+ },
704
+ {
705
+ "epoch": 8,
706
+ "leftAt": 1798185600
707
+ },
708
+ {
709
+ "epoch": 9,
710
+ "leftAt": 1798790400
711
+ },
712
+ {
713
+ "epoch": 10,
714
+ "leftAt": 1799395200
715
+ }
716
+ ]
717
+ },
718
+ {
719
+ "name": "unsorted-and-doubled",
720
+ "now": 1800000000,
721
+ "left": [
722
+ {
723
+ "epoch": 2,
724
+ "leftAt": 1799999900
725
+ },
726
+ {
727
+ "epoch": 5,
728
+ "leftAt": 1799999950
729
+ },
730
+ {
731
+ "epoch": 3,
732
+ "leftAt": 1797321600
733
+ },
734
+ {
735
+ "epoch": 5,
736
+ "leftAt": 1799999990
737
+ },
738
+ {
739
+ "epoch": 4,
740
+ "leftAt": 1799999940
741
+ }
742
+ ]
743
+ },
744
+ {
745
+ "name": "empty",
746
+ "now": 1800000000,
747
+ "left": []
748
+ }
749
+ ]
750
+ },
751
+ "output": {
752
+ "cases": [
753
+ {
754
+ "name": "edge",
755
+ "kept": [
756
+ {
757
+ "epoch": 3,
758
+ "leftAt": 1799913600
759
+ },
760
+ {
761
+ "epoch": 2,
762
+ "leftAt": 1797408000
763
+ }
764
+ ]
765
+ },
766
+ {
767
+ "name": "cap",
768
+ "kept": [
769
+ {
770
+ "epoch": 20,
771
+ "leftAt": 1799996400
772
+ },
773
+ {
774
+ "epoch": 19,
775
+ "leftAt": 1799992800
776
+ },
777
+ {
778
+ "epoch": 18,
779
+ "leftAt": 1799989200
780
+ },
781
+ {
782
+ "epoch": 17,
783
+ "leftAt": 1799985600
784
+ },
785
+ {
786
+ "epoch": 16,
787
+ "leftAt": 1799982000
788
+ },
789
+ {
790
+ "epoch": 15,
791
+ "leftAt": 1799978400
792
+ },
793
+ {
794
+ "epoch": 14,
795
+ "leftAt": 1799974800
796
+ },
797
+ {
798
+ "epoch": 13,
799
+ "leftAt": 1799971200
800
+ },
801
+ {
802
+ "epoch": 12,
803
+ "leftAt": 1799967600
804
+ },
805
+ {
806
+ "epoch": 11,
807
+ "leftAt": 1799964000
808
+ },
809
+ {
810
+ "epoch": 10,
811
+ "leftAt": 1799960400
812
+ },
813
+ {
814
+ "epoch": 9,
815
+ "leftAt": 1799956800
816
+ },
817
+ {
818
+ "epoch": 8,
819
+ "leftAt": 1799953200
820
+ },
821
+ {
822
+ "epoch": 7,
823
+ "leftAt": 1799949600
824
+ },
825
+ {
826
+ "epoch": 6,
827
+ "leftAt": 1799946000
828
+ },
829
+ {
830
+ "epoch": 5,
831
+ "leftAt": 1799942400
832
+ }
833
+ ]
834
+ },
835
+ {
836
+ "name": "weekly",
837
+ "kept": [
838
+ {
839
+ "epoch": 10,
840
+ "leftAt": 1799395200
841
+ },
842
+ {
843
+ "epoch": 9,
844
+ "leftAt": 1798790400
845
+ },
846
+ {
847
+ "epoch": 8,
848
+ "leftAt": 1798185600
849
+ },
850
+ {
851
+ "epoch": 7,
852
+ "leftAt": 1797580800
853
+ }
854
+ ]
855
+ },
856
+ {
857
+ "name": "unsorted-and-doubled",
858
+ "kept": [
859
+ {
860
+ "epoch": 5,
861
+ "leftAt": 1799999950
862
+ },
863
+ {
864
+ "epoch": 4,
865
+ "leftAt": 1799999940
866
+ },
867
+ {
868
+ "epoch": 2,
869
+ "leftAt": 1799999900
870
+ }
871
+ ]
872
+ },
873
+ {
874
+ "name": "empty",
875
+ "kept": []
876
+ }
877
+ ]
878
+ }
879
+ }
880
+ ]
881
+ }
882
+ }