@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,182 @@
1
+ [
2
+ {
3
+ "type": "constructor",
4
+ "inputs": [],
5
+ "stateMutability": "nonpayable"
6
+ },
7
+ {
8
+ "type": "function",
9
+ "name": "enforcer",
10
+ "inputs": [],
11
+ "outputs": [
12
+ {
13
+ "name": "",
14
+ "type": "address",
15
+ "internalType": "address"
16
+ }
17
+ ],
18
+ "stateMutability": "view"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "name": "owner",
23
+ "inputs": [],
24
+ "outputs": [
25
+ {
26
+ "name": "",
27
+ "type": "address",
28
+ "internalType": "address"
29
+ }
30
+ ],
31
+ "stateMutability": "view"
32
+ },
33
+ {
34
+ "type": "function",
35
+ "name": "record",
36
+ "inputs": [
37
+ {
38
+ "name": "mandateId",
39
+ "type": "bytes32",
40
+ "internalType": "bytes32"
41
+ },
42
+ {
43
+ "name": "payer",
44
+ "type": "address",
45
+ "internalType": "address"
46
+ },
47
+ {
48
+ "name": "payee",
49
+ "type": "address",
50
+ "internalType": "address"
51
+ },
52
+ {
53
+ "name": "asset",
54
+ "type": "address",
55
+ "internalType": "address"
56
+ },
57
+ {
58
+ "name": "amount",
59
+ "type": "uint256",
60
+ "internalType": "uint256"
61
+ },
62
+ {
63
+ "name": "resourceHash",
64
+ "type": "bytes32",
65
+ "internalType": "bytes32"
66
+ },
67
+ {
68
+ "name": "delegationHash",
69
+ "type": "bytes32",
70
+ "internalType": "bytes32"
71
+ },
72
+ {
73
+ "name": "nonce",
74
+ "type": "bytes32",
75
+ "internalType": "bytes32"
76
+ }
77
+ ],
78
+ "outputs": [],
79
+ "stateMutability": "nonpayable"
80
+ },
81
+ {
82
+ "type": "function",
83
+ "name": "setEnforcer",
84
+ "inputs": [
85
+ {
86
+ "name": "enforcer_",
87
+ "type": "address",
88
+ "internalType": "address"
89
+ }
90
+ ],
91
+ "outputs": [],
92
+ "stateMutability": "nonpayable"
93
+ },
94
+ {
95
+ "type": "event",
96
+ "name": "EnforcerSet",
97
+ "inputs": [
98
+ {
99
+ "name": "enforcer",
100
+ "type": "address",
101
+ "indexed": true,
102
+ "internalType": "address"
103
+ }
104
+ ],
105
+ "anonymous": false
106
+ },
107
+ {
108
+ "type": "event",
109
+ "name": "PaymentSettled",
110
+ "inputs": [
111
+ {
112
+ "name": "mandateId",
113
+ "type": "bytes32",
114
+ "indexed": true,
115
+ "internalType": "bytes32"
116
+ },
117
+ {
118
+ "name": "payer",
119
+ "type": "address",
120
+ "indexed": true,
121
+ "internalType": "address"
122
+ },
123
+ {
124
+ "name": "payee",
125
+ "type": "address",
126
+ "indexed": true,
127
+ "internalType": "address"
128
+ },
129
+ {
130
+ "name": "asset",
131
+ "type": "address",
132
+ "indexed": false,
133
+ "internalType": "address"
134
+ },
135
+ {
136
+ "name": "amount",
137
+ "type": "uint256",
138
+ "indexed": false,
139
+ "internalType": "uint256"
140
+ },
141
+ {
142
+ "name": "resourceHash",
143
+ "type": "bytes32",
144
+ "indexed": false,
145
+ "internalType": "bytes32"
146
+ },
147
+ {
148
+ "name": "delegationHash",
149
+ "type": "bytes32",
150
+ "indexed": false,
151
+ "internalType": "bytes32"
152
+ },
153
+ {
154
+ "name": "nonce",
155
+ "type": "bytes32",
156
+ "indexed": false,
157
+ "internalType": "bytes32"
158
+ }
159
+ ],
160
+ "anonymous": false
161
+ },
162
+ {
163
+ "type": "error",
164
+ "name": "EnforcerAlreadySet",
165
+ "inputs": []
166
+ },
167
+ {
168
+ "type": "error",
169
+ "name": "NotEnforcer",
170
+ "inputs": []
171
+ },
172
+ {
173
+ "type": "error",
174
+ "name": "NotOwner",
175
+ "inputs": []
176
+ },
177
+ {
178
+ "type": "error",
179
+ "name": "ZeroAddress",
180
+ "inputs": []
181
+ }
182
+ ]
@@ -199,6 +199,11 @@
199
199
  "name": "LabelTooShort",
200
200
  "inputs": []
201
201
  },
202
+ {
203
+ "type": "error",
204
+ "name": "ReentrancyGuardReentrantCall",
205
+ "inputs": []
206
+ },
202
207
  {
203
208
  "type": "error",
204
209
  "name": "ZeroNewOwner",
@@ -0,0 +1,311 @@
1
+ [
2
+ {
3
+ "type": "function",
4
+ "name": "QUORUM_ACTION_TYPEHASH",
5
+ "inputs": [],
6
+ "outputs": [
7
+ {
8
+ "name": "",
9
+ "type": "bytes32",
10
+ "internalType": "bytes32"
11
+ }
12
+ ],
13
+ "stateMutability": "view"
14
+ },
15
+ {
16
+ "type": "function",
17
+ "name": "afterHook",
18
+ "inputs": [
19
+ {
20
+ "name": "",
21
+ "type": "bytes",
22
+ "internalType": "bytes"
23
+ },
24
+ {
25
+ "name": "",
26
+ "type": "bytes",
27
+ "internalType": "bytes"
28
+ },
29
+ {
30
+ "name": "",
31
+ "type": "bytes32",
32
+ "internalType": "bytes32"
33
+ },
34
+ {
35
+ "name": "",
36
+ "type": "address",
37
+ "internalType": "address"
38
+ },
39
+ {
40
+ "name": "",
41
+ "type": "address",
42
+ "internalType": "address"
43
+ },
44
+ {
45
+ "name": "",
46
+ "type": "address",
47
+ "internalType": "address"
48
+ },
49
+ {
50
+ "name": "",
51
+ "type": "uint256",
52
+ "internalType": "uint256"
53
+ },
54
+ {
55
+ "name": "",
56
+ "type": "bytes",
57
+ "internalType": "bytes"
58
+ }
59
+ ],
60
+ "outputs": [],
61
+ "stateMutability": "pure"
62
+ },
63
+ {
64
+ "type": "function",
65
+ "name": "beforeHook",
66
+ "inputs": [
67
+ {
68
+ "name": "terms",
69
+ "type": "bytes",
70
+ "internalType": "bytes"
71
+ },
72
+ {
73
+ "name": "args",
74
+ "type": "bytes",
75
+ "internalType": "bytes"
76
+ },
77
+ {
78
+ "name": "delegationHash",
79
+ "type": "bytes32",
80
+ "internalType": "bytes32"
81
+ },
82
+ {
83
+ "name": "delegator",
84
+ "type": "address",
85
+ "internalType": "address"
86
+ },
87
+ {
88
+ "name": "redeemer",
89
+ "type": "address",
90
+ "internalType": "address"
91
+ },
92
+ {
93
+ "name": "target",
94
+ "type": "address",
95
+ "internalType": "address"
96
+ },
97
+ {
98
+ "name": "value",
99
+ "type": "uint256",
100
+ "internalType": "uint256"
101
+ },
102
+ {
103
+ "name": "callData",
104
+ "type": "bytes",
105
+ "internalType": "bytes"
106
+ }
107
+ ],
108
+ "outputs": [],
109
+ "stateMutability": "view"
110
+ },
111
+ {
112
+ "type": "function",
113
+ "name": "computeQuorumPayloadHash",
114
+ "inputs": [
115
+ {
116
+ "name": "delegationHash",
117
+ "type": "bytes32",
118
+ "internalType": "bytes32"
119
+ },
120
+ {
121
+ "name": "delegator",
122
+ "type": "address",
123
+ "internalType": "address"
124
+ },
125
+ {
126
+ "name": "redeemer",
127
+ "type": "address",
128
+ "internalType": "address"
129
+ },
130
+ {
131
+ "name": "target",
132
+ "type": "address",
133
+ "internalType": "address"
134
+ },
135
+ {
136
+ "name": "value",
137
+ "type": "uint256",
138
+ "internalType": "uint256"
139
+ },
140
+ {
141
+ "name": "callData",
142
+ "type": "bytes",
143
+ "internalType": "bytes"
144
+ }
145
+ ],
146
+ "outputs": [
147
+ {
148
+ "name": "",
149
+ "type": "bytes32",
150
+ "internalType": "bytes32"
151
+ }
152
+ ],
153
+ "stateMutability": "view"
154
+ },
155
+ {
156
+ "type": "error",
157
+ "name": "ApprovedHashRequired",
158
+ "inputs": [
159
+ {
160
+ "name": "signer",
161
+ "type": "address",
162
+ "internalType": "address"
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "type": "error",
168
+ "name": "ContractSigInvalid",
169
+ "inputs": [
170
+ {
171
+ "name": "signer",
172
+ "type": "address",
173
+ "internalType": "address"
174
+ }
175
+ ]
176
+ },
177
+ {
178
+ "type": "error",
179
+ "name": "DuplicateOrUnsortedSigner",
180
+ "inputs": [
181
+ {
182
+ "name": "signer",
183
+ "type": "address",
184
+ "internalType": "address"
185
+ }
186
+ ]
187
+ },
188
+ {
189
+ "type": "error",
190
+ "name": "InsufficientQuorum",
191
+ "inputs": [
192
+ {
193
+ "name": "supplied",
194
+ "type": "uint256",
195
+ "internalType": "uint256"
196
+ },
197
+ {
198
+ "name": "threshold",
199
+ "type": "uint8",
200
+ "internalType": "uint8"
201
+ }
202
+ ]
203
+ },
204
+ {
205
+ "type": "error",
206
+ "name": "InvalidSignature",
207
+ "inputs": [
208
+ {
209
+ "name": "v",
210
+ "type": "uint8",
211
+ "internalType": "uint8"
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "type": "error",
217
+ "name": "InvalidThreshold",
218
+ "inputs": [
219
+ {
220
+ "name": "threshold",
221
+ "type": "uint8",
222
+ "internalType": "uint8"
223
+ },
224
+ {
225
+ "name": "signerSetSize",
226
+ "type": "uint256",
227
+ "internalType": "uint256"
228
+ }
229
+ ]
230
+ },
231
+ {
232
+ "type": "error",
233
+ "name": "PasskeyPubKeyMismatch",
234
+ "inputs": [
235
+ {
236
+ "name": "claimed",
237
+ "type": "address",
238
+ "internalType": "address"
239
+ },
240
+ {
241
+ "name": "derived",
242
+ "type": "address",
243
+ "internalType": "address"
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "type": "error",
249
+ "name": "PasskeySigInvalid",
250
+ "inputs": [
251
+ {
252
+ "name": "signer",
253
+ "type": "address",
254
+ "internalType": "address"
255
+ }
256
+ ]
257
+ },
258
+ {
259
+ "type": "error",
260
+ "name": "PayloadHashMismatch",
261
+ "inputs": [
262
+ {
263
+ "name": "expected",
264
+ "type": "bytes32",
265
+ "internalType": "bytes32"
266
+ },
267
+ {
268
+ "name": "supplied",
269
+ "type": "bytes32",
270
+ "internalType": "bytes32"
271
+ }
272
+ ]
273
+ },
274
+ {
275
+ "type": "error",
276
+ "name": "SigTailOutOfBounds",
277
+ "inputs": [
278
+ {
279
+ "name": "v",
280
+ "type": "uint8",
281
+ "internalType": "uint8"
282
+ },
283
+ {
284
+ "name": "sigOffset",
285
+ "type": "uint256",
286
+ "internalType": "uint256"
287
+ },
288
+ {
289
+ "name": "sigLen",
290
+ "type": "uint256",
291
+ "internalType": "uint256"
292
+ },
293
+ {
294
+ "name": "totalLen",
295
+ "type": "uint256",
296
+ "internalType": "uint256"
297
+ }
298
+ ]
299
+ },
300
+ {
301
+ "type": "error",
302
+ "name": "UnauthorizedSigner",
303
+ "inputs": [
304
+ {
305
+ "name": "signer",
306
+ "type": "address",
307
+ "internalType": "address"
308
+ }
309
+ ]
310
+ }
311
+ ]
@@ -0,0 +1,88 @@
1
+ [
2
+ {
3
+ "type": "error",
4
+ "name": "ApprovedHashRequired",
5
+ "inputs": [
6
+ {
7
+ "name": "signer",
8
+ "type": "address",
9
+ "internalType": "address"
10
+ }
11
+ ]
12
+ },
13
+ {
14
+ "type": "error",
15
+ "name": "ContractSigInvalid",
16
+ "inputs": [
17
+ {
18
+ "name": "signer",
19
+ "type": "address",
20
+ "internalType": "address"
21
+ }
22
+ ]
23
+ },
24
+ {
25
+ "type": "error",
26
+ "name": "InvalidSignature",
27
+ "inputs": [
28
+ {
29
+ "name": "v",
30
+ "type": "uint8",
31
+ "internalType": "uint8"
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "type": "error",
37
+ "name": "PasskeyPubKeyMismatch",
38
+ "inputs": [
39
+ {
40
+ "name": "claimed",
41
+ "type": "address",
42
+ "internalType": "address"
43
+ },
44
+ {
45
+ "name": "derived",
46
+ "type": "address",
47
+ "internalType": "address"
48
+ }
49
+ ]
50
+ },
51
+ {
52
+ "type": "error",
53
+ "name": "PasskeySigInvalid",
54
+ "inputs": [
55
+ {
56
+ "name": "signer",
57
+ "type": "address",
58
+ "internalType": "address"
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "type": "error",
64
+ "name": "SigTailOutOfBounds",
65
+ "inputs": [
66
+ {
67
+ "name": "v",
68
+ "type": "uint8",
69
+ "internalType": "uint8"
70
+ },
71
+ {
72
+ "name": "sigOffset",
73
+ "type": "uint256",
74
+ "internalType": "uint256"
75
+ },
76
+ {
77
+ "name": "sigLen",
78
+ "type": "uint256",
79
+ "internalType": "uint256"
80
+ },
81
+ {
82
+ "name": "totalLen",
83
+ "type": "uint256",
84
+ "internalType": "uint256"
85
+ }
86
+ ]
87
+ }
88
+ ]