verifyhash 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 (154) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +883 -0
  3. package/cli/abi/ContributionRegistry.json +881 -0
  4. package/cli/agent.js +2173 -0
  5. package/cli/anchor-artifact.js +853 -0
  6. package/cli/anchor.js +400 -0
  7. package/cli/claim.js +881 -0
  8. package/cli/core/agent-commit.js +448 -0
  9. package/cli/core/agent-session.js +598 -0
  10. package/cli/core/anchor-binding.js +663 -0
  11. package/cli/core/attestation.js +580 -0
  12. package/cli/core/evidence-plans.js +495 -0
  13. package/cli/core/fixtures/evidence-plans/baseline.json +19 -0
  14. package/cli/core/fulfill-intake.js +1082 -0
  15. package/cli/core/go-live-preflight.js +481 -0
  16. package/cli/core/license.js +534 -0
  17. package/cli/core/manifest.js +243 -0
  18. package/cli/core/packetseal.js +591 -0
  19. package/cli/core/registryArtifact.js +49 -0
  20. package/cli/core/revocation.js +539 -0
  21. package/cli/core/rfc3161.js +389 -0
  22. package/cli/core/timestamp.js +482 -0
  23. package/cli/core/trust-asof.js +479 -0
  24. package/cli/dataset.js +2950 -0
  25. package/cli/evidence.js +2227 -0
  26. package/cli/fulfill-webhook-http.js +438 -0
  27. package/cli/git.js +220 -0
  28. package/cli/hash.js +550 -0
  29. package/cli/identity.js +1072 -0
  30. package/cli/journal-cli.js +1110 -0
  31. package/cli/journal-log.js +454 -0
  32. package/cli/journal.js +334 -0
  33. package/cli/lineage.js +447 -0
  34. package/cli/list.js +287 -0
  35. package/cli/parcel.js +1509 -0
  36. package/cli/proof.js +578 -0
  37. package/cli/prove.js +300 -0
  38. package/cli/receipt.js +631 -0
  39. package/cli/registry.js +331 -0
  40. package/cli/reputation.js +344 -0
  41. package/cli/revocation.js +495 -0
  42. package/cli/serve-verify-http.js +298 -0
  43. package/cli/serve-verify.js +333 -0
  44. package/cli/show.js +339 -0
  45. package/cli/verify.js +383 -0
  46. package/cli/vh.js +3927 -0
  47. package/docs/ADOPT.md +183 -0
  48. package/docs/ADOPTION.json +11 -0
  49. package/docs/AGENTTRACE.md +247 -0
  50. package/docs/ANCHORING.md +167 -0
  51. package/docs/AUDIT.md +55 -0
  52. package/docs/CONFORMANCE.md +107 -0
  53. package/docs/DATALEDGER.md +638 -0
  54. package/docs/DECIDE.md +47 -0
  55. package/docs/DECISIONS-PENDING.md +27 -0
  56. package/docs/DEPLOY-PUBLIC-SITE.md +301 -0
  57. package/docs/ENGINE-LEDGER.json +12 -0
  58. package/docs/EVIDENCE.md +519 -0
  59. package/docs/GO-LIVE.md +66 -0
  60. package/docs/IDENTITY.md +123 -0
  61. package/docs/INDEPENDENT-VERIFICATION.md +377 -0
  62. package/docs/INTEGRITY-JOURNAL.md +337 -0
  63. package/docs/KEY-LIFECYCLE.md +179 -0
  64. package/docs/LICENSING.md +46 -0
  65. package/docs/LINEAGE.md +307 -0
  66. package/docs/LOOP-AUDIT-2026-07-03.json +580 -0
  67. package/docs/LOOP-HARDENING-PLAN.md +44 -0
  68. package/docs/MERKLE-LEAVES.md +113 -0
  69. package/docs/METRICS.jsonl +31 -0
  70. package/docs/MORNING.md +204 -0
  71. package/docs/PILOT.md +444 -0
  72. package/docs/PROOFPARCEL.md +227 -0
  73. package/docs/PROOFS.md +262 -0
  74. package/docs/RECEIPTS.md +341 -0
  75. package/docs/REPUTATION.md +158 -0
  76. package/docs/SDK.md +301 -0
  77. package/docs/STRATEGY-ARCHIVE.md +5055 -0
  78. package/docs/SUPERVISOR-RUNBOOK.md +52 -0
  79. package/docs/TRUST-BOUNDARIES.md +335 -0
  80. package/docs/TRUSTLEDGER.md +1976 -0
  81. package/docs/USAGE-BUDGET.json +121 -0
  82. package/docs/VERIFY-SERVICE.md +168 -0
  83. package/index.js +160 -0
  84. package/package.json +41 -0
  85. package/trustledger/build-standalone.js +796 -0
  86. package/trustledger/cli.js +3179 -0
  87. package/trustledger/close.js +391 -0
  88. package/trustledger/corpus.js +159 -0
  89. package/trustledger/dist/BUILD-PROVENANCE.json +99 -0
  90. package/trustledger/dist/trustledger-standalone.html +6197 -0
  91. package/trustledger/dist/trustledger-standalone.html.sha256 +1 -0
  92. package/trustledger/door-core.js +442 -0
  93. package/trustledger/fixtures/bank.csv +7 -0
  94. package/trustledger/fixtures/bank.malformed.csv +3 -0
  95. package/trustledger/fixtures/bank.noalias.csv +5 -0
  96. package/trustledger/fixtures/bank.ofx +34 -0
  97. package/trustledger/fixtures/bank.real.csv +5 -0
  98. package/trustledger/fixtures/corpus/_shared/prior-close.json +22 -0
  99. package/trustledger/fixtures/corpus/bank-book-mismatch--benign-twin/inputs.json +14 -0
  100. package/trustledger/fixtures/corpus/bank-book-mismatch--benign-twin/meta.json +7 -0
  101. package/trustledger/fixtures/corpus/bank-book-mismatch--out-of-trust/inputs.json +14 -0
  102. package/trustledger/fixtures/corpus/bank-book-mismatch--out-of-trust/meta.json +7 -0
  103. package/trustledger/fixtures/corpus/continuity-break--benign-twin/inputs.json +15 -0
  104. package/trustledger/fixtures/corpus/continuity-break--benign-twin/meta.json +7 -0
  105. package/trustledger/fixtures/corpus/continuity-break--out-of-trust/inputs.json +15 -0
  106. package/trustledger/fixtures/corpus/continuity-break--out-of-trust/meta.json +7 -0
  107. package/trustledger/fixtures/corpus/negative-tenant-ledger--benign-twin/inputs.json +13 -0
  108. package/trustledger/fixtures/corpus/negative-tenant-ledger--benign-twin/meta.json +7 -0
  109. package/trustledger/fixtures/corpus/negative-tenant-ledger--out-of-trust/inputs.json +13 -0
  110. package/trustledger/fixtures/corpus/negative-tenant-ledger--out-of-trust/meta.json +7 -0
  111. package/trustledger/fixtures/corpus/owner-overdraw--benign-twin/inputs.json +15 -0
  112. package/trustledger/fixtures/corpus/owner-overdraw--benign-twin/meta.json +7 -0
  113. package/trustledger/fixtures/corpus/owner-overdraw--out-of-trust/inputs.json +15 -0
  114. package/trustledger/fixtures/corpus/owner-overdraw--out-of-trust/meta.json +7 -0
  115. package/trustledger/fixtures/corpus/security-deposit-segregation--benign-twin/inputs.json +16 -0
  116. package/trustledger/fixtures/corpus/security-deposit-segregation--benign-twin/meta.json +7 -0
  117. package/trustledger/fixtures/corpus/security-deposit-segregation--out-of-trust/inputs.json +13 -0
  118. package/trustledger/fixtures/corpus/security-deposit-segregation--out-of-trust/meta.json +7 -0
  119. package/trustledger/fixtures/corpus/subledger-out-of-balance--benign-twin/inputs.json +13 -0
  120. package/trustledger/fixtures/corpus/subledger-out-of-balance--benign-twin/meta.json +7 -0
  121. package/trustledger/fixtures/corpus/subledger-out-of-balance--out-of-trust/inputs.json +13 -0
  122. package/trustledger/fixtures/corpus/subledger-out-of-balance--out-of-trust/meta.json +7 -0
  123. package/trustledger/fixtures/e2e/bank.aliased.csv +4 -0
  124. package/trustledger/fixtures/e2e/bank.csv +4 -0
  125. package/trustledger/fixtures/e2e/bank.nsf.csv +4 -0
  126. package/trustledger/fixtures/e2e/quickbooks.csv +6 -0
  127. package/trustledger/fixtures/e2e/quickbooks.nsf.csv +8 -0
  128. package/trustledger/fixtures/e2e/rentroll.csv +6 -0
  129. package/trustledger/fixtures/e2e/rentroll.nsf.csv +8 -0
  130. package/trustledger/fixtures/e2e/rentroll.short.csv +5 -0
  131. package/trustledger/fixtures/plans/baseline.json +25 -0
  132. package/trustledger/fixtures/plans/price-binding.example.json +27 -0
  133. package/trustledger/fixtures/policy/ambiguous-deposit-example.json +12 -0
  134. package/trustledger/fixtures/policy/baseline.json +19 -0
  135. package/trustledger/fixtures/policy/ca-example.json +12 -0
  136. package/trustledger/fixtures/policy/negative-tenant-ledger-example.json +12 -0
  137. package/trustledger/fixtures/policy/owner-overdraw-example.json +12 -0
  138. package/trustledger/fixtures/quickbooks.csv +7 -0
  139. package/trustledger/fixtures/quickbooks.real.csv +5 -0
  140. package/trustledger/fixtures/rentroll.csv +6 -0
  141. package/trustledger/fixtures/rentroll.real.csv +4 -0
  142. package/trustledger/ingest.js +1163 -0
  143. package/trustledger/lib/policy-bundled-loader.js +44 -0
  144. package/trustledger/lib/sha256-vendored.js +227 -0
  145. package/trustledger/license.js +563 -0
  146. package/trustledger/match.js +551 -0
  147. package/trustledger/plans.js +551 -0
  148. package/trustledger/policy.js +398 -0
  149. package/trustledger/public/index.html +512 -0
  150. package/trustledger/reconcile.js +1486 -0
  151. package/trustledger/report.js +887 -0
  152. package/trustledger/seal.js +854 -0
  153. package/trustledger/server.js +391 -0
  154. package/trustledger/valueproof.js +350 -0
@@ -0,0 +1,881 @@
1
+ {
2
+ "contractName": "ContributionRegistry",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "bytes32",
8
+ "name": "contentHash",
9
+ "type": "bytes32"
10
+ },
11
+ {
12
+ "internalType": "address",
13
+ "name": "contributor",
14
+ "type": "address"
15
+ }
16
+ ],
17
+ "name": "AlreadyAnchored",
18
+ "type": "error"
19
+ },
20
+ {
21
+ "inputs": [
22
+ {
23
+ "internalType": "bytes32",
24
+ "name": "commitment",
25
+ "type": "bytes32"
26
+ },
27
+ {
28
+ "internalType": "address",
29
+ "name": "committer",
30
+ "type": "address"
31
+ }
32
+ ],
33
+ "name": "CommitmentExists",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "inputs": [
38
+ {
39
+ "internalType": "uint256",
40
+ "name": "index",
41
+ "type": "uint256"
42
+ },
43
+ {
44
+ "internalType": "uint256",
45
+ "name": "total",
46
+ "type": "uint256"
47
+ }
48
+ ],
49
+ "name": "IndexOutOfRange",
50
+ "type": "error"
51
+ },
52
+ {
53
+ "inputs": [
54
+ {
55
+ "internalType": "bytes32",
56
+ "name": "commitment",
57
+ "type": "bytes32"
58
+ }
59
+ ],
60
+ "name": "NoSuchCommitment",
61
+ "type": "error"
62
+ },
63
+ {
64
+ "inputs": [
65
+ {
66
+ "internalType": "bytes32",
67
+ "name": "contentHash",
68
+ "type": "bytes32"
69
+ }
70
+ ],
71
+ "name": "NotAnchored",
72
+ "type": "error"
73
+ },
74
+ {
75
+ "inputs": [
76
+ {
77
+ "internalType": "uint64",
78
+ "name": "commitBlock",
79
+ "type": "uint64"
80
+ },
81
+ {
82
+ "internalType": "uint64",
83
+ "name": "currentBlock",
84
+ "type": "uint64"
85
+ },
86
+ {
87
+ "internalType": "uint64",
88
+ "name": "minDelay",
89
+ "type": "uint64"
90
+ }
91
+ ],
92
+ "name": "RevealTooSoon",
93
+ "type": "error"
94
+ },
95
+ {
96
+ "inputs": [
97
+ {
98
+ "internalType": "bytes32",
99
+ "name": "contentHash",
100
+ "type": "bytes32"
101
+ }
102
+ ],
103
+ "name": "SelfParent",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [
108
+ {
109
+ "internalType": "bytes32",
110
+ "name": "parent",
111
+ "type": "bytes32"
112
+ }
113
+ ],
114
+ "name": "UnknownParent",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "ZeroCommitment",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "inputs": [],
124
+ "name": "ZeroHash",
125
+ "type": "error"
126
+ },
127
+ {
128
+ "anonymous": false,
129
+ "inputs": [
130
+ {
131
+ "indexed": true,
132
+ "internalType": "bytes32",
133
+ "name": "contentHash",
134
+ "type": "bytes32"
135
+ },
136
+ {
137
+ "indexed": true,
138
+ "internalType": "address",
139
+ "name": "contributor",
140
+ "type": "address"
141
+ },
142
+ {
143
+ "indexed": true,
144
+ "internalType": "uint256",
145
+ "name": "index",
146
+ "type": "uint256"
147
+ },
148
+ {
149
+ "indexed": false,
150
+ "internalType": "uint64",
151
+ "name": "timestamp",
152
+ "type": "uint64"
153
+ },
154
+ {
155
+ "indexed": false,
156
+ "internalType": "string",
157
+ "name": "uri",
158
+ "type": "string"
159
+ }
160
+ ],
161
+ "name": "Anchored",
162
+ "type": "event"
163
+ },
164
+ {
165
+ "anonymous": false,
166
+ "inputs": [
167
+ {
168
+ "indexed": true,
169
+ "internalType": "bytes32",
170
+ "name": "commitment",
171
+ "type": "bytes32"
172
+ },
173
+ {
174
+ "indexed": true,
175
+ "internalType": "address",
176
+ "name": "committer",
177
+ "type": "address"
178
+ },
179
+ {
180
+ "indexed": false,
181
+ "internalType": "uint64",
182
+ "name": "blockNumber",
183
+ "type": "uint64"
184
+ }
185
+ ],
186
+ "name": "Committed",
187
+ "type": "event"
188
+ },
189
+ {
190
+ "anonymous": false,
191
+ "inputs": [
192
+ {
193
+ "indexed": true,
194
+ "internalType": "bytes32",
195
+ "name": "child",
196
+ "type": "bytes32"
197
+ },
198
+ {
199
+ "indexed": true,
200
+ "internalType": "bytes32",
201
+ "name": "parent",
202
+ "type": "bytes32"
203
+ }
204
+ ],
205
+ "name": "Linked",
206
+ "type": "event"
207
+ },
208
+ {
209
+ "anonymous": false,
210
+ "inputs": [
211
+ {
212
+ "indexed": true,
213
+ "internalType": "bytes32",
214
+ "name": "contentHash",
215
+ "type": "bytes32"
216
+ },
217
+ {
218
+ "indexed": true,
219
+ "internalType": "address",
220
+ "name": "contributor",
221
+ "type": "address"
222
+ },
223
+ {
224
+ "indexed": true,
225
+ "internalType": "uint256",
226
+ "name": "index",
227
+ "type": "uint256"
228
+ },
229
+ {
230
+ "indexed": false,
231
+ "internalType": "bytes32",
232
+ "name": "commitment",
233
+ "type": "bytes32"
234
+ },
235
+ {
236
+ "indexed": false,
237
+ "internalType": "uint64",
238
+ "name": "timestamp",
239
+ "type": "uint64"
240
+ },
241
+ {
242
+ "indexed": false,
243
+ "internalType": "string",
244
+ "name": "uri",
245
+ "type": "string"
246
+ }
247
+ ],
248
+ "name": "Revealed",
249
+ "type": "event"
250
+ },
251
+ {
252
+ "inputs": [],
253
+ "name": "MIN_REVEAL_DELAY",
254
+ "outputs": [
255
+ {
256
+ "internalType": "uint64",
257
+ "name": "",
258
+ "type": "uint64"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [],
266
+ "name": "REGISTRY_ID",
267
+ "outputs": [
268
+ {
269
+ "internalType": "bytes32",
270
+ "name": "",
271
+ "type": "bytes32"
272
+ }
273
+ ],
274
+ "stateMutability": "view",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [],
279
+ "name": "REGISTRY_INTERFACE_ID",
280
+ "outputs": [
281
+ {
282
+ "internalType": "bytes4",
283
+ "name": "",
284
+ "type": "bytes4"
285
+ }
286
+ ],
287
+ "stateMutability": "view",
288
+ "type": "function"
289
+ },
290
+ {
291
+ "inputs": [],
292
+ "name": "REGISTRY_VERSION",
293
+ "outputs": [
294
+ {
295
+ "internalType": "uint256",
296
+ "name": "",
297
+ "type": "uint256"
298
+ }
299
+ ],
300
+ "stateMutability": "view",
301
+ "type": "function"
302
+ },
303
+ {
304
+ "inputs": [
305
+ {
306
+ "internalType": "bytes32",
307
+ "name": "contentHash",
308
+ "type": "bytes32"
309
+ },
310
+ {
311
+ "internalType": "string",
312
+ "name": "uri",
313
+ "type": "string"
314
+ }
315
+ ],
316
+ "name": "anchor",
317
+ "outputs": [
318
+ {
319
+ "internalType": "uint256",
320
+ "name": "index",
321
+ "type": "uint256"
322
+ }
323
+ ],
324
+ "stateMutability": "nonpayable",
325
+ "type": "function"
326
+ },
327
+ {
328
+ "inputs": [
329
+ {
330
+ "internalType": "bytes32",
331
+ "name": "contentHash",
332
+ "type": "bytes32"
333
+ },
334
+ {
335
+ "internalType": "string",
336
+ "name": "uri",
337
+ "type": "string"
338
+ },
339
+ {
340
+ "internalType": "bytes32",
341
+ "name": "parent",
342
+ "type": "bytes32"
343
+ }
344
+ ],
345
+ "name": "anchorWithParent",
346
+ "outputs": [
347
+ {
348
+ "internalType": "uint256",
349
+ "name": "index",
350
+ "type": "uint256"
351
+ }
352
+ ],
353
+ "stateMutability": "nonpayable",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "inputs": [
358
+ {
359
+ "internalType": "bytes32",
360
+ "name": "commitment",
361
+ "type": "bytes32"
362
+ }
363
+ ],
364
+ "name": "commit",
365
+ "outputs": [],
366
+ "stateMutability": "nonpayable",
367
+ "type": "function"
368
+ },
369
+ {
370
+ "inputs": [
371
+ {
372
+ "internalType": "bytes32",
373
+ "name": "contentHash",
374
+ "type": "bytes32"
375
+ },
376
+ {
377
+ "internalType": "address",
378
+ "name": "committer",
379
+ "type": "address"
380
+ },
381
+ {
382
+ "internalType": "bytes32",
383
+ "name": "salt",
384
+ "type": "bytes32"
385
+ }
386
+ ],
387
+ "name": "commitmentOf",
388
+ "outputs": [
389
+ {
390
+ "internalType": "bytes32",
391
+ "name": "",
392
+ "type": "bytes32"
393
+ }
394
+ ],
395
+ "stateMutability": "pure",
396
+ "type": "function"
397
+ },
398
+ {
399
+ "inputs": [
400
+ {
401
+ "internalType": "address",
402
+ "name": "contributor",
403
+ "type": "address"
404
+ }
405
+ ],
406
+ "name": "contributorRecordCount",
407
+ "outputs": [
408
+ {
409
+ "internalType": "uint256",
410
+ "name": "count",
411
+ "type": "uint256"
412
+ }
413
+ ],
414
+ "stateMutability": "view",
415
+ "type": "function"
416
+ },
417
+ {
418
+ "inputs": [
419
+ {
420
+ "internalType": "bytes32",
421
+ "name": "commitment",
422
+ "type": "bytes32"
423
+ }
424
+ ],
425
+ "name": "getCommitment",
426
+ "outputs": [
427
+ {
428
+ "internalType": "address",
429
+ "name": "committer",
430
+ "type": "address"
431
+ },
432
+ {
433
+ "internalType": "uint64",
434
+ "name": "blockNumber",
435
+ "type": "uint64"
436
+ }
437
+ ],
438
+ "stateMutability": "view",
439
+ "type": "function"
440
+ },
441
+ {
442
+ "inputs": [
443
+ {
444
+ "internalType": "bytes32",
445
+ "name": "contentHash",
446
+ "type": "bytes32"
447
+ }
448
+ ],
449
+ "name": "getRecord",
450
+ "outputs": [
451
+ {
452
+ "components": [
453
+ {
454
+ "internalType": "address",
455
+ "name": "contributor",
456
+ "type": "address"
457
+ },
458
+ {
459
+ "internalType": "bool",
460
+ "name": "authorBound",
461
+ "type": "bool"
462
+ },
463
+ {
464
+ "internalType": "uint64",
465
+ "name": "timestamp",
466
+ "type": "uint64"
467
+ },
468
+ {
469
+ "internalType": "uint64",
470
+ "name": "blockNumber",
471
+ "type": "uint64"
472
+ },
473
+ {
474
+ "internalType": "string",
475
+ "name": "uri",
476
+ "type": "string"
477
+ },
478
+ {
479
+ "internalType": "bytes32",
480
+ "name": "parent",
481
+ "type": "bytes32"
482
+ }
483
+ ],
484
+ "internalType": "struct ContributionRegistry.Record",
485
+ "name": "",
486
+ "type": "tuple"
487
+ }
488
+ ],
489
+ "stateMutability": "view",
490
+ "type": "function"
491
+ },
492
+ {
493
+ "inputs": [
494
+ {
495
+ "internalType": "uint256",
496
+ "name": "index",
497
+ "type": "uint256"
498
+ }
499
+ ],
500
+ "name": "getRecordAtIndex",
501
+ "outputs": [
502
+ {
503
+ "internalType": "bytes32",
504
+ "name": "contentHash",
505
+ "type": "bytes32"
506
+ },
507
+ {
508
+ "components": [
509
+ {
510
+ "internalType": "address",
511
+ "name": "contributor",
512
+ "type": "address"
513
+ },
514
+ {
515
+ "internalType": "bool",
516
+ "name": "authorBound",
517
+ "type": "bool"
518
+ },
519
+ {
520
+ "internalType": "uint64",
521
+ "name": "timestamp",
522
+ "type": "uint64"
523
+ },
524
+ {
525
+ "internalType": "uint64",
526
+ "name": "blockNumber",
527
+ "type": "uint64"
528
+ },
529
+ {
530
+ "internalType": "string",
531
+ "name": "uri",
532
+ "type": "string"
533
+ },
534
+ {
535
+ "internalType": "bytes32",
536
+ "name": "parent",
537
+ "type": "bytes32"
538
+ }
539
+ ],
540
+ "internalType": "struct ContributionRegistry.Record",
541
+ "name": "record",
542
+ "type": "tuple"
543
+ }
544
+ ],
545
+ "stateMutability": "view",
546
+ "type": "function"
547
+ },
548
+ {
549
+ "inputs": [
550
+ {
551
+ "internalType": "uint256",
552
+ "name": "start",
553
+ "type": "uint256"
554
+ },
555
+ {
556
+ "internalType": "uint256",
557
+ "name": "count",
558
+ "type": "uint256"
559
+ }
560
+ ],
561
+ "name": "getRecords",
562
+ "outputs": [
563
+ {
564
+ "internalType": "bytes32[]",
565
+ "name": "contentHashes",
566
+ "type": "bytes32[]"
567
+ },
568
+ {
569
+ "components": [
570
+ {
571
+ "internalType": "address",
572
+ "name": "contributor",
573
+ "type": "address"
574
+ },
575
+ {
576
+ "internalType": "bool",
577
+ "name": "authorBound",
578
+ "type": "bool"
579
+ },
580
+ {
581
+ "internalType": "uint64",
582
+ "name": "timestamp",
583
+ "type": "uint64"
584
+ },
585
+ {
586
+ "internalType": "uint64",
587
+ "name": "blockNumber",
588
+ "type": "uint64"
589
+ },
590
+ {
591
+ "internalType": "string",
592
+ "name": "uri",
593
+ "type": "string"
594
+ },
595
+ {
596
+ "internalType": "bytes32",
597
+ "name": "parent",
598
+ "type": "bytes32"
599
+ }
600
+ ],
601
+ "internalType": "struct ContributionRegistry.Record[]",
602
+ "name": "records",
603
+ "type": "tuple[]"
604
+ }
605
+ ],
606
+ "stateMutability": "view",
607
+ "type": "function"
608
+ },
609
+ {
610
+ "inputs": [
611
+ {
612
+ "internalType": "address",
613
+ "name": "contributor",
614
+ "type": "address"
615
+ },
616
+ {
617
+ "internalType": "uint256",
618
+ "name": "start",
619
+ "type": "uint256"
620
+ },
621
+ {
622
+ "internalType": "uint256",
623
+ "name": "count",
624
+ "type": "uint256"
625
+ }
626
+ ],
627
+ "name": "getRecordsByContributor",
628
+ "outputs": [
629
+ {
630
+ "internalType": "bytes32[]",
631
+ "name": "contentHashes",
632
+ "type": "bytes32[]"
633
+ },
634
+ {
635
+ "components": [
636
+ {
637
+ "internalType": "address",
638
+ "name": "contributor",
639
+ "type": "address"
640
+ },
641
+ {
642
+ "internalType": "bool",
643
+ "name": "authorBound",
644
+ "type": "bool"
645
+ },
646
+ {
647
+ "internalType": "uint64",
648
+ "name": "timestamp",
649
+ "type": "uint64"
650
+ },
651
+ {
652
+ "internalType": "uint64",
653
+ "name": "blockNumber",
654
+ "type": "uint64"
655
+ },
656
+ {
657
+ "internalType": "string",
658
+ "name": "uri",
659
+ "type": "string"
660
+ },
661
+ {
662
+ "internalType": "bytes32",
663
+ "name": "parent",
664
+ "type": "bytes32"
665
+ }
666
+ ],
667
+ "internalType": "struct ContributionRegistry.Record[]",
668
+ "name": "records",
669
+ "type": "tuple[]"
670
+ }
671
+ ],
672
+ "stateMutability": "view",
673
+ "type": "function"
674
+ },
675
+ {
676
+ "inputs": [
677
+ {
678
+ "internalType": "uint256",
679
+ "name": "index",
680
+ "type": "uint256"
681
+ }
682
+ ],
683
+ "name": "hashAtIndex",
684
+ "outputs": [
685
+ {
686
+ "internalType": "bytes32",
687
+ "name": "",
688
+ "type": "bytes32"
689
+ }
690
+ ],
691
+ "stateMutability": "view",
692
+ "type": "function"
693
+ },
694
+ {
695
+ "inputs": [
696
+ {
697
+ "internalType": "bytes32",
698
+ "name": "contentHash",
699
+ "type": "bytes32"
700
+ }
701
+ ],
702
+ "name": "isAnchored",
703
+ "outputs": [
704
+ {
705
+ "internalType": "bool",
706
+ "name": "",
707
+ "type": "bool"
708
+ }
709
+ ],
710
+ "stateMutability": "view",
711
+ "type": "function"
712
+ },
713
+ {
714
+ "inputs": [
715
+ {
716
+ "internalType": "bytes32",
717
+ "name": "contentHash",
718
+ "type": "bytes32"
719
+ }
720
+ ],
721
+ "name": "leafHash",
722
+ "outputs": [
723
+ {
724
+ "internalType": "bytes32",
725
+ "name": "",
726
+ "type": "bytes32"
727
+ }
728
+ ],
729
+ "stateMutability": "pure",
730
+ "type": "function"
731
+ },
732
+ {
733
+ "inputs": [
734
+ {
735
+ "internalType": "bytes32",
736
+ "name": "a",
737
+ "type": "bytes32"
738
+ },
739
+ {
740
+ "internalType": "bytes32",
741
+ "name": "b",
742
+ "type": "bytes32"
743
+ }
744
+ ],
745
+ "name": "nodeHash",
746
+ "outputs": [
747
+ {
748
+ "internalType": "bytes32",
749
+ "name": "",
750
+ "type": "bytes32"
751
+ }
752
+ ],
753
+ "stateMutability": "pure",
754
+ "type": "function"
755
+ },
756
+ {
757
+ "inputs": [
758
+ {
759
+ "internalType": "bytes32",
760
+ "name": "contentHash",
761
+ "type": "bytes32"
762
+ },
763
+ {
764
+ "internalType": "bytes32",
765
+ "name": "salt",
766
+ "type": "bytes32"
767
+ },
768
+ {
769
+ "internalType": "string",
770
+ "name": "uri",
771
+ "type": "string"
772
+ }
773
+ ],
774
+ "name": "reveal",
775
+ "outputs": [
776
+ {
777
+ "internalType": "uint256",
778
+ "name": "index",
779
+ "type": "uint256"
780
+ }
781
+ ],
782
+ "stateMutability": "nonpayable",
783
+ "type": "function"
784
+ },
785
+ {
786
+ "inputs": [
787
+ {
788
+ "internalType": "bytes32",
789
+ "name": "contentHash",
790
+ "type": "bytes32"
791
+ },
792
+ {
793
+ "internalType": "bytes32",
794
+ "name": "salt",
795
+ "type": "bytes32"
796
+ },
797
+ {
798
+ "internalType": "string",
799
+ "name": "uri",
800
+ "type": "string"
801
+ },
802
+ {
803
+ "internalType": "bytes32",
804
+ "name": "parent",
805
+ "type": "bytes32"
806
+ }
807
+ ],
808
+ "name": "revealWithParent",
809
+ "outputs": [
810
+ {
811
+ "internalType": "uint256",
812
+ "name": "index",
813
+ "type": "uint256"
814
+ }
815
+ ],
816
+ "stateMutability": "nonpayable",
817
+ "type": "function"
818
+ },
819
+ {
820
+ "inputs": [
821
+ {
822
+ "internalType": "bytes4",
823
+ "name": "interfaceId",
824
+ "type": "bytes4"
825
+ }
826
+ ],
827
+ "name": "supportsInterface",
828
+ "outputs": [
829
+ {
830
+ "internalType": "bool",
831
+ "name": "",
832
+ "type": "bool"
833
+ }
834
+ ],
835
+ "stateMutability": "pure",
836
+ "type": "function"
837
+ },
838
+ {
839
+ "inputs": [],
840
+ "name": "total",
841
+ "outputs": [
842
+ {
843
+ "internalType": "uint256",
844
+ "name": "",
845
+ "type": "uint256"
846
+ }
847
+ ],
848
+ "stateMutability": "view",
849
+ "type": "function"
850
+ },
851
+ {
852
+ "inputs": [
853
+ {
854
+ "internalType": "bytes32",
855
+ "name": "root",
856
+ "type": "bytes32"
857
+ },
858
+ {
859
+ "internalType": "bytes32",
860
+ "name": "contentHash",
861
+ "type": "bytes32"
862
+ },
863
+ {
864
+ "internalType": "bytes32[]",
865
+ "name": "proof",
866
+ "type": "bytes32[]"
867
+ }
868
+ ],
869
+ "name": "verifyLeaf",
870
+ "outputs": [
871
+ {
872
+ "internalType": "bool",
873
+ "name": "",
874
+ "type": "bool"
875
+ }
876
+ ],
877
+ "stateMutability": "pure",
878
+ "type": "function"
879
+ }
880
+ ]
881
+ }