402mob-merchant-sdk 0.4.2 → 0.5.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,2558 @@
1
+ // Generated by scripts/update-protected-sdk.mjs from public/openapi.json.
2
+ export const protectedSchemaHash = '5c69849fb52f35cf29367043b58156d274955a79ef7ee52f0c78d6b4561e1b40';
3
+ export const protectedSchemas = {
4
+ "ProtectedWorkPrepareRequest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "task": {
8
+ "type": "object",
9
+ "properties": {
10
+ "input": {},
11
+ "rules": {
12
+ "type": "object",
13
+ "properties": {
14
+ "version": {
15
+ "type": "string",
16
+ "const": "json-conversion-v1"
17
+ },
18
+ "fields": {
19
+ "minItems": 1,
20
+ "maxItems": 32,
21
+ "type": "array",
22
+ "items": {
23
+ "type": "object",
24
+ "properties": {
25
+ "output": {
26
+ "type": "string",
27
+ "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
28
+ },
29
+ "source": {
30
+ "type": "string",
31
+ "maxLength": 512,
32
+ "pattern": "^(?:\\/(?:[^~]|~[01])*)?$"
33
+ },
34
+ "type": {
35
+ "type": "string",
36
+ "enum": [
37
+ "string",
38
+ "number",
39
+ "boolean"
40
+ ]
41
+ },
42
+ "convert": {
43
+ "type": "boolean"
44
+ }
45
+ },
46
+ "required": [
47
+ "output",
48
+ "source",
49
+ "type",
50
+ "convert"
51
+ ],
52
+ "additionalProperties": false
53
+ }
54
+ }
55
+ },
56
+ "required": [
57
+ "version",
58
+ "fields"
59
+ ],
60
+ "additionalProperties": false
61
+ }
62
+ },
63
+ "required": [
64
+ "input",
65
+ "rules"
66
+ ],
67
+ "additionalProperties": false
68
+ },
69
+ "terms": {
70
+ "type": "object",
71
+ "properties": {
72
+ "buyer": {
73
+ "type": "string",
74
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
75
+ },
76
+ "seller": {
77
+ "type": "string",
78
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
79
+ },
80
+ "amount": {
81
+ "type": "string",
82
+ "pattern": "^(?:[1-9][0-9]{0,7}|100000000)$"
83
+ },
84
+ "deliveryDeadline": {
85
+ "type": "integer",
86
+ "exclusiveMinimum": 0,
87
+ "maximum": 9007199254740991
88
+ },
89
+ "evaluationPeriod": {
90
+ "type": "integer",
91
+ "minimum": 300,
92
+ "maximum": 86400
93
+ },
94
+ "correctionPeriod": {
95
+ "type": "integer",
96
+ "minimum": 300,
97
+ "maximum": 86400
98
+ },
99
+ "resolutionDeadline": {
100
+ "type": "integer",
101
+ "exclusiveMinimum": 0,
102
+ "maximum": 9007199254740991
103
+ },
104
+ "reviewPeriod": {
105
+ "type": "integer",
106
+ "minimum": 300,
107
+ "maximum": 86400
108
+ },
109
+ "appealPeriod": {
110
+ "type": "integer",
111
+ "minimum": 300,
112
+ "maximum": 86400
113
+ },
114
+ "appealVerifier": {
115
+ "type": "string",
116
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
117
+ },
118
+ "fallbackVerifier": {
119
+ "type": "string",
120
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
121
+ },
122
+ "appealOriginHash": {
123
+ "type": "string",
124
+ "pattern": "^0x[0-9a-f]{64}$"
125
+ },
126
+ "fallbackOriginHash": {
127
+ "type": "string",
128
+ "pattern": "^0x[0-9a-f]{64}$"
129
+ },
130
+ "nonce": {
131
+ "type": "string",
132
+ "pattern": "^0x[0-9a-f]{64}$"
133
+ }
134
+ },
135
+ "required": [
136
+ "buyer",
137
+ "seller",
138
+ "amount",
139
+ "deliveryDeadline",
140
+ "evaluationPeriod",
141
+ "correctionPeriod",
142
+ "resolutionDeadline",
143
+ "reviewPeriod",
144
+ "appealPeriod",
145
+ "appealVerifier",
146
+ "fallbackVerifier",
147
+ "appealOriginHash",
148
+ "fallbackOriginHash",
149
+ "nonce"
150
+ ],
151
+ "additionalProperties": false
152
+ }
153
+ },
154
+ "required": [
155
+ "task",
156
+ "terms"
157
+ ],
158
+ "additionalProperties": false
159
+ },
160
+ "ProtectedWorkFundingRequest": {
161
+ "type": "object",
162
+ "properties": {
163
+ "terms": {
164
+ "type": "object",
165
+ "properties": {
166
+ "buyer": {
167
+ "type": "string",
168
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
169
+ },
170
+ "seller": {
171
+ "type": "string",
172
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
173
+ },
174
+ "amount": {
175
+ "type": "string",
176
+ "pattern": "^(?:[1-9][0-9]{0,7}|100000000)$"
177
+ },
178
+ "workHash": {
179
+ "type": "string",
180
+ "pattern": "^0x[0-9a-f]{64}$"
181
+ },
182
+ "deliveryDeadline": {
183
+ "type": "integer",
184
+ "exclusiveMinimum": 0,
185
+ "maximum": 9007199254740991
186
+ },
187
+ "evaluationPeriod": {
188
+ "type": "integer",
189
+ "minimum": 300,
190
+ "maximum": 86400
191
+ },
192
+ "correctionPeriod": {
193
+ "type": "integer",
194
+ "minimum": 300,
195
+ "maximum": 86400
196
+ },
197
+ "resolutionDeadline": {
198
+ "type": "integer",
199
+ "exclusiveMinimum": 0,
200
+ "maximum": 9007199254740991
201
+ },
202
+ "reviewPeriod": {
203
+ "type": "integer",
204
+ "minimum": 300,
205
+ "maximum": 86400
206
+ },
207
+ "appealPeriod": {
208
+ "type": "integer",
209
+ "minimum": 300,
210
+ "maximum": 86400
211
+ },
212
+ "appealVerifier": {
213
+ "type": "string",
214
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
215
+ },
216
+ "fallbackVerifier": {
217
+ "type": "string",
218
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
219
+ },
220
+ "appealOriginHash": {
221
+ "type": "string",
222
+ "pattern": "^0x[0-9a-f]{64}$"
223
+ },
224
+ "fallbackOriginHash": {
225
+ "type": "string",
226
+ "pattern": "^0x[0-9a-f]{64}$"
227
+ },
228
+ "verifierHash": {
229
+ "type": "string",
230
+ "const": "0x549e14e0594e4ff6f3b10b7e08720365903107a23fe531e5383e2dc0b3be2e1a"
231
+ },
232
+ "nonce": {
233
+ "type": "string",
234
+ "pattern": "^0x[0-9a-f]{64}$"
235
+ }
236
+ },
237
+ "required": [
238
+ "buyer",
239
+ "seller",
240
+ "amount",
241
+ "workHash",
242
+ "deliveryDeadline",
243
+ "evaluationPeriod",
244
+ "correctionPeriod",
245
+ "resolutionDeadline",
246
+ "reviewPeriod",
247
+ "appealPeriod",
248
+ "appealVerifier",
249
+ "fallbackVerifier",
250
+ "appealOriginHash",
251
+ "fallbackOriginHash",
252
+ "verifierHash",
253
+ "nonce"
254
+ ],
255
+ "additionalProperties": false
256
+ },
257
+ "sellerSignature": {
258
+ "type": "string",
259
+ "pattern": "^0x[0-9a-fA-F]{130}$"
260
+ },
261
+ "consentUntil": {
262
+ "type": "integer",
263
+ "exclusiveMinimum": 0,
264
+ "maximum": 9007199254740991
265
+ },
266
+ "appealConsent": {
267
+ "type": "string",
268
+ "pattern": "^0x[0-9a-fA-F]{130}$"
269
+ },
270
+ "fallbackConsent": {
271
+ "type": "string",
272
+ "pattern": "^0x[0-9a-fA-F]{130}$"
273
+ }
274
+ },
275
+ "required": [
276
+ "terms",
277
+ "sellerSignature",
278
+ "consentUntil",
279
+ "appealConsent",
280
+ "fallbackConsent"
281
+ ],
282
+ "additionalProperties": false
283
+ },
284
+ "ProtectedWorkChallengeRequest": {
285
+ "type": "object",
286
+ "properties": {
287
+ "action": {
288
+ "type": "string",
289
+ "const": "read"
290
+ },
291
+ "wallet": {
292
+ "type": "string",
293
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
294
+ }
295
+ },
296
+ "required": [
297
+ "action",
298
+ "wallet"
299
+ ],
300
+ "additionalProperties": false
301
+ },
302
+ "ProtectedWorkSubmissionRequest": {
303
+ "type": "object",
304
+ "properties": {
305
+ "task": {
306
+ "type": "object",
307
+ "properties": {
308
+ "input": {},
309
+ "rules": {
310
+ "type": "object",
311
+ "properties": {
312
+ "version": {
313
+ "type": "string",
314
+ "const": "json-conversion-v1"
315
+ },
316
+ "fields": {
317
+ "minItems": 1,
318
+ "maxItems": 32,
319
+ "type": "array",
320
+ "items": {
321
+ "type": "object",
322
+ "properties": {
323
+ "output": {
324
+ "type": "string",
325
+ "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
326
+ },
327
+ "source": {
328
+ "type": "string",
329
+ "maxLength": 512,
330
+ "pattern": "^(?:\\/(?:[^~]|~[01])*)?$"
331
+ },
332
+ "type": {
333
+ "type": "string",
334
+ "enum": [
335
+ "string",
336
+ "number",
337
+ "boolean"
338
+ ]
339
+ },
340
+ "convert": {
341
+ "type": "boolean"
342
+ }
343
+ },
344
+ "required": [
345
+ "output",
346
+ "source",
347
+ "type",
348
+ "convert"
349
+ ],
350
+ "additionalProperties": false
351
+ }
352
+ }
353
+ },
354
+ "required": [
355
+ "version",
356
+ "fields"
357
+ ],
358
+ "additionalProperties": false
359
+ }
360
+ },
361
+ "required": [
362
+ "input",
363
+ "rules"
364
+ ],
365
+ "additionalProperties": false
366
+ },
367
+ "result": {},
368
+ "attempt": {
369
+ "type": "integer",
370
+ "minimum": 1,
371
+ "maximum": 2
372
+ },
373
+ "signature": {
374
+ "type": "string",
375
+ "pattern": "^0x[0-9a-fA-F]{130}$"
376
+ }
377
+ },
378
+ "required": [
379
+ "task",
380
+ "result",
381
+ "attempt",
382
+ "signature"
383
+ ],
384
+ "additionalProperties": false
385
+ },
386
+ "ProtectedWorkResultRequest": {
387
+ "type": "object",
388
+ "properties": {
389
+ "proof": {
390
+ "type": "object",
391
+ "properties": {
392
+ "wallet": {
393
+ "type": "string",
394
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
395
+ },
396
+ "expiresAt": {
397
+ "type": "integer",
398
+ "exclusiveMinimum": 0,
399
+ "maximum": 9007199254740991
400
+ },
401
+ "signature": {
402
+ "type": "string",
403
+ "pattern": "^0x[0-9a-fA-F]{130}$"
404
+ }
405
+ },
406
+ "required": [
407
+ "wallet",
408
+ "expiresAt",
409
+ "signature"
410
+ ],
411
+ "additionalProperties": false
412
+ }
413
+ },
414
+ "required": [
415
+ "proof"
416
+ ],
417
+ "additionalProperties": false
418
+ },
419
+ "ProtectedWorkPrepareResponse": {
420
+ "type": "object",
421
+ "properties": {
422
+ "jobId": {
423
+ "type": "string",
424
+ "pattern": "^0x[0-9a-f]{64}$"
425
+ },
426
+ "terms": {
427
+ "type": "object",
428
+ "properties": {
429
+ "buyer": {
430
+ "type": "string",
431
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
432
+ },
433
+ "seller": {
434
+ "type": "string",
435
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
436
+ },
437
+ "amount": {
438
+ "type": "string",
439
+ "pattern": "^(?:[1-9][0-9]{0,7}|100000000)$"
440
+ },
441
+ "workHash": {
442
+ "type": "string",
443
+ "pattern": "^0x[0-9a-f]{64}$"
444
+ },
445
+ "deliveryDeadline": {
446
+ "type": "integer",
447
+ "exclusiveMinimum": 0,
448
+ "maximum": 9007199254740991
449
+ },
450
+ "evaluationPeriod": {
451
+ "type": "integer",
452
+ "minimum": 300,
453
+ "maximum": 86400
454
+ },
455
+ "correctionPeriod": {
456
+ "type": "integer",
457
+ "minimum": 300,
458
+ "maximum": 86400
459
+ },
460
+ "resolutionDeadline": {
461
+ "type": "integer",
462
+ "exclusiveMinimum": 0,
463
+ "maximum": 9007199254740991
464
+ },
465
+ "reviewPeriod": {
466
+ "type": "integer",
467
+ "minimum": 300,
468
+ "maximum": 86400
469
+ },
470
+ "appealPeriod": {
471
+ "type": "integer",
472
+ "minimum": 300,
473
+ "maximum": 86400
474
+ },
475
+ "appealVerifier": {
476
+ "type": "string",
477
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
478
+ },
479
+ "fallbackVerifier": {
480
+ "type": "string",
481
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
482
+ },
483
+ "appealOriginHash": {
484
+ "type": "string",
485
+ "pattern": "^0x[0-9a-f]{64}$"
486
+ },
487
+ "fallbackOriginHash": {
488
+ "type": "string",
489
+ "pattern": "^0x[0-9a-f]{64}$"
490
+ },
491
+ "verifierHash": {
492
+ "type": "string",
493
+ "const": "0x549e14e0594e4ff6f3b10b7e08720365903107a23fe531e5383e2dc0b3be2e1a"
494
+ },
495
+ "nonce": {
496
+ "type": "string",
497
+ "pattern": "^0x[0-9a-f]{64}$"
498
+ }
499
+ },
500
+ "required": [
501
+ "buyer",
502
+ "seller",
503
+ "amount",
504
+ "workHash",
505
+ "deliveryDeadline",
506
+ "evaluationPeriod",
507
+ "correctionPeriod",
508
+ "resolutionDeadline",
509
+ "reviewPeriod",
510
+ "appealPeriod",
511
+ "appealVerifier",
512
+ "fallbackVerifier",
513
+ "appealOriginHash",
514
+ "fallbackOriginHash",
515
+ "verifierHash",
516
+ "nonce"
517
+ ],
518
+ "additionalProperties": false
519
+ },
520
+ "workHash": {
521
+ "type": "string",
522
+ "pattern": "^0x[0-9a-f]{64}$"
523
+ },
524
+ "sellerSigning": {
525
+ "type": "object",
526
+ "properties": {
527
+ "domain": {
528
+ "type": "object",
529
+ "properties": {
530
+ "name": {
531
+ "type": "string",
532
+ "const": "402Mob Protected Work"
533
+ },
534
+ "version": {
535
+ "type": "string",
536
+ "const": "3"
537
+ },
538
+ "chainId": {
539
+ "type": "number",
540
+ "const": 8453
541
+ },
542
+ "verifyingContract": {
543
+ "type": "string",
544
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
545
+ }
546
+ },
547
+ "required": [
548
+ "name",
549
+ "version",
550
+ "chainId",
551
+ "verifyingContract"
552
+ ],
553
+ "additionalProperties": false
554
+ },
555
+ "types": {
556
+ "type": "object",
557
+ "properties": {
558
+ "Terms": {
559
+ "const": [
560
+ {
561
+ "name": "buyer",
562
+ "type": "address"
563
+ },
564
+ {
565
+ "name": "seller",
566
+ "type": "address"
567
+ },
568
+ {
569
+ "name": "amount",
570
+ "type": "uint256"
571
+ },
572
+ {
573
+ "name": "workHash",
574
+ "type": "bytes32"
575
+ },
576
+ {
577
+ "name": "deliveryDeadline",
578
+ "type": "uint256"
579
+ },
580
+ {
581
+ "name": "evaluationPeriod",
582
+ "type": "uint256"
583
+ },
584
+ {
585
+ "name": "correctionPeriod",
586
+ "type": "uint256"
587
+ },
588
+ {
589
+ "name": "resolutionDeadline",
590
+ "type": "uint256"
591
+ },
592
+ {
593
+ "name": "reviewPeriod",
594
+ "type": "uint256"
595
+ },
596
+ {
597
+ "name": "appealPeriod",
598
+ "type": "uint256"
599
+ },
600
+ {
601
+ "name": "appealVerifier",
602
+ "type": "address"
603
+ },
604
+ {
605
+ "name": "fallbackVerifier",
606
+ "type": "address"
607
+ },
608
+ {
609
+ "name": "appealOriginHash",
610
+ "type": "bytes32"
611
+ },
612
+ {
613
+ "name": "fallbackOriginHash",
614
+ "type": "bytes32"
615
+ },
616
+ {
617
+ "name": "verifierHash",
618
+ "type": "bytes32"
619
+ },
620
+ {
621
+ "name": "nonce",
622
+ "type": "bytes32"
623
+ }
624
+ ]
625
+ }
626
+ },
627
+ "required": [
628
+ "Terms"
629
+ ],
630
+ "additionalProperties": false
631
+ },
632
+ "primaryType": {
633
+ "type": "string",
634
+ "const": "Terms"
635
+ },
636
+ "message": {
637
+ "type": "object",
638
+ "properties": {
639
+ "buyer": {
640
+ "type": "string",
641
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
642
+ },
643
+ "seller": {
644
+ "type": "string",
645
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
646
+ },
647
+ "amount": {
648
+ "type": "string",
649
+ "pattern": "^(?:[1-9][0-9]{0,7}|100000000)$"
650
+ },
651
+ "workHash": {
652
+ "type": "string",
653
+ "pattern": "^0x[0-9a-f]{64}$"
654
+ },
655
+ "deliveryDeadline": {
656
+ "type": "integer",
657
+ "exclusiveMinimum": 0,
658
+ "maximum": 9007199254740991
659
+ },
660
+ "evaluationPeriod": {
661
+ "type": "integer",
662
+ "minimum": 300,
663
+ "maximum": 86400
664
+ },
665
+ "correctionPeriod": {
666
+ "type": "integer",
667
+ "minimum": 300,
668
+ "maximum": 86400
669
+ },
670
+ "resolutionDeadline": {
671
+ "type": "integer",
672
+ "exclusiveMinimum": 0,
673
+ "maximum": 9007199254740991
674
+ },
675
+ "reviewPeriod": {
676
+ "type": "integer",
677
+ "minimum": 300,
678
+ "maximum": 86400
679
+ },
680
+ "appealPeriod": {
681
+ "type": "integer",
682
+ "minimum": 300,
683
+ "maximum": 86400
684
+ },
685
+ "appealVerifier": {
686
+ "type": "string",
687
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
688
+ },
689
+ "fallbackVerifier": {
690
+ "type": "string",
691
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
692
+ },
693
+ "appealOriginHash": {
694
+ "type": "string",
695
+ "pattern": "^0x[0-9a-f]{64}$"
696
+ },
697
+ "fallbackOriginHash": {
698
+ "type": "string",
699
+ "pattern": "^0x[0-9a-f]{64}$"
700
+ },
701
+ "verifierHash": {
702
+ "type": "string",
703
+ "const": "0x549e14e0594e4ff6f3b10b7e08720365903107a23fe531e5383e2dc0b3be2e1a"
704
+ },
705
+ "nonce": {
706
+ "type": "string",
707
+ "pattern": "^0x[0-9a-f]{64}$"
708
+ }
709
+ },
710
+ "required": [
711
+ "buyer",
712
+ "seller",
713
+ "amount",
714
+ "workHash",
715
+ "deliveryDeadline",
716
+ "evaluationPeriod",
717
+ "correctionPeriod",
718
+ "resolutionDeadline",
719
+ "reviewPeriod",
720
+ "appealPeriod",
721
+ "appealVerifier",
722
+ "fallbackVerifier",
723
+ "appealOriginHash",
724
+ "fallbackOriginHash",
725
+ "verifierHash",
726
+ "nonce"
727
+ ],
728
+ "additionalProperties": false
729
+ }
730
+ },
731
+ "required": [
732
+ "domain",
733
+ "types",
734
+ "primaryType",
735
+ "message"
736
+ ],
737
+ "additionalProperties": false
738
+ }
739
+ },
740
+ "required": [
741
+ "jobId",
742
+ "terms",
743
+ "workHash",
744
+ "sellerSigning"
745
+ ],
746
+ "additionalProperties": false
747
+ },
748
+ "ProtectedWorkFundingResponse": {
749
+ "type": "object",
750
+ "properties": {
751
+ "jobId": {
752
+ "type": "string",
753
+ "pattern": "^0x[0-9a-f]{64}$"
754
+ },
755
+ "transactions": {
756
+ "minItems": 2,
757
+ "maxItems": 2,
758
+ "type": "array",
759
+ "items": {
760
+ "type": "object",
761
+ "properties": {
762
+ "chainId": {
763
+ "type": "number",
764
+ "const": 8453
765
+ },
766
+ "to": {
767
+ "type": "string",
768
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
769
+ },
770
+ "data": {
771
+ "type": "string",
772
+ "pattern": "^0x[0-9a-fA-F]+$"
773
+ },
774
+ "value": {
775
+ "type": "string",
776
+ "const": "0"
777
+ },
778
+ "from": {
779
+ "type": "string",
780
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
781
+ }
782
+ },
783
+ "required": [
784
+ "chainId",
785
+ "to",
786
+ "data",
787
+ "value"
788
+ ],
789
+ "additionalProperties": false
790
+ }
791
+ },
792
+ "instruction": {
793
+ "type": "string"
794
+ }
795
+ },
796
+ "required": [
797
+ "jobId",
798
+ "transactions",
799
+ "instruction"
800
+ ],
801
+ "additionalProperties": false
802
+ },
803
+ "ProtectedWorkStatus": {
804
+ "type": "object",
805
+ "properties": {
806
+ "jobId": {
807
+ "type": "string",
808
+ "pattern": "^0x[0-9a-f]{64}$"
809
+ },
810
+ "terms": {
811
+ "type": "object",
812
+ "properties": {
813
+ "buyer": {
814
+ "type": "string",
815
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
816
+ },
817
+ "seller": {
818
+ "type": "string",
819
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
820
+ },
821
+ "amount": {
822
+ "type": "string",
823
+ "pattern": "^(?:[1-9][0-9]{0,7}|100000000)$"
824
+ },
825
+ "workHash": {
826
+ "type": "string",
827
+ "pattern": "^0x[0-9a-f]{64}$"
828
+ },
829
+ "deliveryDeadline": {
830
+ "type": "integer",
831
+ "exclusiveMinimum": 0,
832
+ "maximum": 9007199254740991
833
+ },
834
+ "evaluationPeriod": {
835
+ "type": "integer",
836
+ "minimum": 300,
837
+ "maximum": 86400
838
+ },
839
+ "correctionPeriod": {
840
+ "type": "integer",
841
+ "minimum": 300,
842
+ "maximum": 86400
843
+ },
844
+ "resolutionDeadline": {
845
+ "type": "integer",
846
+ "exclusiveMinimum": 0,
847
+ "maximum": 9007199254740991
848
+ },
849
+ "reviewPeriod": {
850
+ "type": "integer",
851
+ "minimum": 300,
852
+ "maximum": 86400
853
+ },
854
+ "appealPeriod": {
855
+ "type": "integer",
856
+ "minimum": 300,
857
+ "maximum": 86400
858
+ },
859
+ "appealVerifier": {
860
+ "type": "string",
861
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
862
+ },
863
+ "fallbackVerifier": {
864
+ "type": "string",
865
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
866
+ },
867
+ "appealOriginHash": {
868
+ "type": "string",
869
+ "pattern": "^0x[0-9a-f]{64}$"
870
+ },
871
+ "fallbackOriginHash": {
872
+ "type": "string",
873
+ "pattern": "^0x[0-9a-f]{64}$"
874
+ },
875
+ "verifierHash": {
876
+ "type": "string",
877
+ "const": "0x549e14e0594e4ff6f3b10b7e08720365903107a23fe531e5383e2dc0b3be2e1a"
878
+ },
879
+ "nonce": {
880
+ "type": "string",
881
+ "pattern": "^0x[0-9a-f]{64}$"
882
+ }
883
+ },
884
+ "required": [
885
+ "buyer",
886
+ "seller",
887
+ "amount",
888
+ "workHash",
889
+ "deliveryDeadline",
890
+ "evaluationPeriod",
891
+ "correctionPeriod",
892
+ "resolutionDeadline",
893
+ "reviewPeriod",
894
+ "appealPeriod",
895
+ "appealVerifier",
896
+ "fallbackVerifier",
897
+ "appealOriginHash",
898
+ "fallbackOriginHash",
899
+ "verifierHash",
900
+ "nonce"
901
+ ],
902
+ "additionalProperties": false
903
+ },
904
+ "state": {
905
+ "type": "string",
906
+ "enum": [
907
+ "unknown",
908
+ "funded",
909
+ "submitted",
910
+ "rejected",
911
+ "review",
912
+ "challenged",
913
+ "approved",
914
+ "completed",
915
+ "refunded"
916
+ ]
917
+ },
918
+ "attempt": {
919
+ "type": "integer",
920
+ "minimum": 0,
921
+ "maximum": 2
922
+ },
923
+ "resultHash": {
924
+ "anyOf": [
925
+ {
926
+ "type": "string",
927
+ "pattern": "^0x[0-9a-f]{64}$"
928
+ },
929
+ {
930
+ "type": "null"
931
+ }
932
+ ]
933
+ },
934
+ "evaluationUntil": {
935
+ "type": "integer",
936
+ "minimum": -9007199254740991,
937
+ "maximum": 9007199254740991
938
+ },
939
+ "correctionUntil": {
940
+ "type": "integer",
941
+ "minimum": -9007199254740991,
942
+ "maximum": 9007199254740991
943
+ },
944
+ "fallbackUntil": {
945
+ "type": "integer",
946
+ "minimum": -9007199254740991,
947
+ "maximum": 9007199254740991
948
+ },
949
+ "buyerReceived": {
950
+ "type": "boolean"
951
+ },
952
+ "outcome": {
953
+ "type": "string",
954
+ "enum": [
955
+ "none",
956
+ "buyer_accepted",
957
+ "review_elapsed",
958
+ "appeal_approved",
959
+ "verifier_rejected",
960
+ "no_submission",
961
+ "evaluation_timeout",
962
+ "uncorrected_rejection",
963
+ "verifiers_unavailable"
964
+ ]
965
+ },
966
+ "activeAppealRound": {
967
+ "anyOf": [
968
+ {
969
+ "type": "integer",
970
+ "minimum": 1,
971
+ "maximum": 2
972
+ },
973
+ {
974
+ "type": "null"
975
+ }
976
+ ]
977
+ },
978
+ "reviewUntil": {
979
+ "type": "integer",
980
+ "minimum": -9007199254740991,
981
+ "maximum": 9007199254740991
982
+ },
983
+ "appealUntil": {
984
+ "type": "integer",
985
+ "minimum": -9007199254740991,
986
+ "maximum": 9007199254740991
987
+ },
988
+ "appealUsed": {
989
+ "type": "boolean"
990
+ },
991
+ "reason": {
992
+ "type": "integer",
993
+ "minimum": 0,
994
+ "maximum": 4
995
+ },
996
+ "evidenceHash": {
997
+ "type": "string",
998
+ "pattern": "^0x[0-9a-f]{64}$"
999
+ },
1000
+ "chainTimestamp": {
1001
+ "type": "integer",
1002
+ "minimum": -9007199254740991,
1003
+ "maximum": 9007199254740991
1004
+ },
1005
+ "refundEligible": {
1006
+ "type": "boolean"
1007
+ },
1008
+ "payoutEligible": {
1009
+ "type": "boolean"
1010
+ },
1011
+ "refundTransaction": {
1012
+ "type": "object",
1013
+ "properties": {
1014
+ "chainId": {
1015
+ "type": "number",
1016
+ "const": 8453
1017
+ },
1018
+ "to": {
1019
+ "type": "string",
1020
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1021
+ },
1022
+ "data": {
1023
+ "type": "string",
1024
+ "pattern": "^0x[0-9a-fA-F]+$"
1025
+ },
1026
+ "value": {
1027
+ "type": "string",
1028
+ "const": "0"
1029
+ },
1030
+ "from": {
1031
+ "type": "string",
1032
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1033
+ }
1034
+ },
1035
+ "required": [
1036
+ "chainId",
1037
+ "to",
1038
+ "data",
1039
+ "value"
1040
+ ],
1041
+ "additionalProperties": false
1042
+ },
1043
+ "finalizeTransaction": {
1044
+ "type": "object",
1045
+ "properties": {
1046
+ "chainId": {
1047
+ "type": "number",
1048
+ "const": 8453
1049
+ },
1050
+ "to": {
1051
+ "type": "string",
1052
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1053
+ },
1054
+ "data": {
1055
+ "type": "string",
1056
+ "pattern": "^0x[0-9a-fA-F]+$"
1057
+ },
1058
+ "value": {
1059
+ "type": "string",
1060
+ "const": "0"
1061
+ },
1062
+ "from": {
1063
+ "type": "string",
1064
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1065
+ }
1066
+ },
1067
+ "required": [
1068
+ "chainId",
1069
+ "to",
1070
+ "data",
1071
+ "value"
1072
+ ],
1073
+ "additionalProperties": false
1074
+ }
1075
+ },
1076
+ "required": [
1077
+ "jobId",
1078
+ "terms",
1079
+ "state",
1080
+ "attempt",
1081
+ "resultHash",
1082
+ "evaluationUntil",
1083
+ "correctionUntil",
1084
+ "fallbackUntil",
1085
+ "buyerReceived",
1086
+ "outcome",
1087
+ "activeAppealRound",
1088
+ "reviewUntil",
1089
+ "appealUntil",
1090
+ "appealUsed",
1091
+ "reason",
1092
+ "evidenceHash",
1093
+ "chainTimestamp",
1094
+ "refundEligible",
1095
+ "payoutEligible",
1096
+ "refundTransaction",
1097
+ "finalizeTransaction"
1098
+ ],
1099
+ "additionalProperties": false
1100
+ },
1101
+ "ProtectedWorkChallenge": {
1102
+ "type": "object",
1103
+ "properties": {
1104
+ "message": {
1105
+ "type": "string"
1106
+ },
1107
+ "expiresAt": {
1108
+ "type": "integer",
1109
+ "minimum": -9007199254740991,
1110
+ "maximum": 9007199254740991
1111
+ },
1112
+ "wallet": {
1113
+ "type": "string",
1114
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1115
+ },
1116
+ "action": {
1117
+ "type": "string",
1118
+ "const": "read"
1119
+ }
1120
+ },
1121
+ "required": [
1122
+ "message",
1123
+ "expiresAt",
1124
+ "wallet",
1125
+ "action"
1126
+ ],
1127
+ "additionalProperties": false
1128
+ },
1129
+ "ProtectedWorkSubmissionResponse": {
1130
+ "type": "object",
1131
+ "properties": {
1132
+ "jobId": {
1133
+ "type": "string",
1134
+ "pattern": "^0x[0-9a-f]{64}$"
1135
+ },
1136
+ "resultHash": {
1137
+ "type": "string",
1138
+ "pattern": "^0x[0-9a-f]{64}$"
1139
+ },
1140
+ "attempt": {
1141
+ "type": "integer",
1142
+ "minimum": 1,
1143
+ "maximum": 2
1144
+ },
1145
+ "replay": {
1146
+ "type": "boolean"
1147
+ },
1148
+ "submissionTransaction": {
1149
+ "anyOf": [
1150
+ {
1151
+ "type": "object",
1152
+ "properties": {
1153
+ "chainId": {
1154
+ "type": "number",
1155
+ "const": 8453
1156
+ },
1157
+ "to": {
1158
+ "type": "string",
1159
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1160
+ },
1161
+ "data": {
1162
+ "type": "string",
1163
+ "pattern": "^0x[0-9a-fA-F]+$"
1164
+ },
1165
+ "value": {
1166
+ "type": "string",
1167
+ "const": "0"
1168
+ },
1169
+ "from": {
1170
+ "type": "string",
1171
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1172
+ }
1173
+ },
1174
+ "required": [
1175
+ "chainId",
1176
+ "to",
1177
+ "data",
1178
+ "value"
1179
+ ],
1180
+ "additionalProperties": false
1181
+ },
1182
+ {
1183
+ "type": "null"
1184
+ }
1185
+ ]
1186
+ },
1187
+ "relay": {
1188
+ "type": "object",
1189
+ "properties": {
1190
+ "queued": {
1191
+ "type": "boolean"
1192
+ },
1193
+ "id": {
1194
+ "anyOf": [
1195
+ {
1196
+ "type": "string",
1197
+ "pattern": "^[a-f0-9]{64}$"
1198
+ },
1199
+ {
1200
+ "type": "null"
1201
+ }
1202
+ ]
1203
+ }
1204
+ },
1205
+ "required": [
1206
+ "queued",
1207
+ "id"
1208
+ ],
1209
+ "additionalProperties": false
1210
+ },
1211
+ "retainedUntil": {
1212
+ "type": "string",
1213
+ "format": "date-time",
1214
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
1215
+ }
1216
+ },
1217
+ "required": [
1218
+ "jobId",
1219
+ "resultHash",
1220
+ "attempt",
1221
+ "replay",
1222
+ "submissionTransaction",
1223
+ "relay",
1224
+ "retainedUntil"
1225
+ ],
1226
+ "additionalProperties": false
1227
+ },
1228
+ "ProtectedWorkResult": {
1229
+ "type": "object",
1230
+ "properties": {
1231
+ "jobId": {
1232
+ "type": "string",
1233
+ "pattern": "^0x[0-9a-f]{64}$"
1234
+ },
1235
+ "state": {
1236
+ "type": "string",
1237
+ "enum": [
1238
+ "unknown",
1239
+ "funded",
1240
+ "submitted",
1241
+ "rejected",
1242
+ "review",
1243
+ "challenged",
1244
+ "approved",
1245
+ "completed",
1246
+ "refunded"
1247
+ ]
1248
+ },
1249
+ "attempt": {
1250
+ "type": "integer",
1251
+ "minimum": 1,
1252
+ "maximum": 2
1253
+ },
1254
+ "resultHash": {
1255
+ "type": "string",
1256
+ "pattern": "^0x[0-9a-f]{64}$"
1257
+ },
1258
+ "task": {
1259
+ "type": "object",
1260
+ "properties": {
1261
+ "input": {},
1262
+ "rules": {
1263
+ "type": "object",
1264
+ "properties": {
1265
+ "version": {
1266
+ "type": "string",
1267
+ "const": "json-conversion-v1"
1268
+ },
1269
+ "fields": {
1270
+ "minItems": 1,
1271
+ "maxItems": 32,
1272
+ "type": "array",
1273
+ "items": {
1274
+ "type": "object",
1275
+ "properties": {
1276
+ "output": {
1277
+ "type": "string",
1278
+ "pattern": "^[A-Za-z][A-Za-z0-9_]{0,63}$"
1279
+ },
1280
+ "source": {
1281
+ "type": "string",
1282
+ "maxLength": 512,
1283
+ "pattern": "^(?:\\/(?:[^~]|~[01])*)?$"
1284
+ },
1285
+ "type": {
1286
+ "type": "string",
1287
+ "enum": [
1288
+ "string",
1289
+ "number",
1290
+ "boolean"
1291
+ ]
1292
+ },
1293
+ "convert": {
1294
+ "type": "boolean"
1295
+ }
1296
+ },
1297
+ "required": [
1298
+ "output",
1299
+ "source",
1300
+ "type",
1301
+ "convert"
1302
+ ],
1303
+ "additionalProperties": false
1304
+ }
1305
+ }
1306
+ },
1307
+ "required": [
1308
+ "version",
1309
+ "fields"
1310
+ ],
1311
+ "additionalProperties": false
1312
+ }
1313
+ },
1314
+ "required": [
1315
+ "input",
1316
+ "rules"
1317
+ ],
1318
+ "additionalProperties": false
1319
+ },
1320
+ "result": {}
1321
+ },
1322
+ "required": [
1323
+ "jobId",
1324
+ "state",
1325
+ "attempt",
1326
+ "resultHash",
1327
+ "task",
1328
+ "result"
1329
+ ],
1330
+ "additionalProperties": false
1331
+ },
1332
+ "ProtectedWorkCapability": {
1333
+ "type": "object",
1334
+ "properties": {
1335
+ "protocol": {
1336
+ "type": "string"
1337
+ },
1338
+ "status": {
1339
+ "type": "string"
1340
+ },
1341
+ "configured": {
1342
+ "type": "boolean"
1343
+ },
1344
+ "defaultEnabled": {
1345
+ "type": "boolean"
1346
+ },
1347
+ "descriptor": {
1348
+ "type": "string"
1349
+ },
1350
+ "guide": {
1351
+ "type": "string"
1352
+ },
1353
+ "verifierSpecification": {
1354
+ "type": "string"
1355
+ },
1356
+ "verifierHash": {
1357
+ "type": "string"
1358
+ },
1359
+ "network": {
1360
+ "type": "string"
1361
+ },
1362
+ "asset": {
1363
+ "type": "string"
1364
+ },
1365
+ "task": {
1366
+ "type": "string"
1367
+ },
1368
+ "maxAmountAtomic": {
1369
+ "type": "string"
1370
+ },
1371
+ "maxOpenJobs": {
1372
+ "type": "number"
1373
+ },
1374
+ "maxSubmissionBytes": {
1375
+ "type": "number"
1376
+ },
1377
+ "inputBytes": {
1378
+ "type": "number"
1379
+ },
1380
+ "resultBytes": {
1381
+ "type": "number"
1382
+ },
1383
+ "maxFields": {
1384
+ "type": "number"
1385
+ },
1386
+ "maxAttempts": {
1387
+ "type": "number"
1388
+ },
1389
+ "maxAppeals": {
1390
+ "type": "number"
1391
+ },
1392
+ "resultRetentionDaysAfterDeadline": {
1393
+ "type": "number"
1394
+ },
1395
+ "payment": {
1396
+ "type": "string"
1397
+ },
1398
+ "evaluator": {
1399
+ "type": "string"
1400
+ },
1401
+ "timeout": {
1402
+ "type": "string"
1403
+ },
1404
+ "scope": {
1405
+ "type": "string"
1406
+ },
1407
+ "clients": {
1408
+ "type": "string"
1409
+ },
1410
+ "sourceSdk": {
1411
+ "type": "object",
1412
+ "properties": {
1413
+ "package": {
1414
+ "type": "string"
1415
+ },
1416
+ "version": {
1417
+ "type": "string"
1418
+ },
1419
+ "published": {
1420
+ "type": "boolean"
1421
+ },
1422
+ "requiresSourceBuild": {
1423
+ "type": "boolean"
1424
+ },
1425
+ "entryPoint": {
1426
+ "type": "string"
1427
+ },
1428
+ "guide": {
1429
+ "type": "string"
1430
+ }
1431
+ },
1432
+ "required": [
1433
+ "package",
1434
+ "version",
1435
+ "published",
1436
+ "requiresSourceBuild",
1437
+ "entryPoint",
1438
+ "guide"
1439
+ ],
1440
+ "additionalProperties": false
1441
+ },
1442
+ "limits": {
1443
+ "type": "string"
1444
+ }
1445
+ },
1446
+ "required": [
1447
+ "protocol",
1448
+ "status",
1449
+ "configured",
1450
+ "defaultEnabled",
1451
+ "descriptor",
1452
+ "guide",
1453
+ "verifierSpecification",
1454
+ "verifierHash",
1455
+ "network",
1456
+ "asset",
1457
+ "task",
1458
+ "maxAmountAtomic",
1459
+ "maxOpenJobs",
1460
+ "maxSubmissionBytes",
1461
+ "inputBytes",
1462
+ "resultBytes",
1463
+ "maxFields",
1464
+ "maxAttempts",
1465
+ "maxAppeals",
1466
+ "resultRetentionDaysAfterDeadline",
1467
+ "payment",
1468
+ "evaluator",
1469
+ "timeout",
1470
+ "scope",
1471
+ "clients",
1472
+ "sourceSdk",
1473
+ "limits"
1474
+ ],
1475
+ "additionalProperties": false
1476
+ },
1477
+ "ProtectedWorkCandidateRequest": {
1478
+ "type": "object",
1479
+ "properties": {
1480
+ "attempt": {
1481
+ "type": "integer",
1482
+ "minimum": 1,
1483
+ "maximum": 2
1484
+ },
1485
+ "resultHash": {
1486
+ "type": "string",
1487
+ "pattern": "^0x[0-9a-f]{64}$"
1488
+ }
1489
+ },
1490
+ "required": [
1491
+ "attempt",
1492
+ "resultHash"
1493
+ ],
1494
+ "additionalProperties": false
1495
+ },
1496
+ "ProtectedWorkActionRequest": {
1497
+ "oneOf": [
1498
+ {
1499
+ "type": "object",
1500
+ "properties": {
1501
+ "action": {
1502
+ "type": "string",
1503
+ "const": "receipt"
1504
+ },
1505
+ "signature": {
1506
+ "type": "string",
1507
+ "pattern": "^0x[0-9a-fA-F]{130}$"
1508
+ }
1509
+ },
1510
+ "required": [
1511
+ "action"
1512
+ ],
1513
+ "additionalProperties": false
1514
+ },
1515
+ {
1516
+ "type": "object",
1517
+ "properties": {
1518
+ "action": {
1519
+ "type": "string",
1520
+ "const": "accept"
1521
+ },
1522
+ "signature": {
1523
+ "type": "string",
1524
+ "pattern": "^0x[0-9a-fA-F]{130}$"
1525
+ }
1526
+ },
1527
+ "required": [
1528
+ "action"
1529
+ ],
1530
+ "additionalProperties": false
1531
+ },
1532
+ {
1533
+ "type": "object",
1534
+ "properties": {
1535
+ "action": {
1536
+ "type": "string",
1537
+ "const": "challenge"
1538
+ },
1539
+ "reason": {
1540
+ "type": "string",
1541
+ "enum": [
1542
+ "wrong_output",
1543
+ "rules_mismatch",
1544
+ "result_unavailable",
1545
+ "evaluator_timeout"
1546
+ ]
1547
+ },
1548
+ "evidenceHash": {
1549
+ "type": "string",
1550
+ "pattern": "^0x[0-9a-f]{64}$"
1551
+ },
1552
+ "signature": {
1553
+ "type": "string",
1554
+ "pattern": "^0x[0-9a-fA-F]{130}$"
1555
+ }
1556
+ },
1557
+ "required": [
1558
+ "action",
1559
+ "reason",
1560
+ "evidenceHash"
1561
+ ],
1562
+ "additionalProperties": false
1563
+ },
1564
+ {
1565
+ "type": "object",
1566
+ "properties": {
1567
+ "action": {
1568
+ "type": "string",
1569
+ "const": "finalize"
1570
+ }
1571
+ },
1572
+ "required": [
1573
+ "action"
1574
+ ],
1575
+ "additionalProperties": false
1576
+ },
1577
+ {
1578
+ "type": "object",
1579
+ "properties": {
1580
+ "action": {
1581
+ "type": "string",
1582
+ "const": "refund"
1583
+ }
1584
+ },
1585
+ "required": [
1586
+ "action"
1587
+ ],
1588
+ "additionalProperties": false
1589
+ }
1590
+ ]
1591
+ },
1592
+ "ProtectedWorkAppealRequest": {
1593
+ "type": "object",
1594
+ "properties": {
1595
+ "round": {
1596
+ "type": "integer",
1597
+ "minimum": 1,
1598
+ "maximum": 2
1599
+ },
1600
+ "valid": {
1601
+ "type": "boolean"
1602
+ },
1603
+ "signature": {
1604
+ "type": "string",
1605
+ "pattern": "^0x[0-9a-fA-F]{130}$"
1606
+ }
1607
+ },
1608
+ "required": [
1609
+ "round",
1610
+ "valid",
1611
+ "signature"
1612
+ ],
1613
+ "additionalProperties": false
1614
+ },
1615
+ "ProtectedWorkEvaluationRequest": {
1616
+ "type": "object",
1617
+ "properties": {},
1618
+ "additionalProperties": false
1619
+ },
1620
+ "ProtectedWorkCandidateSigning": {
1621
+ "type": "object",
1622
+ "properties": {
1623
+ "signing": {
1624
+ "type": "object",
1625
+ "properties": {
1626
+ "domain": {
1627
+ "type": "object",
1628
+ "properties": {
1629
+ "name": {
1630
+ "type": "string",
1631
+ "const": "402Mob Protected Work"
1632
+ },
1633
+ "version": {
1634
+ "type": "string",
1635
+ "const": "3"
1636
+ },
1637
+ "chainId": {
1638
+ "type": "number",
1639
+ "const": 8453
1640
+ },
1641
+ "verifyingContract": {
1642
+ "type": "string",
1643
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1644
+ }
1645
+ },
1646
+ "required": [
1647
+ "name",
1648
+ "version",
1649
+ "chainId",
1650
+ "verifyingContract"
1651
+ ],
1652
+ "additionalProperties": false
1653
+ },
1654
+ "types": {
1655
+ "type": "object",
1656
+ "properties": {
1657
+ "Candidate": {
1658
+ "type": "array",
1659
+ "prefixItems": [
1660
+ {
1661
+ "type": "object",
1662
+ "properties": {
1663
+ "name": {
1664
+ "type": "string",
1665
+ "const": "jobId"
1666
+ },
1667
+ "type": {
1668
+ "type": "string",
1669
+ "const": "bytes32"
1670
+ }
1671
+ },
1672
+ "required": [
1673
+ "name",
1674
+ "type"
1675
+ ],
1676
+ "additionalProperties": false
1677
+ },
1678
+ {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "name": {
1682
+ "type": "string",
1683
+ "const": "attempt"
1684
+ },
1685
+ "type": {
1686
+ "type": "string",
1687
+ "const": "uint256"
1688
+ }
1689
+ },
1690
+ "required": [
1691
+ "name",
1692
+ "type"
1693
+ ],
1694
+ "additionalProperties": false
1695
+ },
1696
+ {
1697
+ "type": "object",
1698
+ "properties": {
1699
+ "name": {
1700
+ "type": "string",
1701
+ "const": "resultHash"
1702
+ },
1703
+ "type": {
1704
+ "type": "string",
1705
+ "const": "bytes32"
1706
+ }
1707
+ },
1708
+ "required": [
1709
+ "name",
1710
+ "type"
1711
+ ],
1712
+ "additionalProperties": false
1713
+ }
1714
+ ],
1715
+ "items": false,
1716
+ "minItems": 3,
1717
+ "maxItems": 3
1718
+ }
1719
+ },
1720
+ "required": [
1721
+ "Candidate"
1722
+ ],
1723
+ "additionalProperties": false
1724
+ },
1725
+ "primaryType": {
1726
+ "type": "string",
1727
+ "const": "Candidate"
1728
+ },
1729
+ "message": {
1730
+ "type": "object",
1731
+ "properties": {
1732
+ "jobId": {
1733
+ "type": "string",
1734
+ "pattern": "^0x[0-9a-f]{64}$"
1735
+ },
1736
+ "attempt": {
1737
+ "type": "integer",
1738
+ "minimum": 1,
1739
+ "maximum": 2
1740
+ },
1741
+ "resultHash": {
1742
+ "type": "string",
1743
+ "pattern": "^0x[0-9a-f]{64}$"
1744
+ }
1745
+ },
1746
+ "required": [
1747
+ "jobId",
1748
+ "attempt",
1749
+ "resultHash"
1750
+ ],
1751
+ "additionalProperties": false
1752
+ }
1753
+ },
1754
+ "required": [
1755
+ "domain",
1756
+ "types",
1757
+ "primaryType",
1758
+ "message"
1759
+ ],
1760
+ "additionalProperties": false
1761
+ }
1762
+ },
1763
+ "required": [
1764
+ "signing"
1765
+ ],
1766
+ "additionalProperties": false
1767
+ },
1768
+ "ProtectedWorkEvaluationResponse": {
1769
+ "type": "object",
1770
+ "properties": {
1771
+ "jobId": {
1772
+ "type": "string",
1773
+ "pattern": "^0x[0-9a-f]{64}$"
1774
+ },
1775
+ "resultHash": {
1776
+ "type": "string",
1777
+ "pattern": "^0x[0-9a-f]{64}$"
1778
+ },
1779
+ "attempt": {
1780
+ "type": "integer",
1781
+ "minimum": 1,
1782
+ "maximum": 2
1783
+ },
1784
+ "valid": {
1785
+ "type": "boolean"
1786
+ },
1787
+ "evaluationTransaction": {
1788
+ "type": "object",
1789
+ "properties": {
1790
+ "chainId": {
1791
+ "type": "number",
1792
+ "const": 8453
1793
+ },
1794
+ "to": {
1795
+ "type": "string",
1796
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1797
+ },
1798
+ "data": {
1799
+ "type": "string",
1800
+ "pattern": "^0x[0-9a-fA-F]+$"
1801
+ },
1802
+ "value": {
1803
+ "type": "string",
1804
+ "const": "0"
1805
+ },
1806
+ "from": {
1807
+ "type": "string",
1808
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1809
+ }
1810
+ },
1811
+ "required": [
1812
+ "chainId",
1813
+ "to",
1814
+ "data",
1815
+ "value"
1816
+ ],
1817
+ "additionalProperties": false
1818
+ },
1819
+ "relay": {
1820
+ "type": "object",
1821
+ "properties": {
1822
+ "queued": {
1823
+ "type": "boolean"
1824
+ },
1825
+ "id": {
1826
+ "anyOf": [
1827
+ {
1828
+ "type": "string",
1829
+ "pattern": "^[a-f0-9]{64}$"
1830
+ },
1831
+ {
1832
+ "type": "null"
1833
+ }
1834
+ ]
1835
+ }
1836
+ },
1837
+ "required": [
1838
+ "queued",
1839
+ "id"
1840
+ ],
1841
+ "additionalProperties": false
1842
+ }
1843
+ },
1844
+ "required": [
1845
+ "jobId",
1846
+ "resultHash",
1847
+ "attempt",
1848
+ "valid",
1849
+ "evaluationTransaction",
1850
+ "relay"
1851
+ ],
1852
+ "additionalProperties": false
1853
+ },
1854
+ "ProtectedWorkActionResponse": {
1855
+ "anyOf": [
1856
+ {
1857
+ "type": "object",
1858
+ "properties": {
1859
+ "signing": {
1860
+ "anyOf": [
1861
+ {
1862
+ "type": "object",
1863
+ "properties": {
1864
+ "domain": {
1865
+ "type": "object",
1866
+ "properties": {
1867
+ "name": {
1868
+ "type": "string",
1869
+ "const": "402Mob Protected Work"
1870
+ },
1871
+ "version": {
1872
+ "type": "string",
1873
+ "const": "3"
1874
+ },
1875
+ "chainId": {
1876
+ "type": "number",
1877
+ "const": 8453
1878
+ },
1879
+ "verifyingContract": {
1880
+ "type": "string",
1881
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
1882
+ }
1883
+ },
1884
+ "required": [
1885
+ "name",
1886
+ "version",
1887
+ "chainId",
1888
+ "verifyingContract"
1889
+ ],
1890
+ "additionalProperties": false
1891
+ },
1892
+ "types": {
1893
+ "type": "object",
1894
+ "properties": {
1895
+ "Accept": {
1896
+ "type": "array",
1897
+ "prefixItems": [
1898
+ {
1899
+ "type": "object",
1900
+ "properties": {
1901
+ "name": {
1902
+ "type": "string",
1903
+ "const": "jobId"
1904
+ },
1905
+ "type": {
1906
+ "type": "string",
1907
+ "const": "bytes32"
1908
+ }
1909
+ },
1910
+ "required": [
1911
+ "name",
1912
+ "type"
1913
+ ],
1914
+ "additionalProperties": false
1915
+ },
1916
+ {
1917
+ "type": "object",
1918
+ "properties": {
1919
+ "name": {
1920
+ "type": "string",
1921
+ "const": "attempt"
1922
+ },
1923
+ "type": {
1924
+ "type": "string",
1925
+ "const": "uint256"
1926
+ }
1927
+ },
1928
+ "required": [
1929
+ "name",
1930
+ "type"
1931
+ ],
1932
+ "additionalProperties": false
1933
+ },
1934
+ {
1935
+ "type": "object",
1936
+ "properties": {
1937
+ "name": {
1938
+ "type": "string",
1939
+ "const": "resultHash"
1940
+ },
1941
+ "type": {
1942
+ "type": "string",
1943
+ "const": "bytes32"
1944
+ }
1945
+ },
1946
+ "required": [
1947
+ "name",
1948
+ "type"
1949
+ ],
1950
+ "additionalProperties": false
1951
+ }
1952
+ ],
1953
+ "items": false,
1954
+ "minItems": 3,
1955
+ "maxItems": 3
1956
+ }
1957
+ },
1958
+ "required": [
1959
+ "Accept"
1960
+ ],
1961
+ "additionalProperties": false
1962
+ },
1963
+ "primaryType": {
1964
+ "type": "string",
1965
+ "const": "Accept"
1966
+ },
1967
+ "message": {
1968
+ "type": "object",
1969
+ "properties": {
1970
+ "jobId": {
1971
+ "type": "string",
1972
+ "pattern": "^0x[0-9a-f]{64}$"
1973
+ },
1974
+ "attempt": {
1975
+ "type": "integer",
1976
+ "minimum": 1,
1977
+ "maximum": 2
1978
+ },
1979
+ "resultHash": {
1980
+ "type": "string",
1981
+ "pattern": "^0x[0-9a-f]{64}$"
1982
+ }
1983
+ },
1984
+ "required": [
1985
+ "jobId",
1986
+ "attempt",
1987
+ "resultHash"
1988
+ ],
1989
+ "additionalProperties": false
1990
+ }
1991
+ },
1992
+ "required": [
1993
+ "domain",
1994
+ "types",
1995
+ "primaryType",
1996
+ "message"
1997
+ ],
1998
+ "additionalProperties": false
1999
+ },
2000
+ {
2001
+ "type": "object",
2002
+ "properties": {
2003
+ "domain": {
2004
+ "type": "object",
2005
+ "properties": {
2006
+ "name": {
2007
+ "type": "string",
2008
+ "const": "402Mob Protected Work"
2009
+ },
2010
+ "version": {
2011
+ "type": "string",
2012
+ "const": "3"
2013
+ },
2014
+ "chainId": {
2015
+ "type": "number",
2016
+ "const": 8453
2017
+ },
2018
+ "verifyingContract": {
2019
+ "type": "string",
2020
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
2021
+ }
2022
+ },
2023
+ "required": [
2024
+ "name",
2025
+ "version",
2026
+ "chainId",
2027
+ "verifyingContract"
2028
+ ],
2029
+ "additionalProperties": false
2030
+ },
2031
+ "types": {
2032
+ "type": "object",
2033
+ "properties": {
2034
+ "Challenge": {
2035
+ "type": "array",
2036
+ "prefixItems": [
2037
+ {
2038
+ "type": "object",
2039
+ "properties": {
2040
+ "name": {
2041
+ "type": "string",
2042
+ "const": "jobId"
2043
+ },
2044
+ "type": {
2045
+ "type": "string",
2046
+ "const": "bytes32"
2047
+ }
2048
+ },
2049
+ "required": [
2050
+ "name",
2051
+ "type"
2052
+ ],
2053
+ "additionalProperties": false
2054
+ },
2055
+ {
2056
+ "type": "object",
2057
+ "properties": {
2058
+ "name": {
2059
+ "type": "string",
2060
+ "const": "attempt"
2061
+ },
2062
+ "type": {
2063
+ "type": "string",
2064
+ "const": "uint256"
2065
+ }
2066
+ },
2067
+ "required": [
2068
+ "name",
2069
+ "type"
2070
+ ],
2071
+ "additionalProperties": false
2072
+ },
2073
+ {
2074
+ "type": "object",
2075
+ "properties": {
2076
+ "name": {
2077
+ "type": "string",
2078
+ "const": "resultHash"
2079
+ },
2080
+ "type": {
2081
+ "type": "string",
2082
+ "const": "bytes32"
2083
+ }
2084
+ },
2085
+ "required": [
2086
+ "name",
2087
+ "type"
2088
+ ],
2089
+ "additionalProperties": false
2090
+ },
2091
+ {
2092
+ "type": "object",
2093
+ "properties": {
2094
+ "name": {
2095
+ "type": "string",
2096
+ "const": "reason"
2097
+ },
2098
+ "type": {
2099
+ "type": "string",
2100
+ "const": "uint8"
2101
+ }
2102
+ },
2103
+ "required": [
2104
+ "name",
2105
+ "type"
2106
+ ],
2107
+ "additionalProperties": false
2108
+ },
2109
+ {
2110
+ "type": "object",
2111
+ "properties": {
2112
+ "name": {
2113
+ "type": "string",
2114
+ "const": "evidenceHash"
2115
+ },
2116
+ "type": {
2117
+ "type": "string",
2118
+ "const": "bytes32"
2119
+ }
2120
+ },
2121
+ "required": [
2122
+ "name",
2123
+ "type"
2124
+ ],
2125
+ "additionalProperties": false
2126
+ }
2127
+ ],
2128
+ "items": false,
2129
+ "minItems": 5,
2130
+ "maxItems": 5
2131
+ }
2132
+ },
2133
+ "required": [
2134
+ "Challenge"
2135
+ ],
2136
+ "additionalProperties": false
2137
+ },
2138
+ "primaryType": {
2139
+ "type": "string",
2140
+ "const": "Challenge"
2141
+ },
2142
+ "message": {
2143
+ "type": "object",
2144
+ "properties": {
2145
+ "jobId": {
2146
+ "type": "string",
2147
+ "pattern": "^0x[0-9a-f]{64}$"
2148
+ },
2149
+ "attempt": {
2150
+ "type": "integer",
2151
+ "minimum": 1,
2152
+ "maximum": 2
2153
+ },
2154
+ "resultHash": {
2155
+ "type": "string",
2156
+ "pattern": "^0x[0-9a-f]{64}$"
2157
+ },
2158
+ "reason": {
2159
+ "type": "integer",
2160
+ "minimum": 1,
2161
+ "maximum": 4
2162
+ },
2163
+ "evidenceHash": {
2164
+ "type": "string",
2165
+ "pattern": "^0x[0-9a-f]{64}$"
2166
+ }
2167
+ },
2168
+ "required": [
2169
+ "jobId",
2170
+ "attempt",
2171
+ "resultHash",
2172
+ "reason",
2173
+ "evidenceHash"
2174
+ ],
2175
+ "additionalProperties": false
2176
+ }
2177
+ },
2178
+ "required": [
2179
+ "domain",
2180
+ "types",
2181
+ "primaryType",
2182
+ "message"
2183
+ ],
2184
+ "additionalProperties": false
2185
+ },
2186
+ {
2187
+ "type": "object",
2188
+ "properties": {
2189
+ "domain": {
2190
+ "type": "object",
2191
+ "properties": {
2192
+ "name": {
2193
+ "type": "string",
2194
+ "const": "402Mob Protected Work"
2195
+ },
2196
+ "version": {
2197
+ "type": "string",
2198
+ "const": "3"
2199
+ },
2200
+ "chainId": {
2201
+ "type": "number",
2202
+ "const": 8453
2203
+ },
2204
+ "verifyingContract": {
2205
+ "type": "string",
2206
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
2207
+ }
2208
+ },
2209
+ "required": [
2210
+ "name",
2211
+ "version",
2212
+ "chainId",
2213
+ "verifyingContract"
2214
+ ],
2215
+ "additionalProperties": false
2216
+ },
2217
+ "types": {
2218
+ "type": "object",
2219
+ "properties": {
2220
+ "Receipt": {
2221
+ "type": "array",
2222
+ "prefixItems": [
2223
+ {
2224
+ "type": "object",
2225
+ "properties": {
2226
+ "name": {
2227
+ "type": "string",
2228
+ "const": "jobId"
2229
+ },
2230
+ "type": {
2231
+ "type": "string",
2232
+ "const": "bytes32"
2233
+ }
2234
+ },
2235
+ "required": [
2236
+ "name",
2237
+ "type"
2238
+ ],
2239
+ "additionalProperties": false
2240
+ },
2241
+ {
2242
+ "type": "object",
2243
+ "properties": {
2244
+ "name": {
2245
+ "type": "string",
2246
+ "const": "attempt"
2247
+ },
2248
+ "type": {
2249
+ "type": "string",
2250
+ "const": "uint256"
2251
+ }
2252
+ },
2253
+ "required": [
2254
+ "name",
2255
+ "type"
2256
+ ],
2257
+ "additionalProperties": false
2258
+ },
2259
+ {
2260
+ "type": "object",
2261
+ "properties": {
2262
+ "name": {
2263
+ "type": "string",
2264
+ "const": "resultHash"
2265
+ },
2266
+ "type": {
2267
+ "type": "string",
2268
+ "const": "bytes32"
2269
+ }
2270
+ },
2271
+ "required": [
2272
+ "name",
2273
+ "type"
2274
+ ],
2275
+ "additionalProperties": false
2276
+ }
2277
+ ],
2278
+ "items": false,
2279
+ "minItems": 3,
2280
+ "maxItems": 3
2281
+ }
2282
+ },
2283
+ "required": [
2284
+ "Receipt"
2285
+ ],
2286
+ "additionalProperties": false
2287
+ },
2288
+ "primaryType": {
2289
+ "type": "string",
2290
+ "const": "Receipt"
2291
+ },
2292
+ "message": {
2293
+ "type": "object",
2294
+ "properties": {
2295
+ "jobId": {
2296
+ "type": "string",
2297
+ "pattern": "^0x[0-9a-f]{64}$"
2298
+ },
2299
+ "attempt": {
2300
+ "type": "integer",
2301
+ "minimum": 1,
2302
+ "maximum": 2
2303
+ },
2304
+ "resultHash": {
2305
+ "type": "string",
2306
+ "pattern": "^0x[0-9a-f]{64}$"
2307
+ }
2308
+ },
2309
+ "required": [
2310
+ "jobId",
2311
+ "attempt",
2312
+ "resultHash"
2313
+ ],
2314
+ "additionalProperties": false
2315
+ }
2316
+ },
2317
+ "required": [
2318
+ "domain",
2319
+ "types",
2320
+ "primaryType",
2321
+ "message"
2322
+ ],
2323
+ "additionalProperties": false
2324
+ }
2325
+ ]
2326
+ },
2327
+ "transaction": {
2328
+ "type": "null"
2329
+ },
2330
+ "relay": {
2331
+ "type": "object",
2332
+ "properties": {
2333
+ "queued": {
2334
+ "type": "boolean"
2335
+ },
2336
+ "id": {
2337
+ "anyOf": [
2338
+ {
2339
+ "type": "string",
2340
+ "pattern": "^[a-f0-9]{64}$"
2341
+ },
2342
+ {
2343
+ "type": "null"
2344
+ }
2345
+ ]
2346
+ }
2347
+ },
2348
+ "required": [
2349
+ "queued",
2350
+ "id"
2351
+ ],
2352
+ "additionalProperties": false
2353
+ }
2354
+ },
2355
+ "required": [
2356
+ "signing",
2357
+ "transaction",
2358
+ "relay"
2359
+ ],
2360
+ "additionalProperties": false
2361
+ },
2362
+ {
2363
+ "type": "object",
2364
+ "properties": {
2365
+ "signing": {
2366
+ "type": "null"
2367
+ },
2368
+ "transaction": {
2369
+ "type": "object",
2370
+ "properties": {
2371
+ "chainId": {
2372
+ "type": "number",
2373
+ "const": 8453
2374
+ },
2375
+ "to": {
2376
+ "type": "string",
2377
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
2378
+ },
2379
+ "data": {
2380
+ "type": "string",
2381
+ "pattern": "^0x[0-9a-fA-F]+$"
2382
+ },
2383
+ "value": {
2384
+ "type": "string",
2385
+ "const": "0"
2386
+ },
2387
+ "from": {
2388
+ "type": "string",
2389
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
2390
+ }
2391
+ },
2392
+ "required": [
2393
+ "chainId",
2394
+ "to",
2395
+ "data",
2396
+ "value"
2397
+ ],
2398
+ "additionalProperties": false
2399
+ },
2400
+ "relay": {
2401
+ "type": "object",
2402
+ "properties": {
2403
+ "queued": {
2404
+ "type": "boolean"
2405
+ },
2406
+ "id": {
2407
+ "anyOf": [
2408
+ {
2409
+ "type": "string",
2410
+ "pattern": "^[a-f0-9]{64}$"
2411
+ },
2412
+ {
2413
+ "type": "null"
2414
+ }
2415
+ ]
2416
+ }
2417
+ },
2418
+ "required": [
2419
+ "queued",
2420
+ "id"
2421
+ ],
2422
+ "additionalProperties": false
2423
+ }
2424
+ },
2425
+ "required": [
2426
+ "signing",
2427
+ "transaction",
2428
+ "relay"
2429
+ ],
2430
+ "additionalProperties": false
2431
+ }
2432
+ ]
2433
+ },
2434
+ "ProtectedWorkAppealResponse": {
2435
+ "type": "object",
2436
+ "properties": {
2437
+ "transaction": {
2438
+ "type": "object",
2439
+ "properties": {
2440
+ "chainId": {
2441
+ "type": "number",
2442
+ "const": 8453
2443
+ },
2444
+ "to": {
2445
+ "type": "string",
2446
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
2447
+ },
2448
+ "data": {
2449
+ "type": "string",
2450
+ "pattern": "^0x[0-9a-fA-F]+$"
2451
+ },
2452
+ "value": {
2453
+ "type": "string",
2454
+ "const": "0"
2455
+ },
2456
+ "from": {
2457
+ "type": "string",
2458
+ "pattern": "^0x(?!0{40}$)[0-9a-fA-F]{40}$"
2459
+ }
2460
+ },
2461
+ "required": [
2462
+ "chainId",
2463
+ "to",
2464
+ "data",
2465
+ "value"
2466
+ ],
2467
+ "additionalProperties": false
2468
+ },
2469
+ "relay": {
2470
+ "type": "object",
2471
+ "properties": {
2472
+ "queued": {
2473
+ "type": "boolean"
2474
+ },
2475
+ "id": {
2476
+ "anyOf": [
2477
+ {
2478
+ "type": "string",
2479
+ "pattern": "^[a-f0-9]{64}$"
2480
+ },
2481
+ {
2482
+ "type": "null"
2483
+ }
2484
+ ]
2485
+ }
2486
+ },
2487
+ "required": [
2488
+ "queued",
2489
+ "id"
2490
+ ],
2491
+ "additionalProperties": false
2492
+ }
2493
+ },
2494
+ "required": [
2495
+ "transaction",
2496
+ "relay"
2497
+ ],
2498
+ "additionalProperties": false
2499
+ },
2500
+ "ProtectedWorkReplicasRequest": {
2501
+ "type": "object",
2502
+ "properties": {
2503
+ "attempt": {
2504
+ "type": "integer",
2505
+ "minimum": 1,
2506
+ "maximum": 2
2507
+ },
2508
+ "resultHash": {
2509
+ "type": "string",
2510
+ "pattern": "^0x[0-9a-f]{64}$"
2511
+ },
2512
+ "replicaA": {
2513
+ "type": "string",
2514
+ "pattern": "^0x[0-9a-fA-F]{130}$"
2515
+ },
2516
+ "replicaB": {
2517
+ "type": "string",
2518
+ "pattern": "^0x[0-9a-fA-F]{130}$"
2519
+ }
2520
+ },
2521
+ "required": [
2522
+ "attempt",
2523
+ "resultHash",
2524
+ "replicaA",
2525
+ "replicaB"
2526
+ ],
2527
+ "additionalProperties": false
2528
+ },
2529
+ "ProtectedWorkReplicasResponse": {
2530
+ "type": "object",
2531
+ "properties": {
2532
+ "jobId": {
2533
+ "type": "string",
2534
+ "pattern": "^0x[0-9a-f]{64}$"
2535
+ },
2536
+ "attempt": {
2537
+ "type": "integer",
2538
+ "minimum": 1,
2539
+ "maximum": 2
2540
+ },
2541
+ "resultHash": {
2542
+ "type": "string",
2543
+ "pattern": "^0x[0-9a-f]{64}$"
2544
+ },
2545
+ "replicated": {
2546
+ "type": "boolean",
2547
+ "const": true
2548
+ }
2549
+ },
2550
+ "required": [
2551
+ "jobId",
2552
+ "attempt",
2553
+ "resultHash",
2554
+ "replicated"
2555
+ ],
2556
+ "additionalProperties": false
2557
+ }
2558
+ };