@q00bs/agent-sdk 1.0.0

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 (85) hide show
  1. package/dist/Q00bsAgent.d.ts +331 -0
  2. package/dist/Q00bsAgent.d.ts.map +1 -0
  3. package/dist/Q00bsAgent.js +695 -0
  4. package/dist/Q00bsAgent.js.map +1 -0
  5. package/dist/abis/AgentEscrow.d.ts +336 -0
  6. package/dist/abis/AgentEscrow.d.ts.map +1 -0
  7. package/dist/abis/AgentEscrow.js +206 -0
  8. package/dist/abis/AgentEscrow.js.map +1 -0
  9. package/dist/abis/AgentRegistry.d.ts +496 -0
  10. package/dist/abis/AgentRegistry.d.ts.map +1 -0
  11. package/dist/abis/AgentRegistry.js +280 -0
  12. package/dist/abis/AgentRegistry.js.map +1 -0
  13. package/dist/abis/ConsensusModule.d.ts +270 -0
  14. package/dist/abis/ConsensusModule.d.ts.map +1 -0
  15. package/dist/abis/ConsensusModule.js +157 -0
  16. package/dist/abis/ConsensusModule.js.map +1 -0
  17. package/dist/abis/ERC8004Identity.d.ts +293 -0
  18. package/dist/abis/ERC8004Identity.d.ts.map +1 -0
  19. package/dist/abis/ERC8004Identity.js +223 -0
  20. package/dist/abis/ERC8004Identity.js.map +1 -0
  21. package/dist/abis/ERC8004Reputation.d.ts +362 -0
  22. package/dist/abis/ERC8004Reputation.d.ts.map +1 -0
  23. package/dist/abis/ERC8004Reputation.js +229 -0
  24. package/dist/abis/ERC8004Reputation.js.map +1 -0
  25. package/dist/abis/ERC8004Validation.d.ts +234 -0
  26. package/dist/abis/ERC8004Validation.d.ts.map +1 -0
  27. package/dist/abis/ERC8004Validation.js +162 -0
  28. package/dist/abis/ERC8004Validation.js.map +1 -0
  29. package/dist/abis/Q00bFactory.d.ts +123 -0
  30. package/dist/abis/Q00bFactory.d.ts.map +1 -0
  31. package/dist/abis/Q00bFactory.js +65 -0
  32. package/dist/abis/Q00bFactory.js.map +1 -0
  33. package/dist/abis/TheQ00bs.d.ts +119 -0
  34. package/dist/abis/TheQ00bs.d.ts.map +1 -0
  35. package/dist/abis/TheQ00bs.js +73 -0
  36. package/dist/abis/TheQ00bs.js.map +1 -0
  37. package/dist/abis/index.d.ts +9 -0
  38. package/dist/abis/index.d.ts.map +1 -0
  39. package/dist/abis/index.js +17 -0
  40. package/dist/abis/index.js.map +1 -0
  41. package/dist/client.d.ts +111 -0
  42. package/dist/client.d.ts.map +1 -0
  43. package/dist/client.js +134 -0
  44. package/dist/client.js.map +1 -0
  45. package/dist/consensus.d.ts +85 -0
  46. package/dist/consensus.d.ts.map +1 -0
  47. package/dist/consensus.js +227 -0
  48. package/dist/consensus.js.map +1 -0
  49. package/dist/constants.d.ts +85 -0
  50. package/dist/constants.d.ts.map +1 -0
  51. package/dist/constants.js +113 -0
  52. package/dist/constants.js.map +1 -0
  53. package/dist/discovery.d.ts +70 -0
  54. package/dist/discovery.d.ts.map +1 -0
  55. package/dist/discovery.js +214 -0
  56. package/dist/discovery.js.map +1 -0
  57. package/dist/erc8004.d.ts +311 -0
  58. package/dist/erc8004.d.ts.map +1 -0
  59. package/dist/erc8004.js +824 -0
  60. package/dist/erc8004.js.map +1 -0
  61. package/dist/errors.d.ts +107 -0
  62. package/dist/errors.d.ts.map +1 -0
  63. package/dist/errors.js +210 -0
  64. package/dist/errors.js.map +1 -0
  65. package/dist/escrow.d.ts +86 -0
  66. package/dist/escrow.d.ts.map +1 -0
  67. package/dist/escrow.js +267 -0
  68. package/dist/escrow.js.map +1 -0
  69. package/dist/index.d.ts +51 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +118 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/privy.d.ts +197 -0
  74. package/dist/privy.d.ts.map +1 -0
  75. package/dist/privy.js +524 -0
  76. package/dist/privy.js.map +1 -0
  77. package/dist/trust.d.ts +49 -0
  78. package/dist/trust.d.ts.map +1 -0
  79. package/dist/trust.js +117 -0
  80. package/dist/trust.js.map +1 -0
  81. package/dist/types.d.ts +472 -0
  82. package/dist/types.d.ts.map +1 -0
  83. package/dist/types.js +36 -0
  84. package/dist/types.js.map +1 -0
  85. package/package.json +30 -0
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONSENSUS_MODULE_ABI = void 0;
4
+ /**
5
+ * ABI for the ConsensusModule contract.
6
+ *
7
+ * Multi-agent voting for high-stakes actions. When an agent wants to do
8
+ * something risky (large transfer, authority delegation), it must first
9
+ * get approval from peer agents in its trust network.
10
+ *
11
+ * Risk tiers:
12
+ * ≤ 0.01 ETH → No consensus needed
13
+ * ≤ 0.1 ETH → 2 of 6 agents approve
14
+ * ≤ 1 ETH → 4 of 6 agents approve
15
+ * > 1 ETH → 4 of 6 agents + human owner approve
16
+ */
17
+ exports.CONSENSUS_MODULE_ABI = [
18
+ // ── Request Creation ──────────────────────────────────────
19
+ {
20
+ inputs: [
21
+ { internalType: 'uint256', name: 'initiatorAgentId', type: 'uint256' },
22
+ { internalType: 'bytes32', name: 'actionHash', type: 'bytes32' },
23
+ { internalType: 'uint256', name: 'value', type: 'uint256' },
24
+ { internalType: 'uint256', name: 'timeout', type: 'uint256' },
25
+ ],
26
+ name: 'requestConsensus',
27
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
28
+ stateMutability: 'nonpayable',
29
+ type: 'function',
30
+ },
31
+ // ── Voting ────────────────────────────────────────────────
32
+ {
33
+ inputs: [
34
+ { internalType: 'uint256', name: 'requestId', type: 'uint256' },
35
+ { internalType: 'uint256', name: 'voterAgentId', type: 'uint256' },
36
+ { internalType: 'bool', name: 'approve', type: 'bool' },
37
+ ],
38
+ name: 'vote',
39
+ outputs: [],
40
+ stateMutability: 'nonpayable',
41
+ type: 'function',
42
+ },
43
+ // ── Human Approval ────────────────────────────────────────
44
+ {
45
+ inputs: [{ internalType: 'uint256', name: 'requestId', type: 'uint256' }],
46
+ name: 'humanApprove',
47
+ outputs: [],
48
+ stateMutability: 'nonpayable',
49
+ type: 'function',
50
+ },
51
+ // ── Execution / Expiry ────────────────────────────────────
52
+ {
53
+ inputs: [{ internalType: 'uint256', name: 'requestId', type: 'uint256' }],
54
+ name: 'markExecuted',
55
+ outputs: [],
56
+ stateMutability: 'nonpayable',
57
+ type: 'function',
58
+ },
59
+ {
60
+ inputs: [{ internalType: 'uint256', name: 'requestId', type: 'uint256' }],
61
+ name: 'markExpired',
62
+ outputs: [],
63
+ stateMutability: 'nonpayable',
64
+ type: 'function',
65
+ },
66
+ // ── View Functions ────────────────────────────────────────
67
+ {
68
+ inputs: [{ internalType: 'uint256', name: 'requestId', type: 'uint256' }],
69
+ name: 'getRequest',
70
+ outputs: [
71
+ {
72
+ components: [
73
+ { internalType: 'uint256', name: 'initiatorAgentId', type: 'uint256' },
74
+ { internalType: 'bytes32', name: 'actionHash', type: 'bytes32' },
75
+ { internalType: 'uint256', name: 'value', type: 'uint256' },
76
+ { internalType: 'uint8', name: 'requiredApprovals', type: 'uint8' },
77
+ { internalType: 'uint8', name: 'currentApprovals', type: 'uint8' },
78
+ { internalType: 'uint8', name: 'currentRejections', type: 'uint8' },
79
+ { internalType: 'uint8', name: 'state', type: 'uint8' },
80
+ { internalType: 'uint256', name: 'createdAt', type: 'uint256' },
81
+ { internalType: 'uint256', name: 'expiresAt', type: 'uint256' },
82
+ { internalType: 'bool', name: 'humanApprovalRequired', type: 'bool' },
83
+ { internalType: 'bool', name: 'humanApproved', type: 'bool' },
84
+ { internalType: 'address', name: 'humanApprover', type: 'address' },
85
+ ],
86
+ internalType: 'struct ConsensusModule.ConsensusRequest',
87
+ name: '',
88
+ type: 'tuple',
89
+ },
90
+ ],
91
+ stateMutability: 'view',
92
+ type: 'function',
93
+ },
94
+ {
95
+ inputs: [{ internalType: 'uint256', name: 'requestId', type: 'uint256' }],
96
+ name: 'getVoters',
97
+ outputs: [{ internalType: 'uint256[]', name: '', type: 'uint256[]' }],
98
+ stateMutability: 'view',
99
+ type: 'function',
100
+ },
101
+ {
102
+ inputs: [{ internalType: 'uint256', name: 'requestId', type: 'uint256' }],
103
+ name: 'isApproved',
104
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
105
+ stateMutability: 'view',
106
+ type: 'function',
107
+ },
108
+ {
109
+ inputs: [],
110
+ name: 'requestCount',
111
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
112
+ stateMutability: 'view',
113
+ type: 'function',
114
+ },
115
+ // ── Events ────────────────────────────────────────────────
116
+ {
117
+ anonymous: false,
118
+ inputs: [
119
+ { indexed: true, internalType: 'uint256', name: 'requestId', type: 'uint256' },
120
+ { indexed: true, internalType: 'uint256', name: 'initiatorAgentId', type: 'uint256' },
121
+ { indexed: false, internalType: 'bytes32', name: 'actionHash', type: 'bytes32' },
122
+ { indexed: false, internalType: 'uint256', name: 'value', type: 'uint256' },
123
+ { indexed: false, internalType: 'uint8', name: 'requiredApprovals', type: 'uint8' },
124
+ ],
125
+ name: 'ConsensusRequested',
126
+ type: 'event',
127
+ },
128
+ {
129
+ anonymous: false,
130
+ inputs: [
131
+ { indexed: true, internalType: 'uint256', name: 'requestId', type: 'uint256' },
132
+ { indexed: true, internalType: 'uint256', name: 'voterAgentId', type: 'uint256' },
133
+ { indexed: false, internalType: 'bool', name: 'approved', type: 'bool' },
134
+ ],
135
+ name: 'VoteCast',
136
+ type: 'event',
137
+ },
138
+ {
139
+ anonymous: false,
140
+ inputs: [
141
+ { indexed: true, internalType: 'uint256', name: 'requestId', type: 'uint256' },
142
+ { indexed: false, internalType: 'bool', name: 'approved', type: 'bool' },
143
+ ],
144
+ name: 'ConsensusReached',
145
+ type: 'event',
146
+ },
147
+ {
148
+ anonymous: false,
149
+ inputs: [
150
+ { indexed: true, internalType: 'uint256', name: 'requestId', type: 'uint256' },
151
+ { indexed: false, internalType: 'address', name: 'human', type: 'address' },
152
+ ],
153
+ name: 'HumanApproval',
154
+ type: 'event',
155
+ },
156
+ ];
157
+ //# sourceMappingURL=ConsensusModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsensusModule.js","sourceRoot":"","sources":["../../src/abis/ConsensusModule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,293 @@
1
+ /**
2
+ * ABI for the ERC-8004 IdentityRegistryUpgradeable contract.
3
+ *
4
+ * ERC-8004 is the Trustless Agents standard that defines three on-chain
5
+ * registries for agent identity, reputation, and validation. This ABI
6
+ * covers the Identity Registry — an ERC-721 that mints agent identities
7
+ * with associated metadata and wallet bindings.
8
+ *
9
+ * DEPLOYED ON BASE MAINNET:
10
+ * 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
11
+ *
12
+ * KEY CONCEPTS:
13
+ * - Each agent identity is an ERC-721 NFT (tokenId = agentId)
14
+ * - `agentURI` (tokenURI) points to an agent registration file (JSON)
15
+ * - `agentWallet` is a reserved metadata key managed via EIP-712/ERC-1271
16
+ * - Agent wallet is cleared on transfer to prevent impersonation
17
+ * - Metadata is a key-value store for extensible agent properties
18
+ *
19
+ * AGENT IDENTIFIER FORMAT:
20
+ * {namespace}:{chainId}:{identityRegistryAddress}:{agentId}
21
+ * e.g. "q00bs:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432:42"
22
+ *
23
+ * REFERENCE: https://www.8004.org/build
24
+ */
25
+ export declare const ERC8004_IDENTITY_ABI: readonly [{
26
+ readonly inputs: readonly [{
27
+ readonly internalType: "address";
28
+ readonly name: "to";
29
+ readonly type: "address";
30
+ }];
31
+ readonly name: "register";
32
+ readonly outputs: readonly [{
33
+ readonly internalType: "uint256";
34
+ readonly name: "";
35
+ readonly type: "uint256";
36
+ }];
37
+ readonly stateMutability: "nonpayable";
38
+ readonly type: "function";
39
+ }, {
40
+ readonly inputs: readonly [{
41
+ readonly internalType: "uint256";
42
+ readonly name: "tokenId";
43
+ readonly type: "uint256";
44
+ }, {
45
+ readonly internalType: "string";
46
+ readonly name: "_agentURI";
47
+ readonly type: "string";
48
+ }];
49
+ readonly name: "setAgentURI";
50
+ readonly outputs: readonly [];
51
+ readonly stateMutability: "nonpayable";
52
+ readonly type: "function";
53
+ }, {
54
+ readonly inputs: readonly [{
55
+ readonly internalType: "uint256";
56
+ readonly name: "tokenId";
57
+ readonly type: "uint256";
58
+ }];
59
+ readonly name: "tokenURI";
60
+ readonly outputs: readonly [{
61
+ readonly internalType: "string";
62
+ readonly name: "";
63
+ readonly type: "string";
64
+ }];
65
+ readonly stateMutability: "view";
66
+ readonly type: "function";
67
+ }, {
68
+ readonly inputs: readonly [{
69
+ readonly internalType: "uint256";
70
+ readonly name: "tokenId";
71
+ readonly type: "uint256";
72
+ }, {
73
+ readonly internalType: "string";
74
+ readonly name: "key";
75
+ readonly type: "string";
76
+ }];
77
+ readonly name: "getMetadata";
78
+ readonly outputs: readonly [{
79
+ readonly internalType: "string";
80
+ readonly name: "";
81
+ readonly type: "string";
82
+ }];
83
+ readonly stateMutability: "view";
84
+ readonly type: "function";
85
+ }, {
86
+ readonly inputs: readonly [{
87
+ readonly internalType: "uint256";
88
+ readonly name: "tokenId";
89
+ readonly type: "uint256";
90
+ }, {
91
+ readonly internalType: "string";
92
+ readonly name: "key";
93
+ readonly type: "string";
94
+ }, {
95
+ readonly internalType: "string";
96
+ readonly name: "value";
97
+ readonly type: "string";
98
+ }];
99
+ readonly name: "setMetadata";
100
+ readonly outputs: readonly [];
101
+ readonly stateMutability: "nonpayable";
102
+ readonly type: "function";
103
+ }, {
104
+ readonly inputs: readonly [{
105
+ readonly internalType: "uint256";
106
+ readonly name: "tokenId";
107
+ readonly type: "uint256";
108
+ }];
109
+ readonly name: "getAgentWallet";
110
+ readonly outputs: readonly [{
111
+ readonly internalType: "address";
112
+ readonly name: "";
113
+ readonly type: "address";
114
+ }];
115
+ readonly stateMutability: "view";
116
+ readonly type: "function";
117
+ }, {
118
+ readonly inputs: readonly [{
119
+ readonly internalType: "uint256";
120
+ readonly name: "tokenId";
121
+ readonly type: "uint256";
122
+ }, {
123
+ readonly internalType: "address";
124
+ readonly name: "wallet";
125
+ readonly type: "address";
126
+ }, {
127
+ readonly internalType: "bytes";
128
+ readonly name: "proof";
129
+ readonly type: "bytes";
130
+ }];
131
+ readonly name: "setAgentWallet";
132
+ readonly outputs: readonly [];
133
+ readonly stateMutability: "nonpayable";
134
+ readonly type: "function";
135
+ }, {
136
+ readonly inputs: readonly [{
137
+ readonly internalType: "uint256";
138
+ readonly name: "tokenId";
139
+ readonly type: "uint256";
140
+ }];
141
+ readonly name: "unsetAgentWallet";
142
+ readonly outputs: readonly [];
143
+ readonly stateMutability: "nonpayable";
144
+ readonly type: "function";
145
+ }, {
146
+ readonly inputs: readonly [{
147
+ readonly internalType: "uint256";
148
+ readonly name: "tokenId";
149
+ readonly type: "uint256";
150
+ }];
151
+ readonly name: "ownerOf";
152
+ readonly outputs: readonly [{
153
+ readonly internalType: "address";
154
+ readonly name: "";
155
+ readonly type: "address";
156
+ }];
157
+ readonly stateMutability: "view";
158
+ readonly type: "function";
159
+ }, {
160
+ readonly inputs: readonly [{
161
+ readonly internalType: "address";
162
+ readonly name: "owner";
163
+ readonly type: "address";
164
+ }];
165
+ readonly name: "balanceOf";
166
+ readonly outputs: readonly [{
167
+ readonly internalType: "uint256";
168
+ readonly name: "";
169
+ readonly type: "uint256";
170
+ }];
171
+ readonly stateMutability: "view";
172
+ readonly type: "function";
173
+ }, {
174
+ readonly inputs: readonly [];
175
+ readonly name: "totalSupply";
176
+ readonly outputs: readonly [{
177
+ readonly internalType: "uint256";
178
+ readonly name: "";
179
+ readonly type: "uint256";
180
+ }];
181
+ readonly stateMutability: "view";
182
+ readonly type: "function";
183
+ }, {
184
+ readonly inputs: readonly [{
185
+ readonly internalType: "bytes4";
186
+ readonly name: "interfaceId";
187
+ readonly type: "bytes4";
188
+ }];
189
+ readonly name: "supportsInterface";
190
+ readonly outputs: readonly [{
191
+ readonly internalType: "bool";
192
+ readonly name: "";
193
+ readonly type: "bool";
194
+ }];
195
+ readonly stateMutability: "view";
196
+ readonly type: "function";
197
+ }, {
198
+ readonly anonymous: false;
199
+ readonly inputs: readonly [{
200
+ readonly indexed: true;
201
+ readonly internalType: "address";
202
+ readonly name: "to";
203
+ readonly type: "address";
204
+ }, {
205
+ readonly indexed: true;
206
+ readonly internalType: "uint256";
207
+ readonly name: "tokenId";
208
+ readonly type: "uint256";
209
+ }];
210
+ readonly name: "AgentRegistered";
211
+ readonly type: "event";
212
+ }, {
213
+ readonly anonymous: false;
214
+ readonly inputs: readonly [{
215
+ readonly indexed: true;
216
+ readonly internalType: "uint256";
217
+ readonly name: "tokenId";
218
+ readonly type: "uint256";
219
+ }, {
220
+ readonly indexed: false;
221
+ readonly internalType: "string";
222
+ readonly name: "agentURI";
223
+ readonly type: "string";
224
+ }];
225
+ readonly name: "AgentURISet";
226
+ readonly type: "event";
227
+ }, {
228
+ readonly anonymous: false;
229
+ readonly inputs: readonly [{
230
+ readonly indexed: true;
231
+ readonly internalType: "uint256";
232
+ readonly name: "tokenId";
233
+ readonly type: "uint256";
234
+ }, {
235
+ readonly indexed: false;
236
+ readonly internalType: "string";
237
+ readonly name: "key";
238
+ readonly type: "string";
239
+ }, {
240
+ readonly indexed: false;
241
+ readonly internalType: "string";
242
+ readonly name: "value";
243
+ readonly type: "string";
244
+ }];
245
+ readonly name: "MetadataSet";
246
+ readonly type: "event";
247
+ }, {
248
+ readonly anonymous: false;
249
+ readonly inputs: readonly [{
250
+ readonly indexed: true;
251
+ readonly internalType: "uint256";
252
+ readonly name: "tokenId";
253
+ readonly type: "uint256";
254
+ }, {
255
+ readonly indexed: true;
256
+ readonly internalType: "address";
257
+ readonly name: "wallet";
258
+ readonly type: "address";
259
+ }];
260
+ readonly name: "AgentWalletSet";
261
+ readonly type: "event";
262
+ }, {
263
+ readonly anonymous: false;
264
+ readonly inputs: readonly [{
265
+ readonly indexed: true;
266
+ readonly internalType: "uint256";
267
+ readonly name: "tokenId";
268
+ readonly type: "uint256";
269
+ }];
270
+ readonly name: "AgentWalletUnset";
271
+ readonly type: "event";
272
+ }, {
273
+ readonly anonymous: false;
274
+ readonly inputs: readonly [{
275
+ readonly indexed: true;
276
+ readonly internalType: "address";
277
+ readonly name: "from";
278
+ readonly type: "address";
279
+ }, {
280
+ readonly indexed: true;
281
+ readonly internalType: "address";
282
+ readonly name: "to";
283
+ readonly type: "address";
284
+ }, {
285
+ readonly indexed: true;
286
+ readonly internalType: "uint256";
287
+ readonly name: "tokenId";
288
+ readonly type: "uint256";
289
+ }];
290
+ readonly name: "Transfer";
291
+ readonly type: "event";
292
+ }];
293
+ //# sourceMappingURL=ERC8004Identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC8004Identity.d.ts","sourceRoot":"","sources":["../../src/abis/ERC8004Identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiNvB,CAAC"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERC8004_IDENTITY_ABI = void 0;
4
+ /**
5
+ * ABI for the ERC-8004 IdentityRegistryUpgradeable contract.
6
+ *
7
+ * ERC-8004 is the Trustless Agents standard that defines three on-chain
8
+ * registries for agent identity, reputation, and validation. This ABI
9
+ * covers the Identity Registry — an ERC-721 that mints agent identities
10
+ * with associated metadata and wallet bindings.
11
+ *
12
+ * DEPLOYED ON BASE MAINNET:
13
+ * 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
14
+ *
15
+ * KEY CONCEPTS:
16
+ * - Each agent identity is an ERC-721 NFT (tokenId = agentId)
17
+ * - `agentURI` (tokenURI) points to an agent registration file (JSON)
18
+ * - `agentWallet` is a reserved metadata key managed via EIP-712/ERC-1271
19
+ * - Agent wallet is cleared on transfer to prevent impersonation
20
+ * - Metadata is a key-value store for extensible agent properties
21
+ *
22
+ * AGENT IDENTIFIER FORMAT:
23
+ * {namespace}:{chainId}:{identityRegistryAddress}:{agentId}
24
+ * e.g. "q00bs:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432:42"
25
+ *
26
+ * REFERENCE: https://www.8004.org/build
27
+ */
28
+ exports.ERC8004_IDENTITY_ABI = [
29
+ // ── Registration ──────────────────────────────────────────
30
+ /**
31
+ * Register a new agent identity (mints an ERC-721 token).
32
+ * @param to Address to mint the identity NFT to.
33
+ * @returns tokenId (agentId) of the newly minted identity.
34
+ */
35
+ {
36
+ inputs: [{ internalType: 'address', name: 'to', type: 'address' }],
37
+ name: 'register',
38
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
39
+ stateMutability: 'nonpayable',
40
+ type: 'function',
41
+ },
42
+ // ── Agent URI (tokenURI) ──────────────────────────────────
43
+ /**
44
+ * Set the agentURI for a token. Points to an agent registration JSON file.
45
+ * Only callable by the token owner.
46
+ */
47
+ {
48
+ inputs: [
49
+ { internalType: 'uint256', name: 'tokenId', type: 'uint256' },
50
+ { internalType: 'string', name: '_agentURI', type: 'string' },
51
+ ],
52
+ name: 'setAgentURI',
53
+ outputs: [],
54
+ stateMutability: 'nonpayable',
55
+ type: 'function',
56
+ },
57
+ /**
58
+ * Get the agentURI (tokenURI) for a token.
59
+ */
60
+ {
61
+ inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }],
62
+ name: 'tokenURI',
63
+ outputs: [{ internalType: 'string', name: '', type: 'string' }],
64
+ stateMutability: 'view',
65
+ type: 'function',
66
+ },
67
+ // ── Metadata (key-value store) ────────────────────────────
68
+ /**
69
+ * Get metadata value for a given key on a token.
70
+ */
71
+ {
72
+ inputs: [
73
+ { internalType: 'uint256', name: 'tokenId', type: 'uint256' },
74
+ { internalType: 'string', name: 'key', type: 'string' },
75
+ ],
76
+ name: 'getMetadata',
77
+ outputs: [{ internalType: 'string', name: '', type: 'string' }],
78
+ stateMutability: 'view',
79
+ type: 'function',
80
+ },
81
+ /**
82
+ * Set metadata value for a given key on a token.
83
+ * Only callable by the token owner.
84
+ * The key "agentWallet" is RESERVED — use setAgentWallet() instead.
85
+ */
86
+ {
87
+ inputs: [
88
+ { internalType: 'uint256', name: 'tokenId', type: 'uint256' },
89
+ { internalType: 'string', name: 'key', type: 'string' },
90
+ { internalType: 'string', name: 'value', type: 'string' },
91
+ ],
92
+ name: 'setMetadata',
93
+ outputs: [],
94
+ stateMutability: 'nonpayable',
95
+ type: 'function',
96
+ },
97
+ // ── Agent Wallet (EIP-712/ERC-1271 secured) ───────────────
98
+ /**
99
+ * Get the agentWallet address for a token.
100
+ * Returns address(0) if no wallet is set.
101
+ */
102
+ {
103
+ inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }],
104
+ name: 'getAgentWallet',
105
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
106
+ stateMutability: 'view',
107
+ type: 'function',
108
+ },
109
+ /**
110
+ * Set the agentWallet for a token with EIP-712/ERC-1271 proof.
111
+ * The proof ensures the wallet owner has consented to being linked.
112
+ * Only callable by the token owner.
113
+ */
114
+ {
115
+ inputs: [
116
+ { internalType: 'uint256', name: 'tokenId', type: 'uint256' },
117
+ { internalType: 'address', name: 'wallet', type: 'address' },
118
+ { internalType: 'bytes', name: 'proof', type: 'bytes' },
119
+ ],
120
+ name: 'setAgentWallet',
121
+ outputs: [],
122
+ stateMutability: 'nonpayable',
123
+ type: 'function',
124
+ },
125
+ /**
126
+ * Unset the agentWallet for a token.
127
+ * Only callable by the token owner.
128
+ */
129
+ {
130
+ inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }],
131
+ name: 'unsetAgentWallet',
132
+ outputs: [],
133
+ stateMutability: 'nonpayable',
134
+ type: 'function',
135
+ },
136
+ // ── ERC-721 Standard ──────────────────────────────────────
137
+ {
138
+ inputs: [{ internalType: 'uint256', name: 'tokenId', type: 'uint256' }],
139
+ name: 'ownerOf',
140
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
141
+ stateMutability: 'view',
142
+ type: 'function',
143
+ },
144
+ {
145
+ inputs: [{ internalType: 'address', name: 'owner', type: 'address' }],
146
+ name: 'balanceOf',
147
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
148
+ stateMutability: 'view',
149
+ type: 'function',
150
+ },
151
+ {
152
+ inputs: [],
153
+ name: 'totalSupply',
154
+ outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
155
+ stateMutability: 'view',
156
+ type: 'function',
157
+ },
158
+ {
159
+ inputs: [{ internalType: 'bytes4', name: 'interfaceId', type: 'bytes4' }],
160
+ name: 'supportsInterface',
161
+ outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
162
+ stateMutability: 'view',
163
+ type: 'function',
164
+ },
165
+ // ── Events ────────────────────────────────────────────────
166
+ {
167
+ anonymous: false,
168
+ inputs: [
169
+ { indexed: true, internalType: 'address', name: 'to', type: 'address' },
170
+ { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' },
171
+ ],
172
+ name: 'AgentRegistered',
173
+ type: 'event',
174
+ },
175
+ {
176
+ anonymous: false,
177
+ inputs: [
178
+ { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' },
179
+ { indexed: false, internalType: 'string', name: 'agentURI', type: 'string' },
180
+ ],
181
+ name: 'AgentURISet',
182
+ type: 'event',
183
+ },
184
+ {
185
+ anonymous: false,
186
+ inputs: [
187
+ { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' },
188
+ { indexed: false, internalType: 'string', name: 'key', type: 'string' },
189
+ { indexed: false, internalType: 'string', name: 'value', type: 'string' },
190
+ ],
191
+ name: 'MetadataSet',
192
+ type: 'event',
193
+ },
194
+ {
195
+ anonymous: false,
196
+ inputs: [
197
+ { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' },
198
+ { indexed: true, internalType: 'address', name: 'wallet', type: 'address' },
199
+ ],
200
+ name: 'AgentWalletSet',
201
+ type: 'event',
202
+ },
203
+ {
204
+ anonymous: false,
205
+ inputs: [
206
+ { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' },
207
+ ],
208
+ name: 'AgentWalletUnset',
209
+ type: 'event',
210
+ },
211
+ // ERC-721 Transfer event (also emitted on mint/register)
212
+ {
213
+ anonymous: false,
214
+ inputs: [
215
+ { indexed: true, internalType: 'address', name: 'from', type: 'address' },
216
+ { indexed: true, internalType: 'address', name: 'to', type: 'address' },
217
+ { indexed: true, internalType: 'uint256', name: 'tokenId', type: 'uint256' },
218
+ ],
219
+ name: 'Transfer',
220
+ type: 'event',
221
+ },
222
+ ];
223
+ //# sourceMappingURL=ERC8004Identity.js.map