@agenticprimitives/contracts 0.1.0-alpha.2

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 (84) hide show
  1. package/AUDIT.md +67 -0
  2. package/CLAUDE.md +40 -0
  3. package/LICENSE +21 -0
  4. package/README.md +45 -0
  5. package/deployments-anvil.json +1 -0
  6. package/deployments-base-sepolia.json +1 -0
  7. package/dist/abi/AgentNameAttributeResolver.json +798 -0
  8. package/dist/abi/AgentNamePredicates.json +1 -0
  9. package/dist/abi/AgentNameRegistry.json +826 -0
  10. package/dist/abi/AgentNameUniversalResolver.json +222 -0
  11. package/dist/abi/AgentProfilePredicates.json +1 -0
  12. package/dist/abi/AgentProfileResolver.json +1044 -0
  13. package/dist/abi/AgentRelationship.json +583 -0
  14. package/dist/abi/AgentRelationshipPredicates.json +1 -0
  15. package/dist/abi/AgenticGovernance.json +259 -0
  16. package/dist/abi/AllowedMethodsEnforcer.json +108 -0
  17. package/dist/abi/AllowedTargetsEnforcer.json +103 -0
  18. package/dist/abi/ApprovedHashRegistry.json +114 -0
  19. package/dist/abi/AttributeStorage.json +557 -0
  20. package/dist/abi/CaveatEnforcerBase.json +130 -0
  21. package/dist/abi/GovernanceManaged.json +43 -0
  22. package/dist/abi/IAttributeReader.json +98 -0
  23. package/dist/abi/ICaveatEnforcer.json +98 -0
  24. package/dist/abi/IDelegationManager.json +211 -0
  25. package/dist/abi/IERC7579Module.json +34 -0
  26. package/dist/abi/IERC7579ModuleLifecycle.json +60 -0
  27. package/dist/abi/IGovernanceView.json +34 -0
  28. package/dist/abi/MultiSendCallOnly.json +29 -0
  29. package/dist/abi/MultiSendCallOnlyHarness.json +42 -0
  30. package/dist/abi/OntologyTermRegistry.json +397 -0
  31. package/dist/abi/P256Verifier.json +1 -0
  32. package/dist/abi/PermissionlessSubregistry.json +207 -0
  33. package/dist/abi/RelationshipTypeRegistry.json +455 -0
  34. package/dist/abi/ShapeRegistry.json +627 -0
  35. package/dist/abi/SmartAgentModuleTypes.json +1 -0
  36. package/dist/abi/TimestampEnforcer.json +108 -0
  37. package/dist/abi/ValueEnforcer.json +103 -0
  38. package/dist/abi/WebAuthnLib.json +1 -0
  39. package/dist/abi/index.d.ts +35 -0
  40. package/dist/abi/index.js +35 -0
  41. package/package.json +48 -0
  42. package/spec.md +52 -0
  43. package/src/AgentAccount.sol +1374 -0
  44. package/src/AgentAccountFactory.sol +274 -0
  45. package/src/ApprovedHashRegistry.sol +57 -0
  46. package/src/IAgentAccount.sol +138 -0
  47. package/src/SmartAgentPaymaster.sol +281 -0
  48. package/src/UniversalSignatureValidator.sol +136 -0
  49. package/src/agency/DelegationManager.sol +374 -0
  50. package/src/agency/ICaveatEnforcer.sol +62 -0
  51. package/src/agency/IDelegationManager.sol +69 -0
  52. package/src/custody/CustodyPolicy.sol +892 -0
  53. package/src/custody/IERC7579Module.sol +60 -0
  54. package/src/enforcers/AllowedMethodsEnforcer.AUDIT.md +51 -0
  55. package/src/enforcers/AllowedMethodsEnforcer.sol +48 -0
  56. package/src/enforcers/AllowedTargetsEnforcer.AUDIT.md +49 -0
  57. package/src/enforcers/AllowedTargetsEnforcer.sol +44 -0
  58. package/src/enforcers/CaveatEnforcerBase.sol +19 -0
  59. package/src/enforcers/QuorumEnforcer.AUDIT.md +71 -0
  60. package/src/enforcers/QuorumEnforcer.sol +191 -0
  61. package/src/enforcers/TimestampEnforcer.AUDIT.md +50 -0
  62. package/src/enforcers/TimestampEnforcer.sol +43 -0
  63. package/src/enforcers/ValueEnforcer.AUDIT.md +51 -0
  64. package/src/enforcers/ValueEnforcer.sol +41 -0
  65. package/src/governance/AgenticGovernance.sol +140 -0
  66. package/src/governance/GovernanceManaged.sol +75 -0
  67. package/src/governance/IGovernance.sol +15 -0
  68. package/src/identity/AgentProfilePredicates.sol +40 -0
  69. package/src/identity/AgentProfileResolver.sol +194 -0
  70. package/src/libraries/MultiSendCallOnly.sol +95 -0
  71. package/src/libraries/P256Verifier.sol +47 -0
  72. package/src/libraries/SignatureSlotRecovery.sol +196 -0
  73. package/src/libraries/WebAuthnLib.sol +164 -0
  74. package/src/naming/AgentNameAttributeResolver.sol +95 -0
  75. package/src/naming/AgentNamePredicates.sol +74 -0
  76. package/src/naming/AgentNameRegistry.sol +362 -0
  77. package/src/naming/AgentNameUniversalResolver.sol +210 -0
  78. package/src/naming/PermissionlessSubregistry.sol +98 -0
  79. package/src/ontology/AttributeStorage.sol +289 -0
  80. package/src/ontology/OntologyTermRegistry.sol +146 -0
  81. package/src/ontology/ShapeRegistry.sol +240 -0
  82. package/src/relationships/AgentRelationship.sol +289 -0
  83. package/src/relationships/AgentRelationshipPredicates.sol +44 -0
  84. package/src/relationships/RelationshipTypeRegistry.sol +143 -0
@@ -0,0 +1,1044 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "ontologyRegistry",
7
+ "type": "address",
8
+ "internalType": "address"
9
+ }
10
+ ],
11
+ "stateMutability": "nonpayable"
12
+ },
13
+ {
14
+ "type": "function",
15
+ "name": "DT_ADDRESS_ARR_PUB",
16
+ "inputs": [],
17
+ "outputs": [
18
+ {
19
+ "name": "",
20
+ "type": "uint8",
21
+ "internalType": "uint8"
22
+ }
23
+ ],
24
+ "stateMutability": "pure"
25
+ },
26
+ {
27
+ "type": "function",
28
+ "name": "DT_ADDRESS_PUB",
29
+ "inputs": [],
30
+ "outputs": [
31
+ {
32
+ "name": "",
33
+ "type": "uint8",
34
+ "internalType": "uint8"
35
+ }
36
+ ],
37
+ "stateMutability": "pure"
38
+ },
39
+ {
40
+ "type": "function",
41
+ "name": "DT_BOOL_PUB",
42
+ "inputs": [],
43
+ "outputs": [
44
+ {
45
+ "name": "",
46
+ "type": "uint8",
47
+ "internalType": "uint8"
48
+ }
49
+ ],
50
+ "stateMutability": "pure"
51
+ },
52
+ {
53
+ "type": "function",
54
+ "name": "DT_BYTES32_ARR_PUB",
55
+ "inputs": [],
56
+ "outputs": [
57
+ {
58
+ "name": "",
59
+ "type": "uint8",
60
+ "internalType": "uint8"
61
+ }
62
+ ],
63
+ "stateMutability": "pure"
64
+ },
65
+ {
66
+ "type": "function",
67
+ "name": "DT_BYTES32_PUB",
68
+ "inputs": [],
69
+ "outputs": [
70
+ {
71
+ "name": "",
72
+ "type": "uint8",
73
+ "internalType": "uint8"
74
+ }
75
+ ],
76
+ "stateMutability": "pure"
77
+ },
78
+ {
79
+ "type": "function",
80
+ "name": "DT_STRING_ARR_PUB",
81
+ "inputs": [],
82
+ "outputs": [
83
+ {
84
+ "name": "",
85
+ "type": "uint8",
86
+ "internalType": "uint8"
87
+ }
88
+ ],
89
+ "stateMutability": "pure"
90
+ },
91
+ {
92
+ "type": "function",
93
+ "name": "DT_STRING_PUB",
94
+ "inputs": [],
95
+ "outputs": [
96
+ {
97
+ "name": "",
98
+ "type": "uint8",
99
+ "internalType": "uint8"
100
+ }
101
+ ],
102
+ "stateMutability": "pure"
103
+ },
104
+ {
105
+ "type": "function",
106
+ "name": "DT_UINT256_PUB",
107
+ "inputs": [],
108
+ "outputs": [
109
+ {
110
+ "name": "",
111
+ "type": "uint8",
112
+ "internalType": "uint8"
113
+ }
114
+ ],
115
+ "stateMutability": "pure"
116
+ },
117
+ {
118
+ "type": "function",
119
+ "name": "ONTOLOGY",
120
+ "inputs": [],
121
+ "outputs": [
122
+ {
123
+ "name": "",
124
+ "type": "address",
125
+ "internalType": "contract OntologyTermRegistry"
126
+ }
127
+ ],
128
+ "stateMutability": "view"
129
+ },
130
+ {
131
+ "type": "function",
132
+ "name": "agentCount",
133
+ "inputs": [],
134
+ "outputs": [
135
+ {
136
+ "name": "",
137
+ "type": "uint256",
138
+ "internalType": "uint256"
139
+ }
140
+ ],
141
+ "stateMutability": "view"
142
+ },
143
+ {
144
+ "type": "function",
145
+ "name": "allSubjects",
146
+ "inputs": [],
147
+ "outputs": [
148
+ {
149
+ "name": "",
150
+ "type": "bytes32[]",
151
+ "internalType": "bytes32[]"
152
+ }
153
+ ],
154
+ "stateMutability": "view"
155
+ },
156
+ {
157
+ "type": "function",
158
+ "name": "datatypeOf",
159
+ "inputs": [
160
+ {
161
+ "name": "subject",
162
+ "type": "bytes32",
163
+ "internalType": "bytes32"
164
+ },
165
+ {
166
+ "name": "predicate",
167
+ "type": "bytes32",
168
+ "internalType": "bytes32"
169
+ }
170
+ ],
171
+ "outputs": [
172
+ {
173
+ "name": "",
174
+ "type": "uint8",
175
+ "internalType": "uint8"
176
+ }
177
+ ],
178
+ "stateMutability": "view"
179
+ },
180
+ {
181
+ "type": "function",
182
+ "name": "getAddress",
183
+ "inputs": [
184
+ {
185
+ "name": "subject",
186
+ "type": "bytes32",
187
+ "internalType": "bytes32"
188
+ },
189
+ {
190
+ "name": "predicate",
191
+ "type": "bytes32",
192
+ "internalType": "bytes32"
193
+ }
194
+ ],
195
+ "outputs": [
196
+ {
197
+ "name": "",
198
+ "type": "address",
199
+ "internalType": "address"
200
+ }
201
+ ],
202
+ "stateMutability": "view"
203
+ },
204
+ {
205
+ "type": "function",
206
+ "name": "getAddressArr",
207
+ "inputs": [
208
+ {
209
+ "name": "subject",
210
+ "type": "bytes32",
211
+ "internalType": "bytes32"
212
+ },
213
+ {
214
+ "name": "predicate",
215
+ "type": "bytes32",
216
+ "internalType": "bytes32"
217
+ }
218
+ ],
219
+ "outputs": [
220
+ {
221
+ "name": "",
222
+ "type": "address[]",
223
+ "internalType": "address[]"
224
+ }
225
+ ],
226
+ "stateMutability": "view"
227
+ },
228
+ {
229
+ "type": "function",
230
+ "name": "getAddressProperty",
231
+ "inputs": [
232
+ {
233
+ "name": "agent",
234
+ "type": "address",
235
+ "internalType": "address"
236
+ },
237
+ {
238
+ "name": "predicate",
239
+ "type": "bytes32",
240
+ "internalType": "bytes32"
241
+ }
242
+ ],
243
+ "outputs": [
244
+ {
245
+ "name": "",
246
+ "type": "address",
247
+ "internalType": "address"
248
+ }
249
+ ],
250
+ "stateMutability": "view"
251
+ },
252
+ {
253
+ "type": "function",
254
+ "name": "getAllAgents",
255
+ "inputs": [],
256
+ "outputs": [
257
+ {
258
+ "name": "",
259
+ "type": "address[]",
260
+ "internalType": "address[]"
261
+ }
262
+ ],
263
+ "stateMutability": "view"
264
+ },
265
+ {
266
+ "type": "function",
267
+ "name": "getBool",
268
+ "inputs": [
269
+ {
270
+ "name": "subject",
271
+ "type": "bytes32",
272
+ "internalType": "bytes32"
273
+ },
274
+ {
275
+ "name": "predicate",
276
+ "type": "bytes32",
277
+ "internalType": "bytes32"
278
+ }
279
+ ],
280
+ "outputs": [
281
+ {
282
+ "name": "",
283
+ "type": "bool",
284
+ "internalType": "bool"
285
+ }
286
+ ],
287
+ "stateMutability": "view"
288
+ },
289
+ {
290
+ "type": "function",
291
+ "name": "getBoolProperty",
292
+ "inputs": [
293
+ {
294
+ "name": "agent",
295
+ "type": "address",
296
+ "internalType": "address"
297
+ },
298
+ {
299
+ "name": "predicate",
300
+ "type": "bytes32",
301
+ "internalType": "bytes32"
302
+ }
303
+ ],
304
+ "outputs": [
305
+ {
306
+ "name": "",
307
+ "type": "bool",
308
+ "internalType": "bool"
309
+ }
310
+ ],
311
+ "stateMutability": "view"
312
+ },
313
+ {
314
+ "type": "function",
315
+ "name": "getBytes32",
316
+ "inputs": [
317
+ {
318
+ "name": "subject",
319
+ "type": "bytes32",
320
+ "internalType": "bytes32"
321
+ },
322
+ {
323
+ "name": "predicate",
324
+ "type": "bytes32",
325
+ "internalType": "bytes32"
326
+ }
327
+ ],
328
+ "outputs": [
329
+ {
330
+ "name": "",
331
+ "type": "bytes32",
332
+ "internalType": "bytes32"
333
+ }
334
+ ],
335
+ "stateMutability": "view"
336
+ },
337
+ {
338
+ "type": "function",
339
+ "name": "getBytes32Arr",
340
+ "inputs": [
341
+ {
342
+ "name": "subject",
343
+ "type": "bytes32",
344
+ "internalType": "bytes32"
345
+ },
346
+ {
347
+ "name": "predicate",
348
+ "type": "bytes32",
349
+ "internalType": "bytes32"
350
+ }
351
+ ],
352
+ "outputs": [
353
+ {
354
+ "name": "",
355
+ "type": "bytes32[]",
356
+ "internalType": "bytes32[]"
357
+ }
358
+ ],
359
+ "stateMutability": "view"
360
+ },
361
+ {
362
+ "type": "function",
363
+ "name": "getBytes32Property",
364
+ "inputs": [
365
+ {
366
+ "name": "agent",
367
+ "type": "address",
368
+ "internalType": "address"
369
+ },
370
+ {
371
+ "name": "predicate",
372
+ "type": "bytes32",
373
+ "internalType": "bytes32"
374
+ }
375
+ ],
376
+ "outputs": [
377
+ {
378
+ "name": "",
379
+ "type": "bytes32",
380
+ "internalType": "bytes32"
381
+ }
382
+ ],
383
+ "stateMutability": "view"
384
+ },
385
+ {
386
+ "type": "function",
387
+ "name": "getPredicateKeys",
388
+ "inputs": [
389
+ {
390
+ "name": "agent",
391
+ "type": "address",
392
+ "internalType": "address"
393
+ }
394
+ ],
395
+ "outputs": [
396
+ {
397
+ "name": "",
398
+ "type": "bytes32[]",
399
+ "internalType": "bytes32[]"
400
+ }
401
+ ],
402
+ "stateMutability": "view"
403
+ },
404
+ {
405
+ "type": "function",
406
+ "name": "getString",
407
+ "inputs": [
408
+ {
409
+ "name": "subject",
410
+ "type": "bytes32",
411
+ "internalType": "bytes32"
412
+ },
413
+ {
414
+ "name": "predicate",
415
+ "type": "bytes32",
416
+ "internalType": "bytes32"
417
+ }
418
+ ],
419
+ "outputs": [
420
+ {
421
+ "name": "",
422
+ "type": "string",
423
+ "internalType": "string"
424
+ }
425
+ ],
426
+ "stateMutability": "view"
427
+ },
428
+ {
429
+ "type": "function",
430
+ "name": "getStringArr",
431
+ "inputs": [
432
+ {
433
+ "name": "subject",
434
+ "type": "bytes32",
435
+ "internalType": "bytes32"
436
+ },
437
+ {
438
+ "name": "predicate",
439
+ "type": "bytes32",
440
+ "internalType": "bytes32"
441
+ }
442
+ ],
443
+ "outputs": [
444
+ {
445
+ "name": "",
446
+ "type": "string[]",
447
+ "internalType": "string[]"
448
+ }
449
+ ],
450
+ "stateMutability": "view"
451
+ },
452
+ {
453
+ "type": "function",
454
+ "name": "getStringProperty",
455
+ "inputs": [
456
+ {
457
+ "name": "agent",
458
+ "type": "address",
459
+ "internalType": "address"
460
+ },
461
+ {
462
+ "name": "predicate",
463
+ "type": "bytes32",
464
+ "internalType": "bytes32"
465
+ }
466
+ ],
467
+ "outputs": [
468
+ {
469
+ "name": "",
470
+ "type": "string",
471
+ "internalType": "string"
472
+ }
473
+ ],
474
+ "stateMutability": "view"
475
+ },
476
+ {
477
+ "type": "function",
478
+ "name": "getUint",
479
+ "inputs": [
480
+ {
481
+ "name": "subject",
482
+ "type": "bytes32",
483
+ "internalType": "bytes32"
484
+ },
485
+ {
486
+ "name": "predicate",
487
+ "type": "bytes32",
488
+ "internalType": "bytes32"
489
+ }
490
+ ],
491
+ "outputs": [
492
+ {
493
+ "name": "",
494
+ "type": "uint256",
495
+ "internalType": "uint256"
496
+ }
497
+ ],
498
+ "stateMutability": "view"
499
+ },
500
+ {
501
+ "type": "function",
502
+ "name": "getUintProperty",
503
+ "inputs": [
504
+ {
505
+ "name": "agent",
506
+ "type": "address",
507
+ "internalType": "address"
508
+ },
509
+ {
510
+ "name": "predicate",
511
+ "type": "bytes32",
512
+ "internalType": "bytes32"
513
+ }
514
+ ],
515
+ "outputs": [
516
+ {
517
+ "name": "",
518
+ "type": "uint256",
519
+ "internalType": "uint256"
520
+ }
521
+ ],
522
+ "stateMutability": "view"
523
+ },
524
+ {
525
+ "type": "function",
526
+ "name": "isRegistered",
527
+ "inputs": [
528
+ {
529
+ "name": "agent",
530
+ "type": "address",
531
+ "internalType": "address"
532
+ }
533
+ ],
534
+ "outputs": [
535
+ {
536
+ "name": "",
537
+ "type": "bool",
538
+ "internalType": "bool"
539
+ }
540
+ ],
541
+ "stateMutability": "view"
542
+ },
543
+ {
544
+ "type": "function",
545
+ "name": "isSet",
546
+ "inputs": [
547
+ {
548
+ "name": "subject",
549
+ "type": "bytes32",
550
+ "internalType": "bytes32"
551
+ },
552
+ {
553
+ "name": "predicate",
554
+ "type": "bytes32",
555
+ "internalType": "bytes32"
556
+ }
557
+ ],
558
+ "outputs": [
559
+ {
560
+ "name": "",
561
+ "type": "bool",
562
+ "internalType": "bool"
563
+ }
564
+ ],
565
+ "stateMutability": "view"
566
+ },
567
+ {
568
+ "type": "function",
569
+ "name": "predicatesOf",
570
+ "inputs": [
571
+ {
572
+ "name": "subject",
573
+ "type": "bytes32",
574
+ "internalType": "bytes32"
575
+ }
576
+ ],
577
+ "outputs": [
578
+ {
579
+ "name": "",
580
+ "type": "bytes32[]",
581
+ "internalType": "bytes32[]"
582
+ }
583
+ ],
584
+ "stateMutability": "view"
585
+ },
586
+ {
587
+ "type": "function",
588
+ "name": "register",
589
+ "inputs": [
590
+ {
591
+ "name": "agent",
592
+ "type": "address",
593
+ "internalType": "address"
594
+ },
595
+ {
596
+ "name": "displayName",
597
+ "type": "string",
598
+ "internalType": "string"
599
+ },
600
+ {
601
+ "name": "description",
602
+ "type": "string",
603
+ "internalType": "string"
604
+ },
605
+ {
606
+ "name": "agentKind",
607
+ "type": "bytes32",
608
+ "internalType": "bytes32"
609
+ },
610
+ {
611
+ "name": "profileSchemaURI",
612
+ "type": "string",
613
+ "internalType": "string"
614
+ }
615
+ ],
616
+ "outputs": [],
617
+ "stateMutability": "nonpayable"
618
+ },
619
+ {
620
+ "type": "function",
621
+ "name": "setActive",
622
+ "inputs": [
623
+ {
624
+ "name": "agent",
625
+ "type": "address",
626
+ "internalType": "address"
627
+ },
628
+ {
629
+ "name": "active",
630
+ "type": "bool",
631
+ "internalType": "bool"
632
+ }
633
+ ],
634
+ "outputs": [],
635
+ "stateMutability": "nonpayable"
636
+ },
637
+ {
638
+ "type": "function",
639
+ "name": "setAddressProperty",
640
+ "inputs": [
641
+ {
642
+ "name": "agent",
643
+ "type": "address",
644
+ "internalType": "address"
645
+ },
646
+ {
647
+ "name": "predicate",
648
+ "type": "bytes32",
649
+ "internalType": "bytes32"
650
+ },
651
+ {
652
+ "name": "value",
653
+ "type": "address",
654
+ "internalType": "address"
655
+ }
656
+ ],
657
+ "outputs": [],
658
+ "stateMutability": "nonpayable"
659
+ },
660
+ {
661
+ "type": "function",
662
+ "name": "setBoolProperty",
663
+ "inputs": [
664
+ {
665
+ "name": "agent",
666
+ "type": "address",
667
+ "internalType": "address"
668
+ },
669
+ {
670
+ "name": "predicate",
671
+ "type": "bytes32",
672
+ "internalType": "bytes32"
673
+ },
674
+ {
675
+ "name": "value",
676
+ "type": "bool",
677
+ "internalType": "bool"
678
+ }
679
+ ],
680
+ "outputs": [],
681
+ "stateMutability": "nonpayable"
682
+ },
683
+ {
684
+ "type": "function",
685
+ "name": "setBytes32Property",
686
+ "inputs": [
687
+ {
688
+ "name": "agent",
689
+ "type": "address",
690
+ "internalType": "address"
691
+ },
692
+ {
693
+ "name": "predicate",
694
+ "type": "bytes32",
695
+ "internalType": "bytes32"
696
+ },
697
+ {
698
+ "name": "value",
699
+ "type": "bytes32",
700
+ "internalType": "bytes32"
701
+ }
702
+ ],
703
+ "outputs": [],
704
+ "stateMutability": "nonpayable"
705
+ },
706
+ {
707
+ "type": "function",
708
+ "name": "setMetadata",
709
+ "inputs": [
710
+ {
711
+ "name": "agent",
712
+ "type": "address",
713
+ "internalType": "address"
714
+ },
715
+ {
716
+ "name": "metadataURI",
717
+ "type": "string",
718
+ "internalType": "string"
719
+ },
720
+ {
721
+ "name": "metadataHash",
722
+ "type": "bytes32",
723
+ "internalType": "bytes32"
724
+ }
725
+ ],
726
+ "outputs": [],
727
+ "stateMutability": "nonpayable"
728
+ },
729
+ {
730
+ "type": "function",
731
+ "name": "setStringProperty",
732
+ "inputs": [
733
+ {
734
+ "name": "agent",
735
+ "type": "address",
736
+ "internalType": "address"
737
+ },
738
+ {
739
+ "name": "predicate",
740
+ "type": "bytes32",
741
+ "internalType": "bytes32"
742
+ },
743
+ {
744
+ "name": "value",
745
+ "type": "string",
746
+ "internalType": "string"
747
+ }
748
+ ],
749
+ "outputs": [],
750
+ "stateMutability": "nonpayable"
751
+ },
752
+ {
753
+ "type": "function",
754
+ "name": "setUintProperty",
755
+ "inputs": [
756
+ {
757
+ "name": "agent",
758
+ "type": "address",
759
+ "internalType": "address"
760
+ },
761
+ {
762
+ "name": "predicate",
763
+ "type": "bytes32",
764
+ "internalType": "bytes32"
765
+ },
766
+ {
767
+ "name": "value",
768
+ "type": "uint256",
769
+ "internalType": "uint256"
770
+ }
771
+ ],
772
+ "outputs": [],
773
+ "stateMutability": "nonpayable"
774
+ },
775
+ {
776
+ "type": "function",
777
+ "name": "subjectCount",
778
+ "inputs": [],
779
+ "outputs": [
780
+ {
781
+ "name": "",
782
+ "type": "uint256",
783
+ "internalType": "uint256"
784
+ }
785
+ ],
786
+ "stateMutability": "view"
787
+ },
788
+ {
789
+ "type": "function",
790
+ "name": "subjectFor",
791
+ "inputs": [
792
+ {
793
+ "name": "agent",
794
+ "type": "address",
795
+ "internalType": "address"
796
+ }
797
+ ],
798
+ "outputs": [
799
+ {
800
+ "name": "",
801
+ "type": "bytes32",
802
+ "internalType": "bytes32"
803
+ }
804
+ ],
805
+ "stateMutability": "pure"
806
+ },
807
+ {
808
+ "type": "function",
809
+ "name": "subjectVersion",
810
+ "inputs": [
811
+ {
812
+ "name": "subject",
813
+ "type": "bytes32",
814
+ "internalType": "bytes32"
815
+ }
816
+ ],
817
+ "outputs": [
818
+ {
819
+ "name": "",
820
+ "type": "uint64",
821
+ "internalType": "uint64"
822
+ }
823
+ ],
824
+ "stateMutability": "view"
825
+ },
826
+ {
827
+ "type": "function",
828
+ "name": "updatedAt",
829
+ "inputs": [
830
+ {
831
+ "name": "subject",
832
+ "type": "bytes32",
833
+ "internalType": "bytes32"
834
+ },
835
+ {
836
+ "name": "predicate",
837
+ "type": "bytes32",
838
+ "internalType": "bytes32"
839
+ }
840
+ ],
841
+ "outputs": [
842
+ {
843
+ "name": "",
844
+ "type": "uint64",
845
+ "internalType": "uint64"
846
+ }
847
+ ],
848
+ "stateMutability": "view"
849
+ },
850
+ {
851
+ "type": "event",
852
+ "name": "AgentRegistered",
853
+ "inputs": [
854
+ {
855
+ "name": "agent",
856
+ "type": "address",
857
+ "indexed": true,
858
+ "internalType": "address"
859
+ },
860
+ {
861
+ "name": "displayName",
862
+ "type": "string",
863
+ "indexed": false,
864
+ "internalType": "string"
865
+ },
866
+ {
867
+ "name": "agentKind",
868
+ "type": "bytes32",
869
+ "indexed": true,
870
+ "internalType": "bytes32"
871
+ }
872
+ ],
873
+ "anonymous": false
874
+ },
875
+ {
876
+ "type": "event",
877
+ "name": "AttributeAppended",
878
+ "inputs": [
879
+ {
880
+ "name": "subject",
881
+ "type": "bytes32",
882
+ "indexed": true,
883
+ "internalType": "bytes32"
884
+ },
885
+ {
886
+ "name": "predicate",
887
+ "type": "bytes32",
888
+ "indexed": true,
889
+ "internalType": "bytes32"
890
+ },
891
+ {
892
+ "name": "datatype",
893
+ "type": "uint8",
894
+ "indexed": false,
895
+ "internalType": "uint8"
896
+ },
897
+ {
898
+ "name": "version",
899
+ "type": "uint64",
900
+ "indexed": false,
901
+ "internalType": "uint64"
902
+ }
903
+ ],
904
+ "anonymous": false
905
+ },
906
+ {
907
+ "type": "event",
908
+ "name": "AttributeSet",
909
+ "inputs": [
910
+ {
911
+ "name": "subject",
912
+ "type": "bytes32",
913
+ "indexed": true,
914
+ "internalType": "bytes32"
915
+ },
916
+ {
917
+ "name": "predicate",
918
+ "type": "bytes32",
919
+ "indexed": true,
920
+ "internalType": "bytes32"
921
+ },
922
+ {
923
+ "name": "datatype",
924
+ "type": "uint8",
925
+ "indexed": false,
926
+ "internalType": "uint8"
927
+ },
928
+ {
929
+ "name": "version",
930
+ "type": "uint64",
931
+ "indexed": false,
932
+ "internalType": "uint64"
933
+ }
934
+ ],
935
+ "anonymous": false
936
+ },
937
+ {
938
+ "type": "event",
939
+ "name": "AttributeUnset",
940
+ "inputs": [
941
+ {
942
+ "name": "subject",
943
+ "type": "bytes32",
944
+ "indexed": true,
945
+ "internalType": "bytes32"
946
+ },
947
+ {
948
+ "name": "predicate",
949
+ "type": "bytes32",
950
+ "indexed": true,
951
+ "internalType": "bytes32"
952
+ },
953
+ {
954
+ "name": "version",
955
+ "type": "uint64",
956
+ "indexed": false,
957
+ "internalType": "uint64"
958
+ }
959
+ ],
960
+ "anonymous": false
961
+ },
962
+ {
963
+ "type": "event",
964
+ "name": "MetadataUpdated",
965
+ "inputs": [
966
+ {
967
+ "name": "agent",
968
+ "type": "address",
969
+ "indexed": true,
970
+ "internalType": "address"
971
+ },
972
+ {
973
+ "name": "metadataURI",
974
+ "type": "string",
975
+ "indexed": false,
976
+ "internalType": "string"
977
+ },
978
+ {
979
+ "name": "metadataHash",
980
+ "type": "bytes32",
981
+ "indexed": false,
982
+ "internalType": "bytes32"
983
+ }
984
+ ],
985
+ "anonymous": false
986
+ },
987
+ {
988
+ "type": "event",
989
+ "name": "PropertySet",
990
+ "inputs": [
991
+ {
992
+ "name": "agent",
993
+ "type": "address",
994
+ "indexed": true,
995
+ "internalType": "address"
996
+ },
997
+ {
998
+ "name": "predicate",
999
+ "type": "bytes32",
1000
+ "indexed": true,
1001
+ "internalType": "bytes32"
1002
+ }
1003
+ ],
1004
+ "anonymous": false
1005
+ },
1006
+ {
1007
+ "type": "event",
1008
+ "name": "SubjectFirstSeen",
1009
+ "inputs": [
1010
+ {
1011
+ "name": "subject",
1012
+ "type": "bytes32",
1013
+ "indexed": true,
1014
+ "internalType": "bytes32"
1015
+ }
1016
+ ],
1017
+ "anonymous": false
1018
+ },
1019
+ {
1020
+ "type": "error",
1021
+ "name": "AlreadyRegistered",
1022
+ "inputs": []
1023
+ },
1024
+ {
1025
+ "type": "error",
1026
+ "name": "AttributeNotSet",
1027
+ "inputs": []
1028
+ },
1029
+ {
1030
+ "type": "error",
1031
+ "name": "NotAgentOwner",
1032
+ "inputs": []
1033
+ },
1034
+ {
1035
+ "type": "error",
1036
+ "name": "NotRegistered",
1037
+ "inputs": []
1038
+ },
1039
+ {
1040
+ "type": "error",
1041
+ "name": "PredicateNotActive",
1042
+ "inputs": []
1043
+ }
1044
+ ]