@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,427 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "EPOCH_SECONDS",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "uint64",
10
+ "internalType": "uint64"
11
+ }
12
+ ],
13
+ "stateMutability": "view"
14
+ },
15
+ {
16
+ "type": "function",
17
+ "name": "STATUS_ACTIVE",
18
+ "inputs": [],
19
+ "outputs": [
20
+ {
21
+ "name": "",
22
+ "type": "uint8",
23
+ "internalType": "uint8"
24
+ }
25
+ ],
26
+ "stateMutability": "view"
27
+ },
28
+ {
29
+ "type": "function",
30
+ "name": "STATUS_COMPLETED",
31
+ "inputs": [],
32
+ "outputs": [
33
+ {
34
+ "name": "",
35
+ "type": "uint8",
36
+ "internalType": "uint8"
37
+ }
38
+ ],
39
+ "stateMutability": "view"
40
+ },
41
+ {
42
+ "type": "function",
43
+ "name": "STATUS_DISPUTED",
44
+ "inputs": [],
45
+ "outputs": [
46
+ {
47
+ "name": "",
48
+ "type": "uint8",
49
+ "internalType": "uint8"
50
+ }
51
+ ],
52
+ "stateMutability": "view"
53
+ },
54
+ {
55
+ "type": "function",
56
+ "name": "STATUS_NONE",
57
+ "inputs": [],
58
+ "outputs": [
59
+ {
60
+ "name": "",
61
+ "type": "uint8",
62
+ "internalType": "uint8"
63
+ }
64
+ ],
65
+ "stateMutability": "view"
66
+ },
67
+ {
68
+ "type": "function",
69
+ "name": "STATUS_REVOKED",
70
+ "inputs": [],
71
+ "outputs": [
72
+ {
73
+ "name": "",
74
+ "type": "uint8",
75
+ "internalType": "uint8"
76
+ }
77
+ ],
78
+ "stateMutability": "view"
79
+ },
80
+ {
81
+ "type": "function",
82
+ "name": "getRecord",
83
+ "inputs": [
84
+ {
85
+ "name": "agreementCommitment",
86
+ "type": "bytes32",
87
+ "internalType": "bytes32"
88
+ }
89
+ ],
90
+ "outputs": [
91
+ {
92
+ "name": "",
93
+ "type": "tuple",
94
+ "internalType": "struct AgreementRegistry.AgreementRow",
95
+ "components": [
96
+ {
97
+ "name": "agreementCommitment",
98
+ "type": "bytes32",
99
+ "internalType": "bytes32"
100
+ },
101
+ {
102
+ "name": "schemaHash",
103
+ "type": "bytes32",
104
+ "internalType": "bytes32"
105
+ },
106
+ {
107
+ "name": "issuer",
108
+ "type": "address",
109
+ "internalType": "address"
110
+ },
111
+ {
112
+ "name": "status",
113
+ "type": "uint8",
114
+ "internalType": "uint8"
115
+ },
116
+ {
117
+ "name": "createdEpochBucket",
118
+ "type": "uint64",
119
+ "internalType": "uint64"
120
+ },
121
+ {
122
+ "name": "lastTransitionEpochBucket",
123
+ "type": "uint64",
124
+ "internalType": "uint64"
125
+ }
126
+ ]
127
+ }
128
+ ],
129
+ "stateMutability": "view"
130
+ },
131
+ {
132
+ "type": "function",
133
+ "name": "isAssertableCommitment",
134
+ "inputs": [
135
+ {
136
+ "name": "agreementCommitment",
137
+ "type": "bytes32",
138
+ "internalType": "bytes32"
139
+ },
140
+ {
141
+ "name": "",
142
+ "type": "address",
143
+ "internalType": "address"
144
+ }
145
+ ],
146
+ "outputs": [
147
+ {
148
+ "name": "ok",
149
+ "type": "bool",
150
+ "internalType": "bool"
151
+ },
152
+ {
153
+ "name": "reason",
154
+ "type": "string",
155
+ "internalType": "string"
156
+ }
157
+ ],
158
+ "stateMutability": "view"
159
+ },
160
+ {
161
+ "type": "function",
162
+ "name": "isNullifierUsed",
163
+ "inputs": [
164
+ {
165
+ "name": "n",
166
+ "type": "bytes32",
167
+ "internalType": "bytes32"
168
+ }
169
+ ],
170
+ "outputs": [
171
+ {
172
+ "name": "",
173
+ "type": "bool",
174
+ "internalType": "bool"
175
+ }
176
+ ],
177
+ "stateMutability": "view"
178
+ },
179
+ {
180
+ "type": "function",
181
+ "name": "register",
182
+ "inputs": [
183
+ {
184
+ "name": "p",
185
+ "type": "tuple",
186
+ "internalType": "struct AgreementRegistry.AgreementIssuancePayload",
187
+ "components": [
188
+ {
189
+ "name": "schemaHash",
190
+ "type": "bytes32",
191
+ "internalType": "bytes32"
192
+ },
193
+ {
194
+ "name": "issuer",
195
+ "type": "address",
196
+ "internalType": "address"
197
+ },
198
+ {
199
+ "name": "issuerSignature",
200
+ "type": "bytes",
201
+ "internalType": "bytes"
202
+ },
203
+ {
204
+ "name": "agreementCommitment",
205
+ "type": "bytes32",
206
+ "internalType": "bytes32"
207
+ },
208
+ {
209
+ "name": "partySetCommitment",
210
+ "type": "bytes32",
211
+ "internalType": "bytes32"
212
+ },
213
+ {
214
+ "name": "issuerCommitment",
215
+ "type": "bytes32",
216
+ "internalType": "bytes32"
217
+ },
218
+ {
219
+ "name": "termsCommitment",
220
+ "type": "bytes32",
221
+ "internalType": "bytes32"
222
+ },
223
+ {
224
+ "name": "scheduleCommitment",
225
+ "type": "bytes32",
226
+ "internalType": "bytes32"
227
+ },
228
+ {
229
+ "name": "salt",
230
+ "type": "uint256",
231
+ "internalType": "uint256"
232
+ }
233
+ ]
234
+ }
235
+ ],
236
+ "outputs": [
237
+ {
238
+ "name": "",
239
+ "type": "bytes32",
240
+ "internalType": "bytes32"
241
+ }
242
+ ],
243
+ "stateMutability": "nonpayable"
244
+ },
245
+ {
246
+ "type": "function",
247
+ "name": "updateStatus",
248
+ "inputs": [
249
+ {
250
+ "name": "p",
251
+ "type": "tuple",
252
+ "internalType": "struct AgreementRegistry.StatusUpdatePayload",
253
+ "components": [
254
+ {
255
+ "name": "agreementCommitment",
256
+ "type": "bytes32",
257
+ "internalType": "bytes32"
258
+ },
259
+ {
260
+ "name": "toStatus",
261
+ "type": "uint8",
262
+ "internalType": "uint8"
263
+ },
264
+ {
265
+ "name": "nullifier",
266
+ "type": "bytes32",
267
+ "internalType": "bytes32"
268
+ },
269
+ {
270
+ "name": "signature1",
271
+ "type": "bytes",
272
+ "internalType": "bytes"
273
+ },
274
+ {
275
+ "name": "signature2",
276
+ "type": "bytes",
277
+ "internalType": "bytes"
278
+ },
279
+ {
280
+ "name": "signer1",
281
+ "type": "address",
282
+ "internalType": "address"
283
+ },
284
+ {
285
+ "name": "signer2",
286
+ "type": "address",
287
+ "internalType": "address"
288
+ },
289
+ {
290
+ "name": "party1",
291
+ "type": "address",
292
+ "internalType": "address"
293
+ },
294
+ {
295
+ "name": "party2",
296
+ "type": "address",
297
+ "internalType": "address"
298
+ },
299
+ {
300
+ "name": "issuerCommitment",
301
+ "type": "bytes32",
302
+ "internalType": "bytes32"
303
+ },
304
+ {
305
+ "name": "termsCommitment",
306
+ "type": "bytes32",
307
+ "internalType": "bytes32"
308
+ },
309
+ {
310
+ "name": "scheduleCommitment",
311
+ "type": "bytes32",
312
+ "internalType": "bytes32"
313
+ },
314
+ {
315
+ "name": "commitmentSalt",
316
+ "type": "uint256",
317
+ "internalType": "uint256"
318
+ }
319
+ ]
320
+ }
321
+ ],
322
+ "outputs": [],
323
+ "stateMutability": "nonpayable"
324
+ },
325
+ {
326
+ "type": "event",
327
+ "name": "AgreementRegistered",
328
+ "inputs": [
329
+ {
330
+ "name": "agreementCommitment",
331
+ "type": "bytes32",
332
+ "indexed": true,
333
+ "internalType": "bytes32"
334
+ },
335
+ {
336
+ "name": "issuer",
337
+ "type": "address",
338
+ "indexed": true,
339
+ "internalType": "address"
340
+ },
341
+ {
342
+ "name": "schemaHash",
343
+ "type": "bytes32",
344
+ "indexed": true,
345
+ "internalType": "bytes32"
346
+ },
347
+ {
348
+ "name": "epochBucket",
349
+ "type": "uint64",
350
+ "indexed": false,
351
+ "internalType": "uint64"
352
+ }
353
+ ],
354
+ "anonymous": false
355
+ },
356
+ {
357
+ "type": "event",
358
+ "name": "StatusUpdated",
359
+ "inputs": [
360
+ {
361
+ "name": "agreementCommitment",
362
+ "type": "bytes32",
363
+ "indexed": true,
364
+ "internalType": "bytes32"
365
+ },
366
+ {
367
+ "name": "fromStatus",
368
+ "type": "uint8",
369
+ "indexed": true,
370
+ "internalType": "uint8"
371
+ },
372
+ {
373
+ "name": "toStatus",
374
+ "type": "uint8",
375
+ "indexed": true,
376
+ "internalType": "uint8"
377
+ },
378
+ {
379
+ "name": "epochBucket",
380
+ "type": "uint64",
381
+ "indexed": false,
382
+ "internalType": "uint64"
383
+ }
384
+ ],
385
+ "anonymous": false
386
+ },
387
+ {
388
+ "type": "error",
389
+ "name": "AlreadyRegistered",
390
+ "inputs": []
391
+ },
392
+ {
393
+ "type": "error",
394
+ "name": "CommitmentMismatch",
395
+ "inputs": []
396
+ },
397
+ {
398
+ "type": "error",
399
+ "name": "InvalidIssuerSignature",
400
+ "inputs": []
401
+ },
402
+ {
403
+ "type": "error",
404
+ "name": "InvalidStatus",
405
+ "inputs": []
406
+ },
407
+ {
408
+ "type": "error",
409
+ "name": "InvalidTransitionSignature",
410
+ "inputs": []
411
+ },
412
+ {
413
+ "type": "error",
414
+ "name": "NotRegistered",
415
+ "inputs": []
416
+ },
417
+ {
418
+ "type": "error",
419
+ "name": "NullifierUsed",
420
+ "inputs": []
421
+ },
422
+ {
423
+ "type": "error",
424
+ "name": "SignerNotParty",
425
+ "inputs": []
426
+ }
427
+ ]