@agenticprimitives/contracts 0.1.0-alpha.2 → 1.0.0-alpha.10

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 (74) hide show
  1. package/AUDIT.md +324 -47
  2. package/README.md +45 -10
  3. package/deployments-base-sepolia.json +36 -1
  4. package/deployments-registries-base-sepolia.json +1 -0
  5. package/dist/abi/AgentAccount.json +1670 -0
  6. package/dist/abi/AgentAccountFactory.json +477 -0
  7. package/dist/abi/AgentNameRegistry.json +51 -0
  8. package/dist/abi/AgenticGovernance.json +32 -0
  9. package/dist/abi/AgreementRegistry.json +427 -0
  10. package/dist/abi/AttestationRegistry.json +436 -0
  11. package/dist/abi/CallDataHashEnforcer.json +119 -0
  12. package/dist/abi/CustodyPolicy.json +1122 -0
  13. package/dist/abi/DelegationManager.json +645 -0
  14. package/dist/abi/GeoFeatureRegistry.json +625 -0
  15. package/dist/abi/IAgentAccount.json +262 -0
  16. package/dist/abi/IAgentAccountFactoryAccessor.json +15 -0
  17. package/dist/abi/IAgentAccountFactoryView.json +41 -0
  18. package/dist/abi/IAgentAccountPauseView.json +15 -0
  19. package/dist/abi/IAgenticPrimitivesAgentAccount.json +15 -0
  20. package/dist/abi/IApprovedHashRegistryView.json +26 -0
  21. package/dist/abi/ICustodyPolicyFactoryView.json +15 -0
  22. package/dist/abi/ICustodyPolicyPauseView.json +15 -0
  23. package/dist/abi/IDelegationManager.json +171 -0
  24. package/dist/abi/IERC7579HookLike.json +44 -0
  25. package/dist/abi/IERC7579ModuleLike.json +28 -0
  26. package/dist/abi/IPaymentReceiptRegistry.json +50 -0
  27. package/dist/abi/MockUSDC.json +621 -0
  28. package/dist/abi/PaymentEnforcer.json +407 -0
  29. package/dist/abi/PaymentEscrow.json +299 -0
  30. package/dist/abi/PaymentReceiptRegistry.json +182 -0
  31. package/dist/abi/PermissionlessSubregistry.json +5 -0
  32. package/dist/abi/QuorumEnforcer.json +311 -0
  33. package/dist/abi/SignatureSlotRecovery.json +88 -0
  34. package/dist/abi/SkillDefinitionRegistry.json +491 -0
  35. package/dist/abi/SmartAgentPaymaster.json +873 -0
  36. package/dist/abi/UniversalSignatureValidator.json +65 -0
  37. package/dist/abi/index.d.ts +28 -0
  38. package/dist/abi/index.js +28 -0
  39. package/dist/deployments/base-sepolia.d.ts +41 -0
  40. package/dist/deployments/base-sepolia.js +39 -0
  41. package/dist/deployments/index.d.ts +9 -0
  42. package/dist/deployments/index.js +16 -0
  43. package/dist/deployments/registries-base-sepolia.d.ts +9 -0
  44. package/dist/deployments/registries-base-sepolia.js +7 -0
  45. package/package.json +28 -7
  46. package/src/AgentAccount.sol +191 -11
  47. package/src/AgentAccountFactory.sol +66 -12
  48. package/src/SmartAgentPaymaster.sol +186 -20
  49. package/src/UniversalSignatureValidator.sol +3 -0
  50. package/src/agency/DelegationManager.sol +170 -0
  51. package/src/agency/IDelegationManager.sol +38 -0
  52. package/src/agreement/AgreementRegistry.sol +331 -0
  53. package/src/attestation/AttestationRegistry.sol +384 -0
  54. package/src/custody/CustodyPolicy.sol +138 -8
  55. package/src/enforcers/AllowedMethodsEnforcer.sol +6 -0
  56. package/src/enforcers/AllowedTargetsEnforcer.sol +6 -0
  57. package/src/enforcers/CallDataHashEnforcer.sol +61 -0
  58. package/src/enforcers/PaymentEnforcer.sol +194 -0
  59. package/src/enforcers/QuorumEnforcer.sol +20 -0
  60. package/src/enforcers/TimestampEnforcer.sol +7 -0
  61. package/src/enforcers/ValueEnforcer.sol +6 -0
  62. package/src/geo/GeoFeatureRegistry.sol +197 -0
  63. package/src/governance/AgenticGovernance.sol +26 -4
  64. package/src/libraries/SignatureSlotRecovery.sol +8 -3
  65. package/src/libraries/WebAuthnLib.sol +13 -0
  66. package/src/mocks/MockUSDC.sol +152 -0
  67. package/src/naming/AgentNameRegistry.sol +52 -15
  68. package/src/naming/AgentNameUniversalResolver.sol +1 -1
  69. package/src/naming/PermissionlessSubregistry.sol +19 -2
  70. package/src/payments/PaymentEscrow.sol +137 -0
  71. package/src/payments/PaymentReceiptRegistry.sol +67 -0
  72. package/src/relationships/AgentRelationship.sol +8 -0
  73. package/src/skills/SkillDefinitionRegistry.sol +187 -0
  74. package/deployments-anvil.json +0 -1
@@ -0,0 +1,50 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "record",
5
+ "inputs": [
6
+ {
7
+ "name": "mandateId",
8
+ "type": "bytes32",
9
+ "internalType": "bytes32"
10
+ },
11
+ {
12
+ "name": "payer",
13
+ "type": "address",
14
+ "internalType": "address"
15
+ },
16
+ {
17
+ "name": "payee",
18
+ "type": "address",
19
+ "internalType": "address"
20
+ },
21
+ {
22
+ "name": "asset",
23
+ "type": "address",
24
+ "internalType": "address"
25
+ },
26
+ {
27
+ "name": "amount",
28
+ "type": "uint256",
29
+ "internalType": "uint256"
30
+ },
31
+ {
32
+ "name": "resourceHash",
33
+ "type": "bytes32",
34
+ "internalType": "bytes32"
35
+ },
36
+ {
37
+ "name": "delegationHash",
38
+ "type": "bytes32",
39
+ "internalType": "bytes32"
40
+ },
41
+ {
42
+ "name": "nonce",
43
+ "type": "bytes32",
44
+ "internalType": "bytes32"
45
+ }
46
+ ],
47
+ "outputs": [],
48
+ "stateMutability": "nonpayable"
49
+ }
50
+ ]
@@ -0,0 +1,621 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [],
5
+ "stateMutability": "nonpayable"
6
+ },
7
+ {
8
+ "type": "function",
9
+ "name": "CANCEL_AUTHORIZATION_TYPEHASH",
10
+ "inputs": [],
11
+ "outputs": [
12
+ {
13
+ "name": "",
14
+ "type": "bytes32",
15
+ "internalType": "bytes32"
16
+ }
17
+ ],
18
+ "stateMutability": "view"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "name": "DOMAIN_SEPARATOR",
23
+ "inputs": [],
24
+ "outputs": [
25
+ {
26
+ "name": "",
27
+ "type": "bytes32",
28
+ "internalType": "bytes32"
29
+ }
30
+ ],
31
+ "stateMutability": "view"
32
+ },
33
+ {
34
+ "type": "function",
35
+ "name": "RECEIVE_WITH_AUTHORIZATION_TYPEHASH",
36
+ "inputs": [],
37
+ "outputs": [
38
+ {
39
+ "name": "",
40
+ "type": "bytes32",
41
+ "internalType": "bytes32"
42
+ }
43
+ ],
44
+ "stateMutability": "view"
45
+ },
46
+ {
47
+ "type": "function",
48
+ "name": "TRANSFER_WITH_AUTHORIZATION_TYPEHASH",
49
+ "inputs": [],
50
+ "outputs": [
51
+ {
52
+ "name": "",
53
+ "type": "bytes32",
54
+ "internalType": "bytes32"
55
+ }
56
+ ],
57
+ "stateMutability": "view"
58
+ },
59
+ {
60
+ "type": "function",
61
+ "name": "allowance",
62
+ "inputs": [
63
+ {
64
+ "name": "owner",
65
+ "type": "address",
66
+ "internalType": "address"
67
+ },
68
+ {
69
+ "name": "spender",
70
+ "type": "address",
71
+ "internalType": "address"
72
+ }
73
+ ],
74
+ "outputs": [
75
+ {
76
+ "name": "",
77
+ "type": "uint256",
78
+ "internalType": "uint256"
79
+ }
80
+ ],
81
+ "stateMutability": "view"
82
+ },
83
+ {
84
+ "type": "function",
85
+ "name": "approve",
86
+ "inputs": [
87
+ {
88
+ "name": "spender",
89
+ "type": "address",
90
+ "internalType": "address"
91
+ },
92
+ {
93
+ "name": "value",
94
+ "type": "uint256",
95
+ "internalType": "uint256"
96
+ }
97
+ ],
98
+ "outputs": [
99
+ {
100
+ "name": "",
101
+ "type": "bool",
102
+ "internalType": "bool"
103
+ }
104
+ ],
105
+ "stateMutability": "nonpayable"
106
+ },
107
+ {
108
+ "type": "function",
109
+ "name": "authorizationState",
110
+ "inputs": [
111
+ {
112
+ "name": "",
113
+ "type": "address",
114
+ "internalType": "address"
115
+ },
116
+ {
117
+ "name": "",
118
+ "type": "bytes32",
119
+ "internalType": "bytes32"
120
+ }
121
+ ],
122
+ "outputs": [
123
+ {
124
+ "name": "",
125
+ "type": "bool",
126
+ "internalType": "bool"
127
+ }
128
+ ],
129
+ "stateMutability": "view"
130
+ },
131
+ {
132
+ "type": "function",
133
+ "name": "balanceOf",
134
+ "inputs": [
135
+ {
136
+ "name": "account",
137
+ "type": "address",
138
+ "internalType": "address"
139
+ }
140
+ ],
141
+ "outputs": [
142
+ {
143
+ "name": "",
144
+ "type": "uint256",
145
+ "internalType": "uint256"
146
+ }
147
+ ],
148
+ "stateMutability": "view"
149
+ },
150
+ {
151
+ "type": "function",
152
+ "name": "cancelAuthorization",
153
+ "inputs": [
154
+ {
155
+ "name": "authorizer",
156
+ "type": "address",
157
+ "internalType": "address"
158
+ },
159
+ {
160
+ "name": "nonce",
161
+ "type": "bytes32",
162
+ "internalType": "bytes32"
163
+ },
164
+ {
165
+ "name": "signature",
166
+ "type": "bytes",
167
+ "internalType": "bytes"
168
+ }
169
+ ],
170
+ "outputs": [],
171
+ "stateMutability": "nonpayable"
172
+ },
173
+ {
174
+ "type": "function",
175
+ "name": "decimals",
176
+ "inputs": [],
177
+ "outputs": [
178
+ {
179
+ "name": "",
180
+ "type": "uint8",
181
+ "internalType": "uint8"
182
+ }
183
+ ],
184
+ "stateMutability": "pure"
185
+ },
186
+ {
187
+ "type": "function",
188
+ "name": "faucet",
189
+ "inputs": [
190
+ {
191
+ "name": "amount",
192
+ "type": "uint256",
193
+ "internalType": "uint256"
194
+ }
195
+ ],
196
+ "outputs": [],
197
+ "stateMutability": "nonpayable"
198
+ },
199
+ {
200
+ "type": "function",
201
+ "name": "mint",
202
+ "inputs": [
203
+ {
204
+ "name": "to",
205
+ "type": "address",
206
+ "internalType": "address"
207
+ },
208
+ {
209
+ "name": "amount",
210
+ "type": "uint256",
211
+ "internalType": "uint256"
212
+ }
213
+ ],
214
+ "outputs": [],
215
+ "stateMutability": "nonpayable"
216
+ },
217
+ {
218
+ "type": "function",
219
+ "name": "name",
220
+ "inputs": [],
221
+ "outputs": [
222
+ {
223
+ "name": "",
224
+ "type": "string",
225
+ "internalType": "string"
226
+ }
227
+ ],
228
+ "stateMutability": "view"
229
+ },
230
+ {
231
+ "type": "function",
232
+ "name": "receiveWithAuthorization",
233
+ "inputs": [
234
+ {
235
+ "name": "from",
236
+ "type": "address",
237
+ "internalType": "address"
238
+ },
239
+ {
240
+ "name": "to",
241
+ "type": "address",
242
+ "internalType": "address"
243
+ },
244
+ {
245
+ "name": "value",
246
+ "type": "uint256",
247
+ "internalType": "uint256"
248
+ },
249
+ {
250
+ "name": "validAfter",
251
+ "type": "uint256",
252
+ "internalType": "uint256"
253
+ },
254
+ {
255
+ "name": "validBefore",
256
+ "type": "uint256",
257
+ "internalType": "uint256"
258
+ },
259
+ {
260
+ "name": "nonce",
261
+ "type": "bytes32",
262
+ "internalType": "bytes32"
263
+ },
264
+ {
265
+ "name": "signature",
266
+ "type": "bytes",
267
+ "internalType": "bytes"
268
+ }
269
+ ],
270
+ "outputs": [],
271
+ "stateMutability": "nonpayable"
272
+ },
273
+ {
274
+ "type": "function",
275
+ "name": "symbol",
276
+ "inputs": [],
277
+ "outputs": [
278
+ {
279
+ "name": "",
280
+ "type": "string",
281
+ "internalType": "string"
282
+ }
283
+ ],
284
+ "stateMutability": "view"
285
+ },
286
+ {
287
+ "type": "function",
288
+ "name": "totalSupply",
289
+ "inputs": [],
290
+ "outputs": [
291
+ {
292
+ "name": "",
293
+ "type": "uint256",
294
+ "internalType": "uint256"
295
+ }
296
+ ],
297
+ "stateMutability": "view"
298
+ },
299
+ {
300
+ "type": "function",
301
+ "name": "transfer",
302
+ "inputs": [
303
+ {
304
+ "name": "to",
305
+ "type": "address",
306
+ "internalType": "address"
307
+ },
308
+ {
309
+ "name": "value",
310
+ "type": "uint256",
311
+ "internalType": "uint256"
312
+ }
313
+ ],
314
+ "outputs": [
315
+ {
316
+ "name": "",
317
+ "type": "bool",
318
+ "internalType": "bool"
319
+ }
320
+ ],
321
+ "stateMutability": "nonpayable"
322
+ },
323
+ {
324
+ "type": "function",
325
+ "name": "transferFrom",
326
+ "inputs": [
327
+ {
328
+ "name": "from",
329
+ "type": "address",
330
+ "internalType": "address"
331
+ },
332
+ {
333
+ "name": "to",
334
+ "type": "address",
335
+ "internalType": "address"
336
+ },
337
+ {
338
+ "name": "value",
339
+ "type": "uint256",
340
+ "internalType": "uint256"
341
+ }
342
+ ],
343
+ "outputs": [
344
+ {
345
+ "name": "",
346
+ "type": "bool",
347
+ "internalType": "bool"
348
+ }
349
+ ],
350
+ "stateMutability": "nonpayable"
351
+ },
352
+ {
353
+ "type": "function",
354
+ "name": "transferWithAuthorization",
355
+ "inputs": [
356
+ {
357
+ "name": "from",
358
+ "type": "address",
359
+ "internalType": "address"
360
+ },
361
+ {
362
+ "name": "to",
363
+ "type": "address",
364
+ "internalType": "address"
365
+ },
366
+ {
367
+ "name": "value",
368
+ "type": "uint256",
369
+ "internalType": "uint256"
370
+ },
371
+ {
372
+ "name": "validAfter",
373
+ "type": "uint256",
374
+ "internalType": "uint256"
375
+ },
376
+ {
377
+ "name": "validBefore",
378
+ "type": "uint256",
379
+ "internalType": "uint256"
380
+ },
381
+ {
382
+ "name": "nonce",
383
+ "type": "bytes32",
384
+ "internalType": "bytes32"
385
+ },
386
+ {
387
+ "name": "signature",
388
+ "type": "bytes",
389
+ "internalType": "bytes"
390
+ }
391
+ ],
392
+ "outputs": [],
393
+ "stateMutability": "nonpayable"
394
+ },
395
+ {
396
+ "type": "event",
397
+ "name": "Approval",
398
+ "inputs": [
399
+ {
400
+ "name": "owner",
401
+ "type": "address",
402
+ "indexed": true,
403
+ "internalType": "address"
404
+ },
405
+ {
406
+ "name": "spender",
407
+ "type": "address",
408
+ "indexed": true,
409
+ "internalType": "address"
410
+ },
411
+ {
412
+ "name": "value",
413
+ "type": "uint256",
414
+ "indexed": false,
415
+ "internalType": "uint256"
416
+ }
417
+ ],
418
+ "anonymous": false
419
+ },
420
+ {
421
+ "type": "event",
422
+ "name": "AuthorizationCanceled",
423
+ "inputs": [
424
+ {
425
+ "name": "authorizer",
426
+ "type": "address",
427
+ "indexed": true,
428
+ "internalType": "address"
429
+ },
430
+ {
431
+ "name": "nonce",
432
+ "type": "bytes32",
433
+ "indexed": true,
434
+ "internalType": "bytes32"
435
+ }
436
+ ],
437
+ "anonymous": false
438
+ },
439
+ {
440
+ "type": "event",
441
+ "name": "AuthorizationUsed",
442
+ "inputs": [
443
+ {
444
+ "name": "authorizer",
445
+ "type": "address",
446
+ "indexed": true,
447
+ "internalType": "address"
448
+ },
449
+ {
450
+ "name": "nonce",
451
+ "type": "bytes32",
452
+ "indexed": true,
453
+ "internalType": "bytes32"
454
+ }
455
+ ],
456
+ "anonymous": false
457
+ },
458
+ {
459
+ "type": "event",
460
+ "name": "Transfer",
461
+ "inputs": [
462
+ {
463
+ "name": "from",
464
+ "type": "address",
465
+ "indexed": true,
466
+ "internalType": "address"
467
+ },
468
+ {
469
+ "name": "to",
470
+ "type": "address",
471
+ "indexed": true,
472
+ "internalType": "address"
473
+ },
474
+ {
475
+ "name": "value",
476
+ "type": "uint256",
477
+ "indexed": false,
478
+ "internalType": "uint256"
479
+ }
480
+ ],
481
+ "anonymous": false
482
+ },
483
+ {
484
+ "type": "error",
485
+ "name": "AuthExpired",
486
+ "inputs": []
487
+ },
488
+ {
489
+ "type": "error",
490
+ "name": "AuthNotYetValid",
491
+ "inputs": []
492
+ },
493
+ {
494
+ "type": "error",
495
+ "name": "AuthUsedOrCanceled",
496
+ "inputs": []
497
+ },
498
+ {
499
+ "type": "error",
500
+ "name": "CallerMustBePayee",
501
+ "inputs": []
502
+ },
503
+ {
504
+ "type": "error",
505
+ "name": "ECDSAInvalidSignature",
506
+ "inputs": []
507
+ },
508
+ {
509
+ "type": "error",
510
+ "name": "ECDSAInvalidSignatureLength",
511
+ "inputs": [
512
+ {
513
+ "name": "length",
514
+ "type": "uint256",
515
+ "internalType": "uint256"
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ "type": "error",
521
+ "name": "ECDSAInvalidSignatureS",
522
+ "inputs": [
523
+ {
524
+ "name": "s",
525
+ "type": "bytes32",
526
+ "internalType": "bytes32"
527
+ }
528
+ ]
529
+ },
530
+ {
531
+ "type": "error",
532
+ "name": "ERC20InsufficientAllowance",
533
+ "inputs": [
534
+ {
535
+ "name": "spender",
536
+ "type": "address",
537
+ "internalType": "address"
538
+ },
539
+ {
540
+ "name": "allowance",
541
+ "type": "uint256",
542
+ "internalType": "uint256"
543
+ },
544
+ {
545
+ "name": "needed",
546
+ "type": "uint256",
547
+ "internalType": "uint256"
548
+ }
549
+ ]
550
+ },
551
+ {
552
+ "type": "error",
553
+ "name": "ERC20InsufficientBalance",
554
+ "inputs": [
555
+ {
556
+ "name": "sender",
557
+ "type": "address",
558
+ "internalType": "address"
559
+ },
560
+ {
561
+ "name": "balance",
562
+ "type": "uint256",
563
+ "internalType": "uint256"
564
+ },
565
+ {
566
+ "name": "needed",
567
+ "type": "uint256",
568
+ "internalType": "uint256"
569
+ }
570
+ ]
571
+ },
572
+ {
573
+ "type": "error",
574
+ "name": "ERC20InvalidApprover",
575
+ "inputs": [
576
+ {
577
+ "name": "approver",
578
+ "type": "address",
579
+ "internalType": "address"
580
+ }
581
+ ]
582
+ },
583
+ {
584
+ "type": "error",
585
+ "name": "ERC20InvalidReceiver",
586
+ "inputs": [
587
+ {
588
+ "name": "receiver",
589
+ "type": "address",
590
+ "internalType": "address"
591
+ }
592
+ ]
593
+ },
594
+ {
595
+ "type": "error",
596
+ "name": "ERC20InvalidSender",
597
+ "inputs": [
598
+ {
599
+ "name": "sender",
600
+ "type": "address",
601
+ "internalType": "address"
602
+ }
603
+ ]
604
+ },
605
+ {
606
+ "type": "error",
607
+ "name": "ERC20InvalidSpender",
608
+ "inputs": [
609
+ {
610
+ "name": "spender",
611
+ "type": "address",
612
+ "internalType": "address"
613
+ }
614
+ ]
615
+ },
616
+ {
617
+ "type": "error",
618
+ "name": "InvalidSignature",
619
+ "inputs": []
620
+ }
621
+ ]