@rateloop/contracts 0.1.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.
Files changed (115) hide show
  1. package/README.md +27 -0
  2. package/dist/cjs/abis/AdvisoryVoteRecorderAbi.js +935 -0
  3. package/dist/cjs/abis/CategoryRegistryAbi.js +518 -0
  4. package/dist/cjs/abis/ClusterPayoutOracleAbi.js +2580 -0
  5. package/dist/cjs/abis/ConfidentialityEscrowAbi.js +1619 -0
  6. package/dist/cjs/abis/ContentRegistryAbi.js +2606 -0
  7. package/dist/cjs/abis/FeedbackBonusEscrowAbi.js +1496 -0
  8. package/dist/cjs/abis/FeedbackRegistryAbi.js +642 -0
  9. package/dist/cjs/abis/FrontendRegistryAbi.js +1406 -0
  10. package/dist/cjs/abis/LaunchDistributionPoolAbi.js +2936 -0
  11. package/dist/cjs/abis/LoopReputationAbi.js +1365 -0
  12. package/dist/cjs/abis/ProfileRegistryAbi.js +708 -0
  13. package/dist/cjs/abis/ProtocolConfigAbi.js +2075 -0
  14. package/dist/cjs/abis/QuestionRewardPoolEscrowAbi.js +2910 -0
  15. package/dist/cjs/abis/RateLoopGovernorAbi.js +2018 -0
  16. package/dist/cjs/abis/RaterRegistryAbi.js +3062 -0
  17. package/dist/cjs/abis/RaterRegistryConfidentialityAbi.js +117 -0
  18. package/dist/cjs/abis/RoundRewardDistributorAbi.js +1523 -0
  19. package/dist/cjs/abis/RoundVotingEngineAbi.js +2295 -0
  20. package/dist/cjs/abis/TimelockControllerAbi.js +1001 -0
  21. package/dist/cjs/abis/X402QuestionSubmitterAbi.js +2137 -0
  22. package/dist/cjs/abis/index.js +43 -0
  23. package/dist/cjs/deployedContracts.js +168595 -0
  24. package/dist/cjs/deployments.js +48 -0
  25. package/dist/cjs/index.js +27 -0
  26. package/dist/cjs/package.json +3 -0
  27. package/dist/cjs/protocol.js +99 -0
  28. package/dist/cjs/types.js +2 -0
  29. package/dist/cjs/voting.js +336 -0
  30. package/dist/cjs/votingCore.js +301 -0
  31. package/dist/esm/abis/AdvisoryVoteRecorderAbi.d.ts +727 -0
  32. package/dist/esm/abis/AdvisoryVoteRecorderAbi.d.ts.map +1 -0
  33. package/dist/esm/abis/AdvisoryVoteRecorderAbi.js +932 -0
  34. package/dist/esm/abis/CategoryRegistryAbi.d.ts +396 -0
  35. package/dist/esm/abis/CategoryRegistryAbi.d.ts.map +1 -0
  36. package/dist/esm/abis/CategoryRegistryAbi.js +515 -0
  37. package/dist/esm/abis/ClusterPayoutOracleAbi.d.ts +2005 -0
  38. package/dist/esm/abis/ClusterPayoutOracleAbi.d.ts.map +1 -0
  39. package/dist/esm/abis/ClusterPayoutOracleAbi.js +2577 -0
  40. package/dist/esm/abis/ConfidentialityEscrowAbi.d.ts +1255 -0
  41. package/dist/esm/abis/ConfidentialityEscrowAbi.d.ts.map +1 -0
  42. package/dist/esm/abis/ConfidentialityEscrowAbi.js +1616 -0
  43. package/dist/esm/abis/ContentRegistryAbi.d.ts +2036 -0
  44. package/dist/esm/abis/ContentRegistryAbi.d.ts.map +1 -0
  45. package/dist/esm/abis/ContentRegistryAbi.js +2603 -0
  46. package/dist/esm/abis/FeedbackBonusEscrowAbi.d.ts +1163 -0
  47. package/dist/esm/abis/FeedbackBonusEscrowAbi.d.ts.map +1 -0
  48. package/dist/esm/abis/FeedbackBonusEscrowAbi.js +1493 -0
  49. package/dist/esm/abis/FeedbackRegistryAbi.d.ts +498 -0
  50. package/dist/esm/abis/FeedbackRegistryAbi.d.ts.map +1 -0
  51. package/dist/esm/abis/FeedbackRegistryAbi.js +639 -0
  52. package/dist/esm/abis/FrontendRegistryAbi.d.ts +1084 -0
  53. package/dist/esm/abis/FrontendRegistryAbi.d.ts.map +1 -0
  54. package/dist/esm/abis/FrontendRegistryAbi.js +1403 -0
  55. package/dist/esm/abis/LaunchDistributionPoolAbi.d.ts +2273 -0
  56. package/dist/esm/abis/LaunchDistributionPoolAbi.d.ts.map +1 -0
  57. package/dist/esm/abis/LaunchDistributionPoolAbi.js +2933 -0
  58. package/dist/esm/abis/LoopReputationAbi.d.ts +1042 -0
  59. package/dist/esm/abis/LoopReputationAbi.d.ts.map +1 -0
  60. package/dist/esm/abis/LoopReputationAbi.js +1362 -0
  61. package/dist/esm/abis/ProfileRegistryAbi.d.ts +545 -0
  62. package/dist/esm/abis/ProfileRegistryAbi.d.ts.map +1 -0
  63. package/dist/esm/abis/ProfileRegistryAbi.js +705 -0
  64. package/dist/esm/abis/ProtocolConfigAbi.d.ts +1617 -0
  65. package/dist/esm/abis/ProtocolConfigAbi.d.ts.map +1 -0
  66. package/dist/esm/abis/ProtocolConfigAbi.js +2072 -0
  67. package/dist/esm/abis/QuestionRewardPoolEscrowAbi.d.ts +2287 -0
  68. package/dist/esm/abis/QuestionRewardPoolEscrowAbi.d.ts.map +1 -0
  69. package/dist/esm/abis/QuestionRewardPoolEscrowAbi.js +2907 -0
  70. package/dist/esm/abis/RateLoopGovernorAbi.d.ts +1544 -0
  71. package/dist/esm/abis/RateLoopGovernorAbi.d.ts.map +1 -0
  72. package/dist/esm/abis/RateLoopGovernorAbi.js +2015 -0
  73. package/dist/esm/abis/RaterRegistryAbi.d.ts +2390 -0
  74. package/dist/esm/abis/RaterRegistryAbi.d.ts.map +1 -0
  75. package/dist/esm/abis/RaterRegistryAbi.js +3059 -0
  76. package/dist/esm/abis/RaterRegistryConfidentialityAbi.d.ts +132 -0
  77. package/dist/esm/abis/RaterRegistryConfidentialityAbi.d.ts.map +1 -0
  78. package/dist/esm/abis/RaterRegistryConfidentialityAbi.js +114 -0
  79. package/dist/esm/abis/RoundRewardDistributorAbi.d.ts +1182 -0
  80. package/dist/esm/abis/RoundRewardDistributorAbi.d.ts.map +1 -0
  81. package/dist/esm/abis/RoundRewardDistributorAbi.js +1520 -0
  82. package/dist/esm/abis/RoundVotingEngineAbi.d.ts +1797 -0
  83. package/dist/esm/abis/RoundVotingEngineAbi.d.ts.map +1 -0
  84. package/dist/esm/abis/RoundVotingEngineAbi.js +2292 -0
  85. package/dist/esm/abis/TimelockControllerAbi.d.ts +771 -0
  86. package/dist/esm/abis/TimelockControllerAbi.d.ts.map +1 -0
  87. package/dist/esm/abis/TimelockControllerAbi.js +998 -0
  88. package/dist/esm/abis/X402QuestionSubmitterAbi.d.ts +1663 -0
  89. package/dist/esm/abis/X402QuestionSubmitterAbi.d.ts.map +1 -0
  90. package/dist/esm/abis/X402QuestionSubmitterAbi.js +2134 -0
  91. package/dist/esm/abis/index.d.ts +21 -0
  92. package/dist/esm/abis/index.d.ts.map +1 -0
  93. package/dist/esm/abis/index.js +20 -0
  94. package/dist/esm/deployedContracts.d.ts +8 -0
  95. package/dist/esm/deployedContracts.d.ts.map +1 -0
  96. package/dist/esm/deployedContracts.js +168593 -0
  97. package/dist/esm/deployments.d.ts +6 -0
  98. package/dist/esm/deployments.d.ts.map +1 -0
  99. package/dist/esm/deployments.js +39 -0
  100. package/dist/esm/index.d.ts +7 -0
  101. package/dist/esm/index.d.ts.map +1 -0
  102. package/dist/esm/index.js +6 -0
  103. package/dist/esm/protocol.d.ts +64 -0
  104. package/dist/esm/protocol.d.ts.map +1 -0
  105. package/dist/esm/protocol.js +94 -0
  106. package/dist/esm/types.d.ts +16 -0
  107. package/dist/esm/types.d.ts.map +1 -0
  108. package/dist/esm/types.js +1 -0
  109. package/dist/esm/voting.d.ts +75 -0
  110. package/dist/esm/voting.d.ts.map +1 -0
  111. package/dist/esm/voting.js +279 -0
  112. package/dist/esm/votingCore.d.ts +55 -0
  113. package/dist/esm/votingCore.d.ts.map +1 -0
  114. package/dist/esm/votingCore.js +286 -0
  115. package/package.json +122 -0
@@ -0,0 +1,2134 @@
1
+ export const X402QuestionSubmitterAbi = [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "_registry",
7
+ "type": "address",
8
+ "internalType": "contract ContentRegistry"
9
+ },
10
+ {
11
+ "name": "_usdcToken",
12
+ "type": "address",
13
+ "internalType": "address"
14
+ },
15
+ {
16
+ "name": "_questionRewardPoolEscrow",
17
+ "type": "address",
18
+ "internalType": "address"
19
+ },
20
+ {
21
+ "name": "_feedbackBonusEscrow",
22
+ "type": "address",
23
+ "internalType": "address"
24
+ },
25
+ {
26
+ "name": "initialOwner",
27
+ "type": "address",
28
+ "internalType": "address"
29
+ }
30
+ ],
31
+ "stateMutability": "nonpayable"
32
+ },
33
+ {
34
+ "type": "function",
35
+ "name": "computeX402QuestionOneShotPaymentNonce",
36
+ "inputs": [
37
+ {
38
+ "name": "metadata",
39
+ "type": "tuple",
40
+ "internalType": "struct ContentRegistry.SubmissionMetadata",
41
+ "components": [
42
+ {
43
+ "name": "url",
44
+ "type": "string",
45
+ "internalType": "string"
46
+ },
47
+ {
48
+ "name": "title",
49
+ "type": "string",
50
+ "internalType": "string"
51
+ },
52
+ {
53
+ "name": "tags",
54
+ "type": "string",
55
+ "internalType": "string"
56
+ },
57
+ {
58
+ "name": "categoryId",
59
+ "type": "uint256",
60
+ "internalType": "uint256"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "name": "imageUrls",
66
+ "type": "string[]",
67
+ "internalType": "string[]"
68
+ },
69
+ {
70
+ "name": "videoUrl",
71
+ "type": "string",
72
+ "internalType": "string"
73
+ },
74
+ {
75
+ "name": "details",
76
+ "type": "tuple",
77
+ "internalType": "struct ContentRegistry.SubmissionDetails",
78
+ "components": [
79
+ {
80
+ "name": "detailsUrl",
81
+ "type": "string",
82
+ "internalType": "string"
83
+ },
84
+ {
85
+ "name": "detailsHash",
86
+ "type": "bytes32",
87
+ "internalType": "bytes32"
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "name": "salt",
93
+ "type": "bytes32",
94
+ "internalType": "bytes32"
95
+ },
96
+ {
97
+ "name": "rewardTerms",
98
+ "type": "tuple",
99
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
100
+ "components": [
101
+ {
102
+ "name": "asset",
103
+ "type": "uint8",
104
+ "internalType": "uint8"
105
+ },
106
+ {
107
+ "name": "amount",
108
+ "type": "uint256",
109
+ "internalType": "uint256"
110
+ },
111
+ {
112
+ "name": "requiredVoters",
113
+ "type": "uint256",
114
+ "internalType": "uint256"
115
+ },
116
+ {
117
+ "name": "requiredSettledRounds",
118
+ "type": "uint256",
119
+ "internalType": "uint256"
120
+ },
121
+ {
122
+ "name": "bountyStartBy",
123
+ "type": "uint256",
124
+ "internalType": "uint256"
125
+ },
126
+ {
127
+ "name": "bountyWindowSeconds",
128
+ "type": "uint256",
129
+ "internalType": "uint256"
130
+ },
131
+ {
132
+ "name": "feedbackWindowSeconds",
133
+ "type": "uint256",
134
+ "internalType": "uint256"
135
+ },
136
+ {
137
+ "name": "bountyEligibility",
138
+ "type": "uint8",
139
+ "internalType": "uint8"
140
+ }
141
+ ]
142
+ },
143
+ {
144
+ "name": "roundConfig",
145
+ "type": "tuple",
146
+ "internalType": "struct RoundLib.RoundConfig",
147
+ "components": [
148
+ {
149
+ "name": "epochDuration",
150
+ "type": "uint32",
151
+ "internalType": "uint32"
152
+ },
153
+ {
154
+ "name": "maxDuration",
155
+ "type": "uint32",
156
+ "internalType": "uint32"
157
+ },
158
+ {
159
+ "name": "minVoters",
160
+ "type": "uint16",
161
+ "internalType": "uint16"
162
+ },
163
+ {
164
+ "name": "maxVoters",
165
+ "type": "uint16",
166
+ "internalType": "uint16"
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ "name": "spec",
172
+ "type": "tuple",
173
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
174
+ "components": [
175
+ {
176
+ "name": "questionMetadataHash",
177
+ "type": "bytes32",
178
+ "internalType": "bytes32"
179
+ },
180
+ {
181
+ "name": "resultSpecHash",
182
+ "type": "bytes32",
183
+ "internalType": "bytes32"
184
+ }
185
+ ]
186
+ },
187
+ {
188
+ "name": "feedbackBonusTerms",
189
+ "type": "tuple",
190
+ "internalType": "struct X402QuestionSubmitter.FeedbackBonusTerms",
191
+ "components": [
192
+ {
193
+ "name": "amount",
194
+ "type": "uint256",
195
+ "internalType": "uint256"
196
+ },
197
+ {
198
+ "name": "feedbackClosesAt",
199
+ "type": "uint256",
200
+ "internalType": "uint256"
201
+ },
202
+ {
203
+ "name": "awarder",
204
+ "type": "address",
205
+ "internalType": "address"
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "name": "payer",
211
+ "type": "address",
212
+ "internalType": "address"
213
+ },
214
+ {
215
+ "name": "payee",
216
+ "type": "address",
217
+ "internalType": "address"
218
+ },
219
+ {
220
+ "name": "value",
221
+ "type": "uint256",
222
+ "internalType": "uint256"
223
+ },
224
+ {
225
+ "name": "validAfter",
226
+ "type": "uint256",
227
+ "internalType": "uint256"
228
+ },
229
+ {
230
+ "name": "validBefore",
231
+ "type": "uint256",
232
+ "internalType": "uint256"
233
+ }
234
+ ],
235
+ "outputs": [
236
+ {
237
+ "name": "",
238
+ "type": "bytes32",
239
+ "internalType": "bytes32"
240
+ }
241
+ ],
242
+ "stateMutability": "view"
243
+ },
244
+ {
245
+ "type": "function",
246
+ "name": "computeX402QuestionOneShotPaymentNonce",
247
+ "inputs": [
248
+ {
249
+ "name": "metadata",
250
+ "type": "tuple",
251
+ "internalType": "struct ContentRegistry.SubmissionMetadata",
252
+ "components": [
253
+ {
254
+ "name": "url",
255
+ "type": "string",
256
+ "internalType": "string"
257
+ },
258
+ {
259
+ "name": "title",
260
+ "type": "string",
261
+ "internalType": "string"
262
+ },
263
+ {
264
+ "name": "tags",
265
+ "type": "string",
266
+ "internalType": "string"
267
+ },
268
+ {
269
+ "name": "categoryId",
270
+ "type": "uint256",
271
+ "internalType": "uint256"
272
+ }
273
+ ]
274
+ },
275
+ {
276
+ "name": "imageUrls",
277
+ "type": "string[]",
278
+ "internalType": "string[]"
279
+ },
280
+ {
281
+ "name": "videoUrl",
282
+ "type": "string",
283
+ "internalType": "string"
284
+ },
285
+ {
286
+ "name": "details",
287
+ "type": "tuple",
288
+ "internalType": "struct ContentRegistry.SubmissionDetails",
289
+ "components": [
290
+ {
291
+ "name": "detailsUrl",
292
+ "type": "string",
293
+ "internalType": "string"
294
+ },
295
+ {
296
+ "name": "detailsHash",
297
+ "type": "bytes32",
298
+ "internalType": "bytes32"
299
+ }
300
+ ]
301
+ },
302
+ {
303
+ "name": "salt",
304
+ "type": "bytes32",
305
+ "internalType": "bytes32"
306
+ },
307
+ {
308
+ "name": "rewardTerms",
309
+ "type": "tuple",
310
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
311
+ "components": [
312
+ {
313
+ "name": "asset",
314
+ "type": "uint8",
315
+ "internalType": "uint8"
316
+ },
317
+ {
318
+ "name": "amount",
319
+ "type": "uint256",
320
+ "internalType": "uint256"
321
+ },
322
+ {
323
+ "name": "requiredVoters",
324
+ "type": "uint256",
325
+ "internalType": "uint256"
326
+ },
327
+ {
328
+ "name": "requiredSettledRounds",
329
+ "type": "uint256",
330
+ "internalType": "uint256"
331
+ },
332
+ {
333
+ "name": "bountyStartBy",
334
+ "type": "uint256",
335
+ "internalType": "uint256"
336
+ },
337
+ {
338
+ "name": "bountyWindowSeconds",
339
+ "type": "uint256",
340
+ "internalType": "uint256"
341
+ },
342
+ {
343
+ "name": "feedbackWindowSeconds",
344
+ "type": "uint256",
345
+ "internalType": "uint256"
346
+ },
347
+ {
348
+ "name": "bountyEligibility",
349
+ "type": "uint8",
350
+ "internalType": "uint8"
351
+ }
352
+ ]
353
+ },
354
+ {
355
+ "name": "roundConfig",
356
+ "type": "tuple",
357
+ "internalType": "struct RoundLib.RoundConfig",
358
+ "components": [
359
+ {
360
+ "name": "epochDuration",
361
+ "type": "uint32",
362
+ "internalType": "uint32"
363
+ },
364
+ {
365
+ "name": "maxDuration",
366
+ "type": "uint32",
367
+ "internalType": "uint32"
368
+ },
369
+ {
370
+ "name": "minVoters",
371
+ "type": "uint16",
372
+ "internalType": "uint16"
373
+ },
374
+ {
375
+ "name": "maxVoters",
376
+ "type": "uint16",
377
+ "internalType": "uint16"
378
+ }
379
+ ]
380
+ },
381
+ {
382
+ "name": "spec",
383
+ "type": "tuple",
384
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
385
+ "components": [
386
+ {
387
+ "name": "questionMetadataHash",
388
+ "type": "bytes32",
389
+ "internalType": "bytes32"
390
+ },
391
+ {
392
+ "name": "resultSpecHash",
393
+ "type": "bytes32",
394
+ "internalType": "bytes32"
395
+ }
396
+ ]
397
+ },
398
+ {
399
+ "name": "confidentiality",
400
+ "type": "tuple",
401
+ "internalType": "struct IConfidentialityEscrow.ConfidentialityConfig",
402
+ "components": [
403
+ {
404
+ "name": "gated",
405
+ "type": "bool",
406
+ "internalType": "bool"
407
+ },
408
+ {
409
+ "name": "bondAsset",
410
+ "type": "uint8",
411
+ "internalType": "uint8"
412
+ },
413
+ {
414
+ "name": "bondAmount",
415
+ "type": "uint64",
416
+ "internalType": "uint64"
417
+ },
418
+ {
419
+ "name": "flags",
420
+ "type": "uint8",
421
+ "internalType": "uint8"
422
+ }
423
+ ]
424
+ },
425
+ {
426
+ "name": "feedbackBonusTerms",
427
+ "type": "tuple",
428
+ "internalType": "struct X402QuestionSubmitter.FeedbackBonusTerms",
429
+ "components": [
430
+ {
431
+ "name": "amount",
432
+ "type": "uint256",
433
+ "internalType": "uint256"
434
+ },
435
+ {
436
+ "name": "feedbackClosesAt",
437
+ "type": "uint256",
438
+ "internalType": "uint256"
439
+ },
440
+ {
441
+ "name": "awarder",
442
+ "type": "address",
443
+ "internalType": "address"
444
+ }
445
+ ]
446
+ },
447
+ {
448
+ "name": "payer",
449
+ "type": "address",
450
+ "internalType": "address"
451
+ },
452
+ {
453
+ "name": "payee",
454
+ "type": "address",
455
+ "internalType": "address"
456
+ },
457
+ {
458
+ "name": "value",
459
+ "type": "uint256",
460
+ "internalType": "uint256"
461
+ },
462
+ {
463
+ "name": "validAfter",
464
+ "type": "uint256",
465
+ "internalType": "uint256"
466
+ },
467
+ {
468
+ "name": "validBefore",
469
+ "type": "uint256",
470
+ "internalType": "uint256"
471
+ }
472
+ ],
473
+ "outputs": [
474
+ {
475
+ "name": "",
476
+ "type": "bytes32",
477
+ "internalType": "bytes32"
478
+ }
479
+ ],
480
+ "stateMutability": "view"
481
+ },
482
+ {
483
+ "type": "function",
484
+ "name": "computeX402QuestionPaymentNonce",
485
+ "inputs": [
486
+ {
487
+ "name": "metadata",
488
+ "type": "tuple",
489
+ "internalType": "struct ContentRegistry.SubmissionMetadata",
490
+ "components": [
491
+ {
492
+ "name": "url",
493
+ "type": "string",
494
+ "internalType": "string"
495
+ },
496
+ {
497
+ "name": "title",
498
+ "type": "string",
499
+ "internalType": "string"
500
+ },
501
+ {
502
+ "name": "tags",
503
+ "type": "string",
504
+ "internalType": "string"
505
+ },
506
+ {
507
+ "name": "categoryId",
508
+ "type": "uint256",
509
+ "internalType": "uint256"
510
+ }
511
+ ]
512
+ },
513
+ {
514
+ "name": "imageUrls",
515
+ "type": "string[]",
516
+ "internalType": "string[]"
517
+ },
518
+ {
519
+ "name": "videoUrl",
520
+ "type": "string",
521
+ "internalType": "string"
522
+ },
523
+ {
524
+ "name": "details",
525
+ "type": "tuple",
526
+ "internalType": "struct ContentRegistry.SubmissionDetails",
527
+ "components": [
528
+ {
529
+ "name": "detailsUrl",
530
+ "type": "string",
531
+ "internalType": "string"
532
+ },
533
+ {
534
+ "name": "detailsHash",
535
+ "type": "bytes32",
536
+ "internalType": "bytes32"
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "name": "salt",
542
+ "type": "bytes32",
543
+ "internalType": "bytes32"
544
+ },
545
+ {
546
+ "name": "rewardTerms",
547
+ "type": "tuple",
548
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
549
+ "components": [
550
+ {
551
+ "name": "asset",
552
+ "type": "uint8",
553
+ "internalType": "uint8"
554
+ },
555
+ {
556
+ "name": "amount",
557
+ "type": "uint256",
558
+ "internalType": "uint256"
559
+ },
560
+ {
561
+ "name": "requiredVoters",
562
+ "type": "uint256",
563
+ "internalType": "uint256"
564
+ },
565
+ {
566
+ "name": "requiredSettledRounds",
567
+ "type": "uint256",
568
+ "internalType": "uint256"
569
+ },
570
+ {
571
+ "name": "bountyStartBy",
572
+ "type": "uint256",
573
+ "internalType": "uint256"
574
+ },
575
+ {
576
+ "name": "bountyWindowSeconds",
577
+ "type": "uint256",
578
+ "internalType": "uint256"
579
+ },
580
+ {
581
+ "name": "feedbackWindowSeconds",
582
+ "type": "uint256",
583
+ "internalType": "uint256"
584
+ },
585
+ {
586
+ "name": "bountyEligibility",
587
+ "type": "uint8",
588
+ "internalType": "uint8"
589
+ }
590
+ ]
591
+ },
592
+ {
593
+ "name": "roundConfig",
594
+ "type": "tuple",
595
+ "internalType": "struct RoundLib.RoundConfig",
596
+ "components": [
597
+ {
598
+ "name": "epochDuration",
599
+ "type": "uint32",
600
+ "internalType": "uint32"
601
+ },
602
+ {
603
+ "name": "maxDuration",
604
+ "type": "uint32",
605
+ "internalType": "uint32"
606
+ },
607
+ {
608
+ "name": "minVoters",
609
+ "type": "uint16",
610
+ "internalType": "uint16"
611
+ },
612
+ {
613
+ "name": "maxVoters",
614
+ "type": "uint16",
615
+ "internalType": "uint16"
616
+ }
617
+ ]
618
+ },
619
+ {
620
+ "name": "spec",
621
+ "type": "tuple",
622
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
623
+ "components": [
624
+ {
625
+ "name": "questionMetadataHash",
626
+ "type": "bytes32",
627
+ "internalType": "bytes32"
628
+ },
629
+ {
630
+ "name": "resultSpecHash",
631
+ "type": "bytes32",
632
+ "internalType": "bytes32"
633
+ }
634
+ ]
635
+ },
636
+ {
637
+ "name": "confidentiality",
638
+ "type": "tuple",
639
+ "internalType": "struct IConfidentialityEscrow.ConfidentialityConfig",
640
+ "components": [
641
+ {
642
+ "name": "gated",
643
+ "type": "bool",
644
+ "internalType": "bool"
645
+ },
646
+ {
647
+ "name": "bondAsset",
648
+ "type": "uint8",
649
+ "internalType": "uint8"
650
+ },
651
+ {
652
+ "name": "bondAmount",
653
+ "type": "uint64",
654
+ "internalType": "uint64"
655
+ },
656
+ {
657
+ "name": "flags",
658
+ "type": "uint8",
659
+ "internalType": "uint8"
660
+ }
661
+ ]
662
+ },
663
+ {
664
+ "name": "payer",
665
+ "type": "address",
666
+ "internalType": "address"
667
+ },
668
+ {
669
+ "name": "payee",
670
+ "type": "address",
671
+ "internalType": "address"
672
+ },
673
+ {
674
+ "name": "value",
675
+ "type": "uint256",
676
+ "internalType": "uint256"
677
+ },
678
+ {
679
+ "name": "validAfter",
680
+ "type": "uint256",
681
+ "internalType": "uint256"
682
+ },
683
+ {
684
+ "name": "validBefore",
685
+ "type": "uint256",
686
+ "internalType": "uint256"
687
+ }
688
+ ],
689
+ "outputs": [
690
+ {
691
+ "name": "",
692
+ "type": "bytes32",
693
+ "internalType": "bytes32"
694
+ }
695
+ ],
696
+ "stateMutability": "view"
697
+ },
698
+ {
699
+ "type": "function",
700
+ "name": "computeX402QuestionPaymentNonce",
701
+ "inputs": [
702
+ {
703
+ "name": "metadata",
704
+ "type": "tuple",
705
+ "internalType": "struct ContentRegistry.SubmissionMetadata",
706
+ "components": [
707
+ {
708
+ "name": "url",
709
+ "type": "string",
710
+ "internalType": "string"
711
+ },
712
+ {
713
+ "name": "title",
714
+ "type": "string",
715
+ "internalType": "string"
716
+ },
717
+ {
718
+ "name": "tags",
719
+ "type": "string",
720
+ "internalType": "string"
721
+ },
722
+ {
723
+ "name": "categoryId",
724
+ "type": "uint256",
725
+ "internalType": "uint256"
726
+ }
727
+ ]
728
+ },
729
+ {
730
+ "name": "imageUrls",
731
+ "type": "string[]",
732
+ "internalType": "string[]"
733
+ },
734
+ {
735
+ "name": "videoUrl",
736
+ "type": "string",
737
+ "internalType": "string"
738
+ },
739
+ {
740
+ "name": "details",
741
+ "type": "tuple",
742
+ "internalType": "struct ContentRegistry.SubmissionDetails",
743
+ "components": [
744
+ {
745
+ "name": "detailsUrl",
746
+ "type": "string",
747
+ "internalType": "string"
748
+ },
749
+ {
750
+ "name": "detailsHash",
751
+ "type": "bytes32",
752
+ "internalType": "bytes32"
753
+ }
754
+ ]
755
+ },
756
+ {
757
+ "name": "salt",
758
+ "type": "bytes32",
759
+ "internalType": "bytes32"
760
+ },
761
+ {
762
+ "name": "rewardTerms",
763
+ "type": "tuple",
764
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
765
+ "components": [
766
+ {
767
+ "name": "asset",
768
+ "type": "uint8",
769
+ "internalType": "uint8"
770
+ },
771
+ {
772
+ "name": "amount",
773
+ "type": "uint256",
774
+ "internalType": "uint256"
775
+ },
776
+ {
777
+ "name": "requiredVoters",
778
+ "type": "uint256",
779
+ "internalType": "uint256"
780
+ },
781
+ {
782
+ "name": "requiredSettledRounds",
783
+ "type": "uint256",
784
+ "internalType": "uint256"
785
+ },
786
+ {
787
+ "name": "bountyStartBy",
788
+ "type": "uint256",
789
+ "internalType": "uint256"
790
+ },
791
+ {
792
+ "name": "bountyWindowSeconds",
793
+ "type": "uint256",
794
+ "internalType": "uint256"
795
+ },
796
+ {
797
+ "name": "feedbackWindowSeconds",
798
+ "type": "uint256",
799
+ "internalType": "uint256"
800
+ },
801
+ {
802
+ "name": "bountyEligibility",
803
+ "type": "uint8",
804
+ "internalType": "uint8"
805
+ }
806
+ ]
807
+ },
808
+ {
809
+ "name": "roundConfig",
810
+ "type": "tuple",
811
+ "internalType": "struct RoundLib.RoundConfig",
812
+ "components": [
813
+ {
814
+ "name": "epochDuration",
815
+ "type": "uint32",
816
+ "internalType": "uint32"
817
+ },
818
+ {
819
+ "name": "maxDuration",
820
+ "type": "uint32",
821
+ "internalType": "uint32"
822
+ },
823
+ {
824
+ "name": "minVoters",
825
+ "type": "uint16",
826
+ "internalType": "uint16"
827
+ },
828
+ {
829
+ "name": "maxVoters",
830
+ "type": "uint16",
831
+ "internalType": "uint16"
832
+ }
833
+ ]
834
+ },
835
+ {
836
+ "name": "spec",
837
+ "type": "tuple",
838
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
839
+ "components": [
840
+ {
841
+ "name": "questionMetadataHash",
842
+ "type": "bytes32",
843
+ "internalType": "bytes32"
844
+ },
845
+ {
846
+ "name": "resultSpecHash",
847
+ "type": "bytes32",
848
+ "internalType": "bytes32"
849
+ }
850
+ ]
851
+ },
852
+ {
853
+ "name": "payer",
854
+ "type": "address",
855
+ "internalType": "address"
856
+ },
857
+ {
858
+ "name": "payee",
859
+ "type": "address",
860
+ "internalType": "address"
861
+ },
862
+ {
863
+ "name": "value",
864
+ "type": "uint256",
865
+ "internalType": "uint256"
866
+ },
867
+ {
868
+ "name": "validAfter",
869
+ "type": "uint256",
870
+ "internalType": "uint256"
871
+ },
872
+ {
873
+ "name": "validBefore",
874
+ "type": "uint256",
875
+ "internalType": "uint256"
876
+ }
877
+ ],
878
+ "outputs": [
879
+ {
880
+ "name": "",
881
+ "type": "bytes32",
882
+ "internalType": "bytes32"
883
+ }
884
+ ],
885
+ "stateMutability": "view"
886
+ },
887
+ {
888
+ "type": "function",
889
+ "name": "feedbackBonusEscrow",
890
+ "inputs": [],
891
+ "outputs": [
892
+ {
893
+ "name": "",
894
+ "type": "address",
895
+ "internalType": "address"
896
+ }
897
+ ],
898
+ "stateMutability": "view"
899
+ },
900
+ {
901
+ "type": "function",
902
+ "name": "owner",
903
+ "inputs": [],
904
+ "outputs": [
905
+ {
906
+ "name": "",
907
+ "type": "address",
908
+ "internalType": "address"
909
+ }
910
+ ],
911
+ "stateMutability": "view"
912
+ },
913
+ {
914
+ "type": "function",
915
+ "name": "questionRewardPoolEscrow",
916
+ "inputs": [],
917
+ "outputs": [
918
+ {
919
+ "name": "",
920
+ "type": "address",
921
+ "internalType": "address"
922
+ }
923
+ ],
924
+ "stateMutability": "view"
925
+ },
926
+ {
927
+ "type": "function",
928
+ "name": "registry",
929
+ "inputs": [],
930
+ "outputs": [
931
+ {
932
+ "name": "",
933
+ "type": "address",
934
+ "internalType": "contract ContentRegistry"
935
+ }
936
+ ],
937
+ "stateMutability": "view"
938
+ },
939
+ {
940
+ "type": "function",
941
+ "name": "renounceOwnership",
942
+ "inputs": [],
943
+ "outputs": [],
944
+ "stateMutability": "nonpayable"
945
+ },
946
+ {
947
+ "type": "function",
948
+ "name": "rescueToken",
949
+ "inputs": [
950
+ {
951
+ "name": "token",
952
+ "type": "address",
953
+ "internalType": "contract IERC20"
954
+ },
955
+ {
956
+ "name": "to",
957
+ "type": "address",
958
+ "internalType": "address"
959
+ },
960
+ {
961
+ "name": "amount",
962
+ "type": "uint256",
963
+ "internalType": "uint256"
964
+ }
965
+ ],
966
+ "outputs": [],
967
+ "stateMutability": "nonpayable"
968
+ },
969
+ {
970
+ "type": "function",
971
+ "name": "setFeedbackBonusEscrow",
972
+ "inputs": [
973
+ {
974
+ "name": "newEscrow",
975
+ "type": "address",
976
+ "internalType": "address"
977
+ }
978
+ ],
979
+ "outputs": [],
980
+ "stateMutability": "nonpayable"
981
+ },
982
+ {
983
+ "type": "function",
984
+ "name": "setQuestionRewardPoolEscrow",
985
+ "inputs": [
986
+ {
987
+ "name": "newEscrow",
988
+ "type": "address",
989
+ "internalType": "address"
990
+ }
991
+ ],
992
+ "outputs": [],
993
+ "stateMutability": "nonpayable"
994
+ },
995
+ {
996
+ "type": "function",
997
+ "name": "submitQuestionWithX402OneShotPayment",
998
+ "inputs": [
999
+ {
1000
+ "name": "contextUrl",
1001
+ "type": "string",
1002
+ "internalType": "string"
1003
+ },
1004
+ {
1005
+ "name": "imageUrls",
1006
+ "type": "string[]",
1007
+ "internalType": "string[]"
1008
+ },
1009
+ {
1010
+ "name": "videoUrl",
1011
+ "type": "string",
1012
+ "internalType": "string"
1013
+ },
1014
+ {
1015
+ "name": "title",
1016
+ "type": "string",
1017
+ "internalType": "string"
1018
+ },
1019
+ {
1020
+ "name": "tags",
1021
+ "type": "string",
1022
+ "internalType": "string"
1023
+ },
1024
+ {
1025
+ "name": "categoryId",
1026
+ "type": "uint256",
1027
+ "internalType": "uint256"
1028
+ },
1029
+ {
1030
+ "name": "details",
1031
+ "type": "tuple",
1032
+ "internalType": "struct ContentRegistry.SubmissionDetails",
1033
+ "components": [
1034
+ {
1035
+ "name": "detailsUrl",
1036
+ "type": "string",
1037
+ "internalType": "string"
1038
+ },
1039
+ {
1040
+ "name": "detailsHash",
1041
+ "type": "bytes32",
1042
+ "internalType": "bytes32"
1043
+ }
1044
+ ]
1045
+ },
1046
+ {
1047
+ "name": "salt",
1048
+ "type": "bytes32",
1049
+ "internalType": "bytes32"
1050
+ },
1051
+ {
1052
+ "name": "rewardTerms",
1053
+ "type": "tuple",
1054
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
1055
+ "components": [
1056
+ {
1057
+ "name": "asset",
1058
+ "type": "uint8",
1059
+ "internalType": "uint8"
1060
+ },
1061
+ {
1062
+ "name": "amount",
1063
+ "type": "uint256",
1064
+ "internalType": "uint256"
1065
+ },
1066
+ {
1067
+ "name": "requiredVoters",
1068
+ "type": "uint256",
1069
+ "internalType": "uint256"
1070
+ },
1071
+ {
1072
+ "name": "requiredSettledRounds",
1073
+ "type": "uint256",
1074
+ "internalType": "uint256"
1075
+ },
1076
+ {
1077
+ "name": "bountyStartBy",
1078
+ "type": "uint256",
1079
+ "internalType": "uint256"
1080
+ },
1081
+ {
1082
+ "name": "bountyWindowSeconds",
1083
+ "type": "uint256",
1084
+ "internalType": "uint256"
1085
+ },
1086
+ {
1087
+ "name": "feedbackWindowSeconds",
1088
+ "type": "uint256",
1089
+ "internalType": "uint256"
1090
+ },
1091
+ {
1092
+ "name": "bountyEligibility",
1093
+ "type": "uint8",
1094
+ "internalType": "uint8"
1095
+ }
1096
+ ]
1097
+ },
1098
+ {
1099
+ "name": "roundConfig",
1100
+ "type": "tuple",
1101
+ "internalType": "struct RoundLib.RoundConfig",
1102
+ "components": [
1103
+ {
1104
+ "name": "epochDuration",
1105
+ "type": "uint32",
1106
+ "internalType": "uint32"
1107
+ },
1108
+ {
1109
+ "name": "maxDuration",
1110
+ "type": "uint32",
1111
+ "internalType": "uint32"
1112
+ },
1113
+ {
1114
+ "name": "minVoters",
1115
+ "type": "uint16",
1116
+ "internalType": "uint16"
1117
+ },
1118
+ {
1119
+ "name": "maxVoters",
1120
+ "type": "uint16",
1121
+ "internalType": "uint16"
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "name": "spec",
1127
+ "type": "tuple",
1128
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
1129
+ "components": [
1130
+ {
1131
+ "name": "questionMetadataHash",
1132
+ "type": "bytes32",
1133
+ "internalType": "bytes32"
1134
+ },
1135
+ {
1136
+ "name": "resultSpecHash",
1137
+ "type": "bytes32",
1138
+ "internalType": "bytes32"
1139
+ }
1140
+ ]
1141
+ },
1142
+ {
1143
+ "name": "feedbackBonusTerms",
1144
+ "type": "tuple",
1145
+ "internalType": "struct X402QuestionSubmitter.FeedbackBonusTerms",
1146
+ "components": [
1147
+ {
1148
+ "name": "amount",
1149
+ "type": "uint256",
1150
+ "internalType": "uint256"
1151
+ },
1152
+ {
1153
+ "name": "feedbackClosesAt",
1154
+ "type": "uint256",
1155
+ "internalType": "uint256"
1156
+ },
1157
+ {
1158
+ "name": "awarder",
1159
+ "type": "address",
1160
+ "internalType": "address"
1161
+ }
1162
+ ]
1163
+ },
1164
+ {
1165
+ "name": "paymentAuthorization",
1166
+ "type": "tuple",
1167
+ "internalType": "struct Eip3009Authorization",
1168
+ "components": [
1169
+ {
1170
+ "name": "from",
1171
+ "type": "address",
1172
+ "internalType": "address"
1173
+ },
1174
+ {
1175
+ "name": "to",
1176
+ "type": "address",
1177
+ "internalType": "address"
1178
+ },
1179
+ {
1180
+ "name": "value",
1181
+ "type": "uint256",
1182
+ "internalType": "uint256"
1183
+ },
1184
+ {
1185
+ "name": "validAfter",
1186
+ "type": "uint256",
1187
+ "internalType": "uint256"
1188
+ },
1189
+ {
1190
+ "name": "validBefore",
1191
+ "type": "uint256",
1192
+ "internalType": "uint256"
1193
+ },
1194
+ {
1195
+ "name": "nonce",
1196
+ "type": "bytes32",
1197
+ "internalType": "bytes32"
1198
+ },
1199
+ {
1200
+ "name": "v",
1201
+ "type": "uint8",
1202
+ "internalType": "uint8"
1203
+ },
1204
+ {
1205
+ "name": "r",
1206
+ "type": "bytes32",
1207
+ "internalType": "bytes32"
1208
+ },
1209
+ {
1210
+ "name": "s",
1211
+ "type": "bytes32",
1212
+ "internalType": "bytes32"
1213
+ }
1214
+ ]
1215
+ }
1216
+ ],
1217
+ "outputs": [
1218
+ {
1219
+ "name": "contentId",
1220
+ "type": "uint256",
1221
+ "internalType": "uint256"
1222
+ },
1223
+ {
1224
+ "name": "feedbackBonusPoolId",
1225
+ "type": "uint256",
1226
+ "internalType": "uint256"
1227
+ }
1228
+ ],
1229
+ "stateMutability": "nonpayable"
1230
+ },
1231
+ {
1232
+ "type": "function",
1233
+ "name": "submitQuestionWithX402OneShotPayment",
1234
+ "inputs": [
1235
+ {
1236
+ "name": "contextUrl",
1237
+ "type": "string",
1238
+ "internalType": "string"
1239
+ },
1240
+ {
1241
+ "name": "imageUrls",
1242
+ "type": "string[]",
1243
+ "internalType": "string[]"
1244
+ },
1245
+ {
1246
+ "name": "videoUrl",
1247
+ "type": "string",
1248
+ "internalType": "string"
1249
+ },
1250
+ {
1251
+ "name": "title",
1252
+ "type": "string",
1253
+ "internalType": "string"
1254
+ },
1255
+ {
1256
+ "name": "tags",
1257
+ "type": "string",
1258
+ "internalType": "string"
1259
+ },
1260
+ {
1261
+ "name": "categoryId",
1262
+ "type": "uint256",
1263
+ "internalType": "uint256"
1264
+ },
1265
+ {
1266
+ "name": "details",
1267
+ "type": "tuple",
1268
+ "internalType": "struct ContentRegistry.SubmissionDetails",
1269
+ "components": [
1270
+ {
1271
+ "name": "detailsUrl",
1272
+ "type": "string",
1273
+ "internalType": "string"
1274
+ },
1275
+ {
1276
+ "name": "detailsHash",
1277
+ "type": "bytes32",
1278
+ "internalType": "bytes32"
1279
+ }
1280
+ ]
1281
+ },
1282
+ {
1283
+ "name": "salt",
1284
+ "type": "bytes32",
1285
+ "internalType": "bytes32"
1286
+ },
1287
+ {
1288
+ "name": "rewardTerms",
1289
+ "type": "tuple",
1290
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
1291
+ "components": [
1292
+ {
1293
+ "name": "asset",
1294
+ "type": "uint8",
1295
+ "internalType": "uint8"
1296
+ },
1297
+ {
1298
+ "name": "amount",
1299
+ "type": "uint256",
1300
+ "internalType": "uint256"
1301
+ },
1302
+ {
1303
+ "name": "requiredVoters",
1304
+ "type": "uint256",
1305
+ "internalType": "uint256"
1306
+ },
1307
+ {
1308
+ "name": "requiredSettledRounds",
1309
+ "type": "uint256",
1310
+ "internalType": "uint256"
1311
+ },
1312
+ {
1313
+ "name": "bountyStartBy",
1314
+ "type": "uint256",
1315
+ "internalType": "uint256"
1316
+ },
1317
+ {
1318
+ "name": "bountyWindowSeconds",
1319
+ "type": "uint256",
1320
+ "internalType": "uint256"
1321
+ },
1322
+ {
1323
+ "name": "feedbackWindowSeconds",
1324
+ "type": "uint256",
1325
+ "internalType": "uint256"
1326
+ },
1327
+ {
1328
+ "name": "bountyEligibility",
1329
+ "type": "uint8",
1330
+ "internalType": "uint8"
1331
+ }
1332
+ ]
1333
+ },
1334
+ {
1335
+ "name": "roundConfig",
1336
+ "type": "tuple",
1337
+ "internalType": "struct RoundLib.RoundConfig",
1338
+ "components": [
1339
+ {
1340
+ "name": "epochDuration",
1341
+ "type": "uint32",
1342
+ "internalType": "uint32"
1343
+ },
1344
+ {
1345
+ "name": "maxDuration",
1346
+ "type": "uint32",
1347
+ "internalType": "uint32"
1348
+ },
1349
+ {
1350
+ "name": "minVoters",
1351
+ "type": "uint16",
1352
+ "internalType": "uint16"
1353
+ },
1354
+ {
1355
+ "name": "maxVoters",
1356
+ "type": "uint16",
1357
+ "internalType": "uint16"
1358
+ }
1359
+ ]
1360
+ },
1361
+ {
1362
+ "name": "spec",
1363
+ "type": "tuple",
1364
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
1365
+ "components": [
1366
+ {
1367
+ "name": "questionMetadataHash",
1368
+ "type": "bytes32",
1369
+ "internalType": "bytes32"
1370
+ },
1371
+ {
1372
+ "name": "resultSpecHash",
1373
+ "type": "bytes32",
1374
+ "internalType": "bytes32"
1375
+ }
1376
+ ]
1377
+ },
1378
+ {
1379
+ "name": "confidentiality",
1380
+ "type": "tuple",
1381
+ "internalType": "struct IConfidentialityEscrow.ConfidentialityConfig",
1382
+ "components": [
1383
+ {
1384
+ "name": "gated",
1385
+ "type": "bool",
1386
+ "internalType": "bool"
1387
+ },
1388
+ {
1389
+ "name": "bondAsset",
1390
+ "type": "uint8",
1391
+ "internalType": "uint8"
1392
+ },
1393
+ {
1394
+ "name": "bondAmount",
1395
+ "type": "uint64",
1396
+ "internalType": "uint64"
1397
+ },
1398
+ {
1399
+ "name": "flags",
1400
+ "type": "uint8",
1401
+ "internalType": "uint8"
1402
+ }
1403
+ ]
1404
+ },
1405
+ {
1406
+ "name": "feedbackBonusTerms",
1407
+ "type": "tuple",
1408
+ "internalType": "struct X402QuestionSubmitter.FeedbackBonusTerms",
1409
+ "components": [
1410
+ {
1411
+ "name": "amount",
1412
+ "type": "uint256",
1413
+ "internalType": "uint256"
1414
+ },
1415
+ {
1416
+ "name": "feedbackClosesAt",
1417
+ "type": "uint256",
1418
+ "internalType": "uint256"
1419
+ },
1420
+ {
1421
+ "name": "awarder",
1422
+ "type": "address",
1423
+ "internalType": "address"
1424
+ }
1425
+ ]
1426
+ },
1427
+ {
1428
+ "name": "paymentAuthorization",
1429
+ "type": "tuple",
1430
+ "internalType": "struct Eip3009Authorization",
1431
+ "components": [
1432
+ {
1433
+ "name": "from",
1434
+ "type": "address",
1435
+ "internalType": "address"
1436
+ },
1437
+ {
1438
+ "name": "to",
1439
+ "type": "address",
1440
+ "internalType": "address"
1441
+ },
1442
+ {
1443
+ "name": "value",
1444
+ "type": "uint256",
1445
+ "internalType": "uint256"
1446
+ },
1447
+ {
1448
+ "name": "validAfter",
1449
+ "type": "uint256",
1450
+ "internalType": "uint256"
1451
+ },
1452
+ {
1453
+ "name": "validBefore",
1454
+ "type": "uint256",
1455
+ "internalType": "uint256"
1456
+ },
1457
+ {
1458
+ "name": "nonce",
1459
+ "type": "bytes32",
1460
+ "internalType": "bytes32"
1461
+ },
1462
+ {
1463
+ "name": "v",
1464
+ "type": "uint8",
1465
+ "internalType": "uint8"
1466
+ },
1467
+ {
1468
+ "name": "r",
1469
+ "type": "bytes32",
1470
+ "internalType": "bytes32"
1471
+ },
1472
+ {
1473
+ "name": "s",
1474
+ "type": "bytes32",
1475
+ "internalType": "bytes32"
1476
+ }
1477
+ ]
1478
+ }
1479
+ ],
1480
+ "outputs": [
1481
+ {
1482
+ "name": "contentId",
1483
+ "type": "uint256",
1484
+ "internalType": "uint256"
1485
+ },
1486
+ {
1487
+ "name": "feedbackBonusPoolId",
1488
+ "type": "uint256",
1489
+ "internalType": "uint256"
1490
+ }
1491
+ ],
1492
+ "stateMutability": "nonpayable"
1493
+ },
1494
+ {
1495
+ "type": "function",
1496
+ "name": "submitQuestionWithX402Payment",
1497
+ "inputs": [
1498
+ {
1499
+ "name": "contextUrl",
1500
+ "type": "string",
1501
+ "internalType": "string"
1502
+ },
1503
+ {
1504
+ "name": "imageUrls",
1505
+ "type": "string[]",
1506
+ "internalType": "string[]"
1507
+ },
1508
+ {
1509
+ "name": "videoUrl",
1510
+ "type": "string",
1511
+ "internalType": "string"
1512
+ },
1513
+ {
1514
+ "name": "title",
1515
+ "type": "string",
1516
+ "internalType": "string"
1517
+ },
1518
+ {
1519
+ "name": "tags",
1520
+ "type": "string",
1521
+ "internalType": "string"
1522
+ },
1523
+ {
1524
+ "name": "categoryId",
1525
+ "type": "uint256",
1526
+ "internalType": "uint256"
1527
+ },
1528
+ {
1529
+ "name": "details",
1530
+ "type": "tuple",
1531
+ "internalType": "struct ContentRegistry.SubmissionDetails",
1532
+ "components": [
1533
+ {
1534
+ "name": "detailsUrl",
1535
+ "type": "string",
1536
+ "internalType": "string"
1537
+ },
1538
+ {
1539
+ "name": "detailsHash",
1540
+ "type": "bytes32",
1541
+ "internalType": "bytes32"
1542
+ }
1543
+ ]
1544
+ },
1545
+ {
1546
+ "name": "salt",
1547
+ "type": "bytes32",
1548
+ "internalType": "bytes32"
1549
+ },
1550
+ {
1551
+ "name": "rewardTerms",
1552
+ "type": "tuple",
1553
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
1554
+ "components": [
1555
+ {
1556
+ "name": "asset",
1557
+ "type": "uint8",
1558
+ "internalType": "uint8"
1559
+ },
1560
+ {
1561
+ "name": "amount",
1562
+ "type": "uint256",
1563
+ "internalType": "uint256"
1564
+ },
1565
+ {
1566
+ "name": "requiredVoters",
1567
+ "type": "uint256",
1568
+ "internalType": "uint256"
1569
+ },
1570
+ {
1571
+ "name": "requiredSettledRounds",
1572
+ "type": "uint256",
1573
+ "internalType": "uint256"
1574
+ },
1575
+ {
1576
+ "name": "bountyStartBy",
1577
+ "type": "uint256",
1578
+ "internalType": "uint256"
1579
+ },
1580
+ {
1581
+ "name": "bountyWindowSeconds",
1582
+ "type": "uint256",
1583
+ "internalType": "uint256"
1584
+ },
1585
+ {
1586
+ "name": "feedbackWindowSeconds",
1587
+ "type": "uint256",
1588
+ "internalType": "uint256"
1589
+ },
1590
+ {
1591
+ "name": "bountyEligibility",
1592
+ "type": "uint8",
1593
+ "internalType": "uint8"
1594
+ }
1595
+ ]
1596
+ },
1597
+ {
1598
+ "name": "roundConfig",
1599
+ "type": "tuple",
1600
+ "internalType": "struct RoundLib.RoundConfig",
1601
+ "components": [
1602
+ {
1603
+ "name": "epochDuration",
1604
+ "type": "uint32",
1605
+ "internalType": "uint32"
1606
+ },
1607
+ {
1608
+ "name": "maxDuration",
1609
+ "type": "uint32",
1610
+ "internalType": "uint32"
1611
+ },
1612
+ {
1613
+ "name": "minVoters",
1614
+ "type": "uint16",
1615
+ "internalType": "uint16"
1616
+ },
1617
+ {
1618
+ "name": "maxVoters",
1619
+ "type": "uint16",
1620
+ "internalType": "uint16"
1621
+ }
1622
+ ]
1623
+ },
1624
+ {
1625
+ "name": "spec",
1626
+ "type": "tuple",
1627
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
1628
+ "components": [
1629
+ {
1630
+ "name": "questionMetadataHash",
1631
+ "type": "bytes32",
1632
+ "internalType": "bytes32"
1633
+ },
1634
+ {
1635
+ "name": "resultSpecHash",
1636
+ "type": "bytes32",
1637
+ "internalType": "bytes32"
1638
+ }
1639
+ ]
1640
+ },
1641
+ {
1642
+ "name": "confidentiality",
1643
+ "type": "tuple",
1644
+ "internalType": "struct IConfidentialityEscrow.ConfidentialityConfig",
1645
+ "components": [
1646
+ {
1647
+ "name": "gated",
1648
+ "type": "bool",
1649
+ "internalType": "bool"
1650
+ },
1651
+ {
1652
+ "name": "bondAsset",
1653
+ "type": "uint8",
1654
+ "internalType": "uint8"
1655
+ },
1656
+ {
1657
+ "name": "bondAmount",
1658
+ "type": "uint64",
1659
+ "internalType": "uint64"
1660
+ },
1661
+ {
1662
+ "name": "flags",
1663
+ "type": "uint8",
1664
+ "internalType": "uint8"
1665
+ }
1666
+ ]
1667
+ },
1668
+ {
1669
+ "name": "paymentAuthorization",
1670
+ "type": "tuple",
1671
+ "internalType": "struct Eip3009Authorization",
1672
+ "components": [
1673
+ {
1674
+ "name": "from",
1675
+ "type": "address",
1676
+ "internalType": "address"
1677
+ },
1678
+ {
1679
+ "name": "to",
1680
+ "type": "address",
1681
+ "internalType": "address"
1682
+ },
1683
+ {
1684
+ "name": "value",
1685
+ "type": "uint256",
1686
+ "internalType": "uint256"
1687
+ },
1688
+ {
1689
+ "name": "validAfter",
1690
+ "type": "uint256",
1691
+ "internalType": "uint256"
1692
+ },
1693
+ {
1694
+ "name": "validBefore",
1695
+ "type": "uint256",
1696
+ "internalType": "uint256"
1697
+ },
1698
+ {
1699
+ "name": "nonce",
1700
+ "type": "bytes32",
1701
+ "internalType": "bytes32"
1702
+ },
1703
+ {
1704
+ "name": "v",
1705
+ "type": "uint8",
1706
+ "internalType": "uint8"
1707
+ },
1708
+ {
1709
+ "name": "r",
1710
+ "type": "bytes32",
1711
+ "internalType": "bytes32"
1712
+ },
1713
+ {
1714
+ "name": "s",
1715
+ "type": "bytes32",
1716
+ "internalType": "bytes32"
1717
+ }
1718
+ ]
1719
+ }
1720
+ ],
1721
+ "outputs": [
1722
+ {
1723
+ "name": "contentId",
1724
+ "type": "uint256",
1725
+ "internalType": "uint256"
1726
+ }
1727
+ ],
1728
+ "stateMutability": "nonpayable"
1729
+ },
1730
+ {
1731
+ "type": "function",
1732
+ "name": "submitQuestionWithX402Payment",
1733
+ "inputs": [
1734
+ {
1735
+ "name": "contextUrl",
1736
+ "type": "string",
1737
+ "internalType": "string"
1738
+ },
1739
+ {
1740
+ "name": "imageUrls",
1741
+ "type": "string[]",
1742
+ "internalType": "string[]"
1743
+ },
1744
+ {
1745
+ "name": "videoUrl",
1746
+ "type": "string",
1747
+ "internalType": "string"
1748
+ },
1749
+ {
1750
+ "name": "title",
1751
+ "type": "string",
1752
+ "internalType": "string"
1753
+ },
1754
+ {
1755
+ "name": "tags",
1756
+ "type": "string",
1757
+ "internalType": "string"
1758
+ },
1759
+ {
1760
+ "name": "categoryId",
1761
+ "type": "uint256",
1762
+ "internalType": "uint256"
1763
+ },
1764
+ {
1765
+ "name": "details",
1766
+ "type": "tuple",
1767
+ "internalType": "struct ContentRegistry.SubmissionDetails",
1768
+ "components": [
1769
+ {
1770
+ "name": "detailsUrl",
1771
+ "type": "string",
1772
+ "internalType": "string"
1773
+ },
1774
+ {
1775
+ "name": "detailsHash",
1776
+ "type": "bytes32",
1777
+ "internalType": "bytes32"
1778
+ }
1779
+ ]
1780
+ },
1781
+ {
1782
+ "name": "salt",
1783
+ "type": "bytes32",
1784
+ "internalType": "bytes32"
1785
+ },
1786
+ {
1787
+ "name": "rewardTerms",
1788
+ "type": "tuple",
1789
+ "internalType": "struct ContentRegistry.SubmissionRewardTerms",
1790
+ "components": [
1791
+ {
1792
+ "name": "asset",
1793
+ "type": "uint8",
1794
+ "internalType": "uint8"
1795
+ },
1796
+ {
1797
+ "name": "amount",
1798
+ "type": "uint256",
1799
+ "internalType": "uint256"
1800
+ },
1801
+ {
1802
+ "name": "requiredVoters",
1803
+ "type": "uint256",
1804
+ "internalType": "uint256"
1805
+ },
1806
+ {
1807
+ "name": "requiredSettledRounds",
1808
+ "type": "uint256",
1809
+ "internalType": "uint256"
1810
+ },
1811
+ {
1812
+ "name": "bountyStartBy",
1813
+ "type": "uint256",
1814
+ "internalType": "uint256"
1815
+ },
1816
+ {
1817
+ "name": "bountyWindowSeconds",
1818
+ "type": "uint256",
1819
+ "internalType": "uint256"
1820
+ },
1821
+ {
1822
+ "name": "feedbackWindowSeconds",
1823
+ "type": "uint256",
1824
+ "internalType": "uint256"
1825
+ },
1826
+ {
1827
+ "name": "bountyEligibility",
1828
+ "type": "uint8",
1829
+ "internalType": "uint8"
1830
+ }
1831
+ ]
1832
+ },
1833
+ {
1834
+ "name": "roundConfig",
1835
+ "type": "tuple",
1836
+ "internalType": "struct RoundLib.RoundConfig",
1837
+ "components": [
1838
+ {
1839
+ "name": "epochDuration",
1840
+ "type": "uint32",
1841
+ "internalType": "uint32"
1842
+ },
1843
+ {
1844
+ "name": "maxDuration",
1845
+ "type": "uint32",
1846
+ "internalType": "uint32"
1847
+ },
1848
+ {
1849
+ "name": "minVoters",
1850
+ "type": "uint16",
1851
+ "internalType": "uint16"
1852
+ },
1853
+ {
1854
+ "name": "maxVoters",
1855
+ "type": "uint16",
1856
+ "internalType": "uint16"
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ "name": "spec",
1862
+ "type": "tuple",
1863
+ "internalType": "struct ContentRegistry.QuestionSpecCommitment",
1864
+ "components": [
1865
+ {
1866
+ "name": "questionMetadataHash",
1867
+ "type": "bytes32",
1868
+ "internalType": "bytes32"
1869
+ },
1870
+ {
1871
+ "name": "resultSpecHash",
1872
+ "type": "bytes32",
1873
+ "internalType": "bytes32"
1874
+ }
1875
+ ]
1876
+ },
1877
+ {
1878
+ "name": "paymentAuthorization",
1879
+ "type": "tuple",
1880
+ "internalType": "struct Eip3009Authorization",
1881
+ "components": [
1882
+ {
1883
+ "name": "from",
1884
+ "type": "address",
1885
+ "internalType": "address"
1886
+ },
1887
+ {
1888
+ "name": "to",
1889
+ "type": "address",
1890
+ "internalType": "address"
1891
+ },
1892
+ {
1893
+ "name": "value",
1894
+ "type": "uint256",
1895
+ "internalType": "uint256"
1896
+ },
1897
+ {
1898
+ "name": "validAfter",
1899
+ "type": "uint256",
1900
+ "internalType": "uint256"
1901
+ },
1902
+ {
1903
+ "name": "validBefore",
1904
+ "type": "uint256",
1905
+ "internalType": "uint256"
1906
+ },
1907
+ {
1908
+ "name": "nonce",
1909
+ "type": "bytes32",
1910
+ "internalType": "bytes32"
1911
+ },
1912
+ {
1913
+ "name": "v",
1914
+ "type": "uint8",
1915
+ "internalType": "uint8"
1916
+ },
1917
+ {
1918
+ "name": "r",
1919
+ "type": "bytes32",
1920
+ "internalType": "bytes32"
1921
+ },
1922
+ {
1923
+ "name": "s",
1924
+ "type": "bytes32",
1925
+ "internalType": "bytes32"
1926
+ }
1927
+ ]
1928
+ }
1929
+ ],
1930
+ "outputs": [
1931
+ {
1932
+ "name": "contentId",
1933
+ "type": "uint256",
1934
+ "internalType": "uint256"
1935
+ }
1936
+ ],
1937
+ "stateMutability": "nonpayable"
1938
+ },
1939
+ {
1940
+ "type": "function",
1941
+ "name": "transferOwnership",
1942
+ "inputs": [
1943
+ {
1944
+ "name": "newOwner",
1945
+ "type": "address",
1946
+ "internalType": "address"
1947
+ }
1948
+ ],
1949
+ "outputs": [],
1950
+ "stateMutability": "nonpayable"
1951
+ },
1952
+ {
1953
+ "type": "function",
1954
+ "name": "usdcToken",
1955
+ "inputs": [],
1956
+ "outputs": [
1957
+ {
1958
+ "name": "",
1959
+ "type": "address",
1960
+ "internalType": "contract IERC20"
1961
+ }
1962
+ ],
1963
+ "stateMutability": "view"
1964
+ },
1965
+ {
1966
+ "type": "event",
1967
+ "name": "FeedbackBonusEscrowUpdated",
1968
+ "inputs": [
1969
+ {
1970
+ "name": "previousEscrow",
1971
+ "type": "address",
1972
+ "indexed": true,
1973
+ "internalType": "address"
1974
+ },
1975
+ {
1976
+ "name": "currentEscrow",
1977
+ "type": "address",
1978
+ "indexed": true,
1979
+ "internalType": "address"
1980
+ }
1981
+ ],
1982
+ "anonymous": false
1983
+ },
1984
+ {
1985
+ "type": "event",
1986
+ "name": "OwnershipTransferred",
1987
+ "inputs": [
1988
+ {
1989
+ "name": "previousOwner",
1990
+ "type": "address",
1991
+ "indexed": true,
1992
+ "internalType": "address"
1993
+ },
1994
+ {
1995
+ "name": "newOwner",
1996
+ "type": "address",
1997
+ "indexed": true,
1998
+ "internalType": "address"
1999
+ }
2000
+ ],
2001
+ "anonymous": false
2002
+ },
2003
+ {
2004
+ "type": "event",
2005
+ "name": "QuestionRewardPoolEscrowUpdated",
2006
+ "inputs": [
2007
+ {
2008
+ "name": "previousEscrow",
2009
+ "type": "address",
2010
+ "indexed": true,
2011
+ "internalType": "address"
2012
+ },
2013
+ {
2014
+ "name": "currentEscrow",
2015
+ "type": "address",
2016
+ "indexed": true,
2017
+ "internalType": "address"
2018
+ }
2019
+ ],
2020
+ "anonymous": false
2021
+ },
2022
+ {
2023
+ "type": "event",
2024
+ "name": "X402FeedbackBonusAttached",
2025
+ "inputs": [
2026
+ {
2027
+ "name": "contentId",
2028
+ "type": "uint256",
2029
+ "indexed": true,
2030
+ "internalType": "uint256"
2031
+ },
2032
+ {
2033
+ "name": "feedbackBonusPoolId",
2034
+ "type": "uint256",
2035
+ "indexed": true,
2036
+ "internalType": "uint256"
2037
+ },
2038
+ {
2039
+ "name": "funder",
2040
+ "type": "address",
2041
+ "indexed": true,
2042
+ "internalType": "address"
2043
+ },
2044
+ {
2045
+ "name": "amount",
2046
+ "type": "uint256",
2047
+ "indexed": false,
2048
+ "internalType": "uint256"
2049
+ },
2050
+ {
2051
+ "name": "feedbackClosesAt",
2052
+ "type": "uint256",
2053
+ "indexed": false,
2054
+ "internalType": "uint256"
2055
+ },
2056
+ {
2057
+ "name": "awarder",
2058
+ "type": "address",
2059
+ "indexed": false,
2060
+ "internalType": "address"
2061
+ }
2062
+ ],
2063
+ "anonymous": false
2064
+ },
2065
+ {
2066
+ "type": "event",
2067
+ "name": "X402QuestionSubmitted",
2068
+ "inputs": [
2069
+ {
2070
+ "name": "contentId",
2071
+ "type": "uint256",
2072
+ "indexed": true,
2073
+ "internalType": "uint256"
2074
+ },
2075
+ {
2076
+ "name": "submitter",
2077
+ "type": "address",
2078
+ "indexed": true,
2079
+ "internalType": "address"
2080
+ },
2081
+ {
2082
+ "name": "paymentNonce",
2083
+ "type": "bytes32",
2084
+ "indexed": true,
2085
+ "internalType": "bytes32"
2086
+ },
2087
+ {
2088
+ "name": "amount",
2089
+ "type": "uint256",
2090
+ "indexed": false,
2091
+ "internalType": "uint256"
2092
+ }
2093
+ ],
2094
+ "anonymous": false
2095
+ },
2096
+ {
2097
+ "type": "error",
2098
+ "name": "OwnableInvalidOwner",
2099
+ "inputs": [
2100
+ {
2101
+ "name": "owner",
2102
+ "type": "address",
2103
+ "internalType": "address"
2104
+ }
2105
+ ]
2106
+ },
2107
+ {
2108
+ "type": "error",
2109
+ "name": "OwnableUnauthorizedAccount",
2110
+ "inputs": [
2111
+ {
2112
+ "name": "account",
2113
+ "type": "address",
2114
+ "internalType": "address"
2115
+ }
2116
+ ]
2117
+ },
2118
+ {
2119
+ "type": "error",
2120
+ "name": "ReentrancyGuardReentrantCall",
2121
+ "inputs": []
2122
+ },
2123
+ {
2124
+ "type": "error",
2125
+ "name": "SafeERC20FailedOperation",
2126
+ "inputs": [
2127
+ {
2128
+ "name": "token",
2129
+ "type": "address",
2130
+ "internalType": "address"
2131
+ }
2132
+ ]
2133
+ }
2134
+ ];