@agenticprimitives/contracts 0.1.0-alpha.3 → 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 (73) hide show
  1. package/AUDIT.md +324 -47
  2. package/README.md +45 -10
  3. package/deployments-base-sepolia.json +36 -0
  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 +24 -3
  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
@@ -0,0 +1,477 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [
5
+ {
6
+ "name": "entryPoint_",
7
+ "type": "address",
8
+ "internalType": "contract IEntryPoint"
9
+ },
10
+ {
11
+ "name": "delegationManager_",
12
+ "type": "address",
13
+ "internalType": "address"
14
+ },
15
+ {
16
+ "name": "custodyPolicy_",
17
+ "type": "address",
18
+ "internalType": "address"
19
+ },
20
+ {
21
+ "name": "bundlerSigner_",
22
+ "type": "address",
23
+ "internalType": "address"
24
+ },
25
+ {
26
+ "name": "sessionIssuer_",
27
+ "type": "address",
28
+ "internalType": "address"
29
+ },
30
+ {
31
+ "name": "governance_",
32
+ "type": "address",
33
+ "internalType": "address"
34
+ },
35
+ {
36
+ "name": "approvedHashRegistry_",
37
+ "type": "address",
38
+ "internalType": "address"
39
+ }
40
+ ],
41
+ "stateMutability": "nonpayable"
42
+ },
43
+ {
44
+ "type": "function",
45
+ "name": "MAX_INITIAL_CUSTODIANS",
46
+ "inputs": [],
47
+ "outputs": [
48
+ {
49
+ "name": "",
50
+ "type": "uint256",
51
+ "internalType": "uint256"
52
+ }
53
+ ],
54
+ "stateMutability": "view"
55
+ },
56
+ {
57
+ "type": "function",
58
+ "name": "accountImplementation",
59
+ "inputs": [],
60
+ "outputs": [
61
+ {
62
+ "name": "",
63
+ "type": "address",
64
+ "internalType": "contract AgentAccount"
65
+ }
66
+ ],
67
+ "stateMutability": "view"
68
+ },
69
+ {
70
+ "type": "function",
71
+ "name": "approvedHashRegistry",
72
+ "inputs": [],
73
+ "outputs": [
74
+ {
75
+ "name": "",
76
+ "type": "address",
77
+ "internalType": "address"
78
+ }
79
+ ],
80
+ "stateMutability": "view"
81
+ },
82
+ {
83
+ "type": "function",
84
+ "name": "bundlerSigner",
85
+ "inputs": [],
86
+ "outputs": [
87
+ {
88
+ "name": "",
89
+ "type": "address",
90
+ "internalType": "address"
91
+ }
92
+ ],
93
+ "stateMutability": "view"
94
+ },
95
+ {
96
+ "type": "function",
97
+ "name": "createAgentAccount",
98
+ "inputs": [
99
+ {
100
+ "name": "params",
101
+ "type": "tuple",
102
+ "internalType": "struct AgentAccountInitParams",
103
+ "components": [
104
+ {
105
+ "name": "mode",
106
+ "type": "uint8",
107
+ "internalType": "uint8"
108
+ },
109
+ {
110
+ "name": "custodians",
111
+ "type": "address[]",
112
+ "internalType": "address[]"
113
+ },
114
+ {
115
+ "name": "trustees",
116
+ "type": "address[]",
117
+ "internalType": "address[]"
118
+ },
119
+ {
120
+ "name": "initialPasskeyCredentialIdDigest",
121
+ "type": "bytes32",
122
+ "internalType": "bytes32"
123
+ },
124
+ {
125
+ "name": "initialPasskeyX",
126
+ "type": "uint256",
127
+ "internalType": "uint256"
128
+ },
129
+ {
130
+ "name": "initialPasskeyY",
131
+ "type": "uint256",
132
+ "internalType": "uint256"
133
+ },
134
+ {
135
+ "name": "initialPasskeyRpIdHash",
136
+ "type": "bytes32",
137
+ "internalType": "bytes32"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "name": "timelockOverrides",
143
+ "type": "uint32[7]",
144
+ "internalType": "uint32[7]"
145
+ },
146
+ {
147
+ "name": "salt",
148
+ "type": "uint256",
149
+ "internalType": "uint256"
150
+ }
151
+ ],
152
+ "outputs": [
153
+ {
154
+ "name": "account",
155
+ "type": "address",
156
+ "internalType": "contract AgentAccount"
157
+ }
158
+ ],
159
+ "stateMutability": "nonpayable"
160
+ },
161
+ {
162
+ "type": "function",
163
+ "name": "custodyPolicy",
164
+ "inputs": [],
165
+ "outputs": [
166
+ {
167
+ "name": "",
168
+ "type": "address",
169
+ "internalType": "address"
170
+ }
171
+ ],
172
+ "stateMutability": "view"
173
+ },
174
+ {
175
+ "type": "function",
176
+ "name": "delegationManager",
177
+ "inputs": [],
178
+ "outputs": [
179
+ {
180
+ "name": "",
181
+ "type": "address",
182
+ "internalType": "address"
183
+ }
184
+ ],
185
+ "stateMutability": "view"
186
+ },
187
+ {
188
+ "type": "function",
189
+ "name": "getAddressForAgentAccount",
190
+ "inputs": [
191
+ {
192
+ "name": "params",
193
+ "type": "tuple",
194
+ "internalType": "struct AgentAccountInitParams",
195
+ "components": [
196
+ {
197
+ "name": "mode",
198
+ "type": "uint8",
199
+ "internalType": "uint8"
200
+ },
201
+ {
202
+ "name": "custodians",
203
+ "type": "address[]",
204
+ "internalType": "address[]"
205
+ },
206
+ {
207
+ "name": "trustees",
208
+ "type": "address[]",
209
+ "internalType": "address[]"
210
+ },
211
+ {
212
+ "name": "initialPasskeyCredentialIdDigest",
213
+ "type": "bytes32",
214
+ "internalType": "bytes32"
215
+ },
216
+ {
217
+ "name": "initialPasskeyX",
218
+ "type": "uint256",
219
+ "internalType": "uint256"
220
+ },
221
+ {
222
+ "name": "initialPasskeyY",
223
+ "type": "uint256",
224
+ "internalType": "uint256"
225
+ },
226
+ {
227
+ "name": "initialPasskeyRpIdHash",
228
+ "type": "bytes32",
229
+ "internalType": "bytes32"
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ "name": "timelockOverrides",
235
+ "type": "uint32[7]",
236
+ "internalType": "uint32[7]"
237
+ },
238
+ {
239
+ "name": "salt",
240
+ "type": "uint256",
241
+ "internalType": "uint256"
242
+ }
243
+ ],
244
+ "outputs": [
245
+ {
246
+ "name": "",
247
+ "type": "address",
248
+ "internalType": "address"
249
+ }
250
+ ],
251
+ "stateMutability": "view"
252
+ },
253
+ {
254
+ "type": "function",
255
+ "name": "governance",
256
+ "inputs": [],
257
+ "outputs": [
258
+ {
259
+ "name": "",
260
+ "type": "address",
261
+ "internalType": "address"
262
+ }
263
+ ],
264
+ "stateMutability": "view"
265
+ },
266
+ {
267
+ "type": "function",
268
+ "name": "paused",
269
+ "inputs": [],
270
+ "outputs": [
271
+ {
272
+ "name": "",
273
+ "type": "bool",
274
+ "internalType": "bool"
275
+ }
276
+ ],
277
+ "stateMutability": "view"
278
+ },
279
+ {
280
+ "type": "function",
281
+ "name": "sessionIssuer",
282
+ "inputs": [],
283
+ "outputs": [
284
+ {
285
+ "name": "",
286
+ "type": "address",
287
+ "internalType": "address"
288
+ }
289
+ ],
290
+ "stateMutability": "view"
291
+ },
292
+ {
293
+ "type": "function",
294
+ "name": "setBundlerSigner",
295
+ "inputs": [
296
+ {
297
+ "name": "newBundler",
298
+ "type": "address",
299
+ "internalType": "address"
300
+ }
301
+ ],
302
+ "outputs": [],
303
+ "stateMutability": "nonpayable"
304
+ },
305
+ {
306
+ "type": "function",
307
+ "name": "setSessionIssuer",
308
+ "inputs": [
309
+ {
310
+ "name": "newIssuer",
311
+ "type": "address",
312
+ "internalType": "address"
313
+ }
314
+ ],
315
+ "outputs": [],
316
+ "stateMutability": "nonpayable"
317
+ },
318
+ {
319
+ "type": "event",
320
+ "name": "AgentAccountCreated",
321
+ "inputs": [
322
+ {
323
+ "name": "account",
324
+ "type": "address",
325
+ "indexed": true,
326
+ "internalType": "address"
327
+ },
328
+ {
329
+ "name": "mode",
330
+ "type": "uint8",
331
+ "indexed": false,
332
+ "internalType": "uint8"
333
+ },
334
+ {
335
+ "name": "nExternalCustodians",
336
+ "type": "uint256",
337
+ "indexed": false,
338
+ "internalType": "uint256"
339
+ },
340
+ {
341
+ "name": "withPasskey",
342
+ "type": "bool",
343
+ "indexed": false,
344
+ "internalType": "bool"
345
+ },
346
+ {
347
+ "name": "salt",
348
+ "type": "uint256",
349
+ "indexed": false,
350
+ "internalType": "uint256"
351
+ }
352
+ ],
353
+ "anonymous": false
354
+ },
355
+ {
356
+ "type": "event",
357
+ "name": "BundlerSignerChanged",
358
+ "inputs": [
359
+ {
360
+ "name": "oldVal",
361
+ "type": "address",
362
+ "indexed": true,
363
+ "internalType": "address"
364
+ },
365
+ {
366
+ "name": "newVal",
367
+ "type": "address",
368
+ "indexed": true,
369
+ "internalType": "address"
370
+ }
371
+ ],
372
+ "anonymous": false
373
+ },
374
+ {
375
+ "type": "event",
376
+ "name": "SessionIssuerChanged",
377
+ "inputs": [
378
+ {
379
+ "name": "oldVal",
380
+ "type": "address",
381
+ "indexed": true,
382
+ "internalType": "address"
383
+ },
384
+ {
385
+ "name": "newVal",
386
+ "type": "address",
387
+ "indexed": true,
388
+ "internalType": "address"
389
+ }
390
+ ],
391
+ "anonymous": false
392
+ },
393
+ {
394
+ "type": "error",
395
+ "name": "InsufficientTrusteesForMode",
396
+ "inputs": [
397
+ {
398
+ "name": "mode",
399
+ "type": "uint8",
400
+ "internalType": "uint8"
401
+ },
402
+ {
403
+ "name": "actual",
404
+ "type": "uint256",
405
+ "internalType": "uint256"
406
+ },
407
+ {
408
+ "name": "required",
409
+ "type": "uint256",
410
+ "internalType": "uint256"
411
+ }
412
+ ]
413
+ },
414
+ {
415
+ "type": "error",
416
+ "name": "InvalidMode",
417
+ "inputs": [
418
+ {
419
+ "name": "mode",
420
+ "type": "uint8",
421
+ "internalType": "uint8"
422
+ }
423
+ ]
424
+ },
425
+ {
426
+ "type": "error",
427
+ "name": "NoInitialSigner",
428
+ "inputs": []
429
+ },
430
+ {
431
+ "type": "error",
432
+ "name": "NotGovernance",
433
+ "inputs": []
434
+ },
435
+ {
436
+ "type": "error",
437
+ "name": "SystemPaused",
438
+ "inputs": []
439
+ },
440
+ {
441
+ "type": "error",
442
+ "name": "TooManyInitialCustodians",
443
+ "inputs": [
444
+ {
445
+ "name": "actual",
446
+ "type": "uint256",
447
+ "internalType": "uint256"
448
+ },
449
+ {
450
+ "name": "max",
451
+ "type": "uint256",
452
+ "internalType": "uint256"
453
+ }
454
+ ]
455
+ },
456
+ {
457
+ "type": "error",
458
+ "name": "TrusteesRequiredForRecoverableMode",
459
+ "inputs": [
460
+ {
461
+ "name": "mode",
462
+ "type": "uint8",
463
+ "internalType": "uint8"
464
+ }
465
+ ]
466
+ },
467
+ {
468
+ "type": "error",
469
+ "name": "ZeroAddress",
470
+ "inputs": []
471
+ },
472
+ {
473
+ "type": "error",
474
+ "name": "ZeroGovernance",
475
+ "inputs": []
476
+ }
477
+ ]
@@ -6,6 +6,11 @@
6
6
  "name": "initializer_",
7
7
  "type": "address",
8
8
  "internalType": "address"
9
+ },
10
+ {
11
+ "name": "governance_",
12
+ "type": "address",
13
+ "internalType": "address"
9
14
  }
10
15
  ],
11
16
  "stateMutability": "nonpayable"
@@ -148,6 +153,19 @@
148
153
  ],
149
154
  "stateMutability": "view"
150
155
  },
156
+ {
157
+ "type": "function",
158
+ "name": "governance",
159
+ "inputs": [],
160
+ "outputs": [
161
+ {
162
+ "name": "",
163
+ "type": "address",
164
+ "internalType": "address"
165
+ }
166
+ ],
167
+ "stateMutability": "view"
168
+ },
151
169
  {
152
170
  "type": "function",
153
171
  "name": "initializeRoot",
@@ -328,6 +346,19 @@
328
346
  ],
329
347
  "stateMutability": "view"
330
348
  },
349
+ {
350
+ "type": "function",
351
+ "name": "paused",
352
+ "inputs": [],
353
+ "outputs": [
354
+ {
355
+ "name": "",
356
+ "type": "bool",
357
+ "internalType": "bool"
358
+ }
359
+ ],
360
+ "stateMutability": "view"
361
+ },
331
362
  {
332
363
  "type": "function",
333
364
  "name": "primaryName",
@@ -772,6 +803,11 @@
772
803
  "name": "EmptyLabel",
773
804
  "inputs": []
774
805
  },
806
+ {
807
+ "type": "error",
808
+ "name": "InvalidLabel",
809
+ "inputs": []
810
+ },
775
811
  {
776
812
  "type": "error",
777
813
  "name": "NameExpired",
@@ -792,6 +828,11 @@
792
828
  "name": "NotAuthorized",
793
829
  "inputs": []
794
830
  },
831
+ {
832
+ "type": "error",
833
+ "name": "NotGovernance",
834
+ "inputs": []
835
+ },
795
836
  {
796
837
  "type": "error",
797
838
  "name": "NotInitializer",
@@ -818,6 +859,16 @@
818
859
  "name": "RootAlreadyInitialized",
819
860
  "inputs": []
820
861
  },
862
+ {
863
+ "type": "error",
864
+ "name": "SystemPaused",
865
+ "inputs": []
866
+ },
867
+ {
868
+ "type": "error",
869
+ "name": "ZeroGovernance",
870
+ "inputs": []
871
+ },
821
872
  {
822
873
  "type": "error",
823
874
  "name": "ZeroOwner",
@@ -105,6 +105,19 @@
105
105
  "outputs": [],
106
106
  "stateMutability": "nonpayable"
107
107
  },
108
+ {
109
+ "type": "function",
110
+ "name": "setGuardian",
111
+ "inputs": [
112
+ {
113
+ "name": "newGuardian",
114
+ "type": "address",
115
+ "internalType": "address"
116
+ }
117
+ ],
118
+ "outputs": [],
119
+ "stateMutability": "nonpayable"
120
+ },
108
121
  {
109
122
  "type": "function",
110
123
  "name": "setSigner",
@@ -168,6 +181,25 @@
168
181
  ],
169
182
  "anonymous": false
170
183
  },
184
+ {
185
+ "type": "event",
186
+ "name": "GuardianRotated",
187
+ "inputs": [
188
+ {
189
+ "name": "oldGuardian",
190
+ "type": "address",
191
+ "indexed": true,
192
+ "internalType": "address"
193
+ },
194
+ {
195
+ "name": "newGuardian",
196
+ "type": "address",
197
+ "indexed": true,
198
+ "internalType": "address"
199
+ }
200
+ ],
201
+ "anonymous": false
202
+ },
171
203
  {
172
204
  "type": "event",
173
205
  "name": "Paused",