@agenticprimitives/agent-naming 1.0.0-alpha.45 → 1.0.0-alpha.47

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.
package/AUDIT.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # @agenticprimitives/agent-naming — package audit
2
2
 
3
3
  **Status:** Phase 1 (SDK skeleton + spec + pure helpers).
4
- **Last refreshed:** 2026-06-01 (R9 substrate coverage references + R11.1 fail-hard audit + R11.3 public-surface cleanup)
4
+ **Last refreshed:** 2026-11-10 (spec 445 hardening: NAME-8)
5
+ **Prior refresh:** 2026-06-01 (R9 substrate coverage references + R11.1 fail-hard audit + R11.3 public-surface cleanup)
5
6
  **Prior refresh:** 2026-05-23
6
7
  **Owner:** [security-auditor](../../docs/agents/security-auditor.md) +
7
8
  [technical-architect-auditor](../../docs/agents/technical-architect-auditor.md).
@@ -57,6 +58,53 @@ on-chain authority paths, and demo integration land in Phase 3+.
57
58
  - ✅ `AgentNamingClient` throws `NS Phase 4 — wire to …` from every
58
59
  write method.
59
60
 
61
+ ## Spec 445 — pre-launch hardening (2026-11-10)
62
+
63
+ **Root retirement (2026-11-10, owner decision).** `.impact` is removed from `LEGACY_TLDS`; `.agent` is the only
64
+ untyped legacy root. No alias or migration path: `alice.impact` is `unknown_tld` in `parseAgentName` / `namehash` /
65
+ `normalizeAgentName` (so it cannot be hashed, resolved or claimed), has no host, and reads as no name
66
+ (`test/grammar.test.ts` "a retired root fails closed"). The on-chain root on deployed networks is not removed by this.
67
+ Residual: `hostForName` / `dnsHostReadings` / `agentNameForHandle` take the bare roots from the CALLER and do not
68
+ check them against the root lists — a deployment still configured with a retired parent builds a string that then
69
+ fails at `namehash`.
70
+
71
+ Source: `docs/audits/2026-11-10-pre-launch-audit/reviewer-reports/09-ts-naming-registry-coordination.md`.
72
+
73
+ **NAME-8 (Medium) — the DNS host projection is injective and its inverse single-valued.** Typed names host at
74
+ `<label>-<type>.<zone>`, persons and untyped roots at `<label>.<zone>`. The rule, enforced where a host is made,
75
+ read and claimed (`src/dns.ts` header):
76
+
77
+ 1. a bare-root label ending in `-<type>` **has no host** — `hostForName` → `null`, `dnsHostForHandle` throws
78
+ `label_reads_as_type` — for LEGACY roots as well as persons (before: person-only, and only in `validateTypedClaim`);
79
+ 2. a type suffix is one hyphen-free word (`registerVerticalAgentTypes` refuses a hyphen), so `<label>-<type>` splits
80
+ one way (`typeSuffixOfLabel`);
81
+ 3. a reserved label has no host and reads back as no name;
82
+ 4. the SDK claim helpers refuse both (`labelClaimViolation` in `buildSubregistryRegisterCall` — an omitted `root` is
83
+ judged a bare root — `buildRegisterSubnameCall` under a known root, `buildTypedClaimCalls`, `buildPricedClaimCalls`);
84
+ 5. every inverse is a HINT: `confirmDnsHost` resolves EVERY reading of a host on chain and returns `ambiguous` when two
85
+ agents hold it — a router refuses, it never picks by precedence.
86
+
87
+ | Test (`test/dns.test.ts`, `test/claim.test.ts`) | Twin |
88
+ | --- | --- |
89
+ | "twin: legacy `foo-org` and typed `foo.org` do not share a host" | the audit PoC rows |
90
+ | "property: forward is injective for one bare root, and inverse∘forward is the identity" (+ two more properties) | > 5 000 generated names × every root |
91
+ | "twin: a host that reads two ways on chain is AMBIGUOUS, never a pick" | victim legacy name + attacker typed claim |
92
+ | "twin: a reserved label has no host…" / "…through every SDK claim helper is refused" | `www`, `api`, type words |
93
+ | "twin: a hyphenated vertical suffix is refused" | `x.house-guild` vs `x-house.guild` |
94
+
95
+ **Contract half — generation 4 / B2 (2026-11-10, spec 445).** `AgentNameRegistry.register` (so every subregistry
96
+ path) reverts `ReservedLabel` (`ws www mtls edge api well-known` = `CHAIN_SEEDED_RESERVED_LABELS`, plus each INITIALIZED
97
+ typed root's label) and, under a bare-host root, `LabelReadsAsTypedName`; the SDK stays the stricter pre-check (all type
98
+ words statically). Mirrored: REG-5 commit-reveal (`buildSubregistryCommitCall` → wait ≥10 s → reveal with the client's
99
+ secret; `subregistryCommitment` golden), REG-6 parent-only `buildRenewNameCall`, REG-4 epoch/REG-11/initializer ABI.
100
+ Tests: `test/generation4-b2.test.ts` (REG-5 ×6, NAME-8 on chain ×2, REG-6, REG-11). Routing still uses `confirmDnsHost`.
101
+
102
+ **Open — residual.** An estate serving several bare roots shares `<label>.<zone>` between them by configuration;
103
+ `confirmDnsHost` reports it unless one agent holds both. A grandfathered bare name ending in `-<type>` still answers
104
+ at its old host while no typed claim reads the same (`projectable: false`); once one does, the host answers for
105
+ neither. NAME-18 (ABI mirrors outside `check:abi-sync`) and NAME-20's chain-id comparison for `AgentNamingClient`
106
+ are not taken here (the gate script is root-owned; the client has ~20 read paths and needs its own change).
107
+
60
108
  ## Audit events this package emits (Phase 2+)
61
109
 
62
110
  | Action | When | Severity in audit context |
@@ -85,11 +133,13 @@ client doesn't yet take an `auditSink`; Phase 2 will add the optional
85
133
  | Date | Wave | What changed |
86
134
  | --- | --- | --- |
87
135
  | 2026-05-23 | NS Phase 1 | Initial audit. AN-1/2/3 open; security invariants verified by unit tests. |
136
+ | 2026-11-10 | spec 445 | NAME-8: injective DNS projection, `confirmDnsHost`, claim-helper refusals, hyphen-free vertical suffixes; `handleForDnsHost` exported. |
137
+ | 2026-11-10 | spec 445 / generation 4 / B2 | REG-4/5/6/11 + NAME-8-on-chain mirrors; `buildTypedClaimCalls` → `{ commit, claim }` (BREAKING: `chainId`, `secret`). |
88
138
 
89
139
  ## R9 substrate coverage (2026-06-01)
90
140
 
91
141
  - Locked by R6.2 + R6.8 contract-side hardening:
92
- - `AgentNameRegistry.initializeRoot` cannot be frontrun (immutable initializer + same-tx deploy) — H7-C.4 / CON-NAMING-001.
142
+ - `AgentNameRegistry.initializeRoot` cannot be frontrun (one initializer; gen 4: one-shot relinquishing `transferInitializer`→`acceptInitializer`) — H7-C.4 / CON-NAMING-001.
93
143
  - `PermissionlessSubregistry.register` is `nonReentrant` — R6.2 / CON-SUBREGISTRY-003.
94
144
  - Pause coverage: 7 mutating functions (register, backfillLabel, setOwner, setResolver, setSubregistry, renew, setPrimaryName) are `whenNotPaused` — R6.8.
95
145
  - ADR-0012 / ADR-0013: NO `eth_getLogs` in product read paths; `reverseResolveString` is the canonical single-call.
package/CLAUDE.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # @agenticprimitives/agent-naming — Claude guide
2
2
 
3
3
  ## Naming facet, not identity
4
- Names are a **facet registration** pointing AT the canonical Smart Agent ([ADR-0010](../../docs/architecture/decisions/0010-smart-agent-canonical-identifier.md)). Forced-unique labels: [spec 220 § 5](../../specs/220-agent-identity-bootstrap.md). `addr` + `nativeId` MUST reference the same SA.
4
+ Names are a **facet registration** pointing AT the canonical Smart Agent ([ADR-0010](../../docs/architecture/decisions/0010-smart-agent-canonical-identifier.md)). Forced-unique labels: [spec 220 § 5](../../specs/220-agent-identity-bootstrap.md). `addr` + `nativeId` SHOULD reference the same SA — no read path here checks it (audit NAME-20); a consumer that relies on it compares them.
5
5
 
6
6
  ## What this package owns
7
7
 
8
8
  - The **typed TLD registry** (`AGENT_TLDS` = `me org team svc workspace treasury registry church circle`, alias `ws`,
9
- legacy `impact`/`agent`) — a suffix names the DERIVED agent type, never a root, a role or the
9
+ legacy `agent`; `.impact` retired ⇒ `unknown_tld`) — a suffix names the DERIVED agent type, never a root, a role or the
10
10
  hierarchy ([ADR-0061](../../docs/architecture/decisions/0061-derived-agent-types-and-typed-name-suffixes.md),
11
11
  [spec 346](../../specs/346-typed-agent-naming-and-registry.md)). `derivedTypeForTld` / `rootClassForTld`.
12
12
  - The name **grammar** (`parseAgentName`): `x.t` canonical, `x.t@c.u` context-issued (path form
@@ -16,19 +16,17 @@ Names are a **facet registration** pointing AT the canonical Smart Agent ([ADR-0
16
16
  - The **federated reference** (`federatedAgentName` → `FederatedAgentNameV1 { name, chain }`, `displayAgentName` —
17
17
  bare only inside the home chain, qualified everywhere else; spec 346 §3.7, ap-federation spec 440 §C). The chain is
18
18
  a record beside the name, never a name component: `alice.me@faithchain` is refused by the grammar.
19
- - The **DNS/A2A projection** (`dnsHostForHandle`, zone caller-supplied — ADR-0021) and the two
20
- protocol paths (`/api/a2a`, `/.well-known/agent-card.json`).
19
+ - The **DNS/A2A projection** (`dnsHostForHandle`/`hostForName`, zone caller-supplied — ADR-0021) + the two protocol paths. Injective (spec 445 / NAME-8):
20
+ a bare-root label ending in `-<type>` and a reserved label have NO host; host → name is a HINT — route via `confirmDnsHost` (`ambiguous` ⇒ refuse).
21
21
  - **Claim-time validation** (`validateTypedClaim`, `findUniqueLabel`, `buildDeclareAgentTypeCalls`,
22
22
  `buildTypedClaimCalls`): the suffix is a CLAIM, the SA-keyed on-chain `atl:agentType` record is
23
23
  the authority; a mismatch fails closed (`resolveTyped` → `null`, `checkTypedName` → reason).
24
- - `labelhash` + `namehash` — recursive keccak256 hashes
25
- (`keccak256(parentNode || labelhash)`) for identifier nodes.
24
+ - `labelhash` + `namehash` for identifier nodes.
26
25
  - Record schemas (`AgentNameRecords`) and predicate constants
27
26
  (subpath `/records`).
28
27
  - `AgentNamingClient` — read API (resolve / reverse-resolve / get
29
28
  records) + write API skeleton (Phase 1 writes throw `NS Phase 2`).
30
- - Pure encoded call builders for name-owner rotation that compose
31
- into custody-policy ceremonies (subpath `/custody`).
29
+ - Call builders for name-owner rotation (subpath `/custody`).
32
30
 
33
31
  ## What this package does NOT own
34
32
 
@@ -49,18 +47,14 @@ resolver / invitation flows → `registry-resolution` (spec 346 §6.3).
49
47
  - **"registry"** here = `AgentNameRegistry` contract. Distinct from
50
48
  the factory deploy-registry in `agent-account`.
51
49
  - **"primary name"** = reverse-record on a Smart Agent address.
52
- Distinct from `connect-auth.sessionId` and `delegation.SessionRow`.
53
- **Does not use:** `Delegation`, `Caveat`, `Steward`, `Custodian`,
54
- `Trustee`, `KMS`, `RiskTier`, `JtiStore`, MCP / A2A transport.
55
- See `capability.manifest.json:forbiddenTerms`.
50
+ **Does not use:** see `capability.manifest.json:forbiddenTerms`.
56
51
 
57
52
  ## Read these first (in order)
58
53
 
59
54
  1. `capability.manifest.json` — boundary.
60
55
  2. `src/index.ts` — public API.
61
56
  3. `../../specs/346-typed-agent-naming-and-registry.md` §2–§5 — the typed model (spec 215 = records/contracts prior art).
62
- 4. `src/namehash.ts` + `src/normalize.ts` — the pure substrate.
63
- 5. `src/client.ts` — the client skeleton.
57
+ 4. `src/namehash.ts`, `src/normalize.ts`, `src/client.ts`.
64
58
 
65
59
  ## Stable public exports
66
60
 
@@ -110,9 +104,7 @@ resolver / invitation flows → `registry-resolution` (spec 346 §6.3).
110
104
  in [`custody`](../account-custody). Compose via `agent-naming/custody`
111
105
  call builders here without importing.
112
106
  - "Add a passkey ceremony" — **STOP.** Belongs in [`connect-auth`](../connect-auth).
113
- - "Reach for an MCP transport" — **STOP.** Out of scope.
114
- - "Auto-resolve name via a system-wide hook in the worker" — **STOP.**
115
- Demo-app integration only; the package itself is transport-agnostic.
107
+ - "Reach for an MCP transport" or "auto-resolve via a worker hook" — **STOP.** Out of scope; app integration.
116
108
  - "Infer the agent type from the suffix / the DNS label" or "let the suffix
117
109
  override `atl:agentType`" — **STOP.** ADR-0061 §5: the record is the
118
110
  authority; `checkTypedName` fails closed on a mismatch.
package/dist/abis.d.ts CHANGED
@@ -30,6 +30,263 @@ export declare const agentNameRegistryAbi: readonly [{
30
30
  readonly type: "error";
31
31
  readonly name: "ZeroOwner";
32
32
  readonly inputs: readonly [];
33
+ }, {
34
+ readonly type: "error";
35
+ readonly name: "InvalidLabel";
36
+ readonly inputs: readonly [];
37
+ }, {
38
+ readonly type: "error";
39
+ readonly name: "ReservedLabel";
40
+ readonly inputs: readonly [];
41
+ }, {
42
+ readonly type: "error";
43
+ readonly name: "LabelReadsAsTypedName";
44
+ readonly inputs: readonly [];
45
+ }, {
46
+ readonly type: "error";
47
+ readonly name: "ExpiryNotExtended";
48
+ readonly inputs: readonly [];
49
+ }, {
50
+ readonly type: "error";
51
+ readonly name: "InitializerAlreadyHandedOver";
52
+ readonly inputs: readonly [];
53
+ }, {
54
+ readonly type: "error";
55
+ readonly name: "NotPendingInitializer";
56
+ readonly inputs: readonly [{
57
+ readonly name: "caller";
58
+ readonly type: "address";
59
+ }];
60
+ }, {
61
+ readonly type: "error";
62
+ readonly name: "NotInitializer";
63
+ readonly inputs: readonly [{
64
+ readonly name: "caller";
65
+ readonly type: "address";
66
+ }, {
67
+ readonly name: "initializer";
68
+ readonly type: "address";
69
+ }];
70
+ }, {
71
+ readonly type: "event";
72
+ readonly name: "RecordEpochBumped";
73
+ readonly inputs: readonly [{
74
+ readonly name: "node";
75
+ readonly type: "bytes32";
76
+ readonly indexed: true;
77
+ }, {
78
+ readonly name: "epoch";
79
+ readonly type: "uint64";
80
+ readonly indexed: false;
81
+ }];
82
+ }, {
83
+ readonly type: "event";
84
+ readonly name: "LabelBackfilled";
85
+ readonly inputs: readonly [{
86
+ readonly name: "node";
87
+ readonly type: "bytes32";
88
+ readonly indexed: true;
89
+ }, {
90
+ readonly name: "label";
91
+ readonly type: "string";
92
+ readonly indexed: false;
93
+ }];
94
+ }, {
95
+ readonly type: "event";
96
+ readonly name: "InitializerTransferStarted";
97
+ readonly inputs: readonly [{
98
+ readonly name: "from";
99
+ readonly type: "address";
100
+ readonly indexed: true;
101
+ }, {
102
+ readonly name: "to";
103
+ readonly type: "address";
104
+ readonly indexed: true;
105
+ }];
106
+ }, {
107
+ readonly type: "event";
108
+ readonly name: "InitializerTransferred";
109
+ readonly inputs: readonly [{
110
+ readonly name: "from";
111
+ readonly type: "address";
112
+ readonly indexed: true;
113
+ }, {
114
+ readonly name: "to";
115
+ readonly type: "address";
116
+ readonly indexed: true;
117
+ }];
118
+ }, {
119
+ readonly type: "event";
120
+ readonly name: "ReservedLabelSet";
121
+ readonly inputs: readonly [{
122
+ readonly name: "labelhash";
123
+ readonly type: "bytes32";
124
+ readonly indexed: true;
125
+ }, {
126
+ readonly name: "reserved";
127
+ readonly type: "bool";
128
+ readonly indexed: false;
129
+ }];
130
+ }, {
131
+ readonly type: "event";
132
+ readonly name: "RootBareHostSet";
133
+ readonly inputs: readonly [{
134
+ readonly name: "rootNode";
135
+ readonly type: "bytes32";
136
+ readonly indexed: true;
137
+ }, {
138
+ readonly name: "takesBareHost";
139
+ readonly type: "bool";
140
+ readonly indexed: false;
141
+ }];
142
+ }, {
143
+ readonly type: "function";
144
+ readonly name: "KIND_PERSON";
145
+ readonly stateMutability: "view";
146
+ readonly inputs: readonly [];
147
+ readonly outputs: readonly [{
148
+ readonly type: "bytes32";
149
+ }];
150
+ }, {
151
+ readonly type: "function";
152
+ readonly name: "initializer";
153
+ readonly stateMutability: "view";
154
+ readonly inputs: readonly [];
155
+ readonly outputs: readonly [{
156
+ readonly type: "address";
157
+ }];
158
+ }, {
159
+ readonly type: "function";
160
+ readonly name: "pendingInitializer";
161
+ readonly stateMutability: "view";
162
+ readonly inputs: readonly [];
163
+ readonly outputs: readonly [{
164
+ readonly type: "address";
165
+ }];
166
+ }, {
167
+ readonly type: "function";
168
+ readonly name: "initializerHandedOver";
169
+ readonly stateMutability: "view";
170
+ readonly inputs: readonly [];
171
+ readonly outputs: readonly [{
172
+ readonly type: "bool";
173
+ }];
174
+ }, {
175
+ readonly type: "function";
176
+ readonly name: "transferInitializer";
177
+ readonly stateMutability: "nonpayable";
178
+ readonly inputs: readonly [{
179
+ readonly name: "to";
180
+ readonly type: "address";
181
+ }];
182
+ readonly outputs: readonly [];
183
+ }, {
184
+ readonly type: "function";
185
+ readonly name: "acceptInitializer";
186
+ readonly stateMutability: "nonpayable";
187
+ readonly inputs: readonly [];
188
+ readonly outputs: readonly [];
189
+ }, {
190
+ readonly type: "function";
191
+ readonly name: "recordEpoch";
192
+ readonly stateMutability: "view";
193
+ readonly inputs: readonly [{
194
+ readonly name: "node";
195
+ readonly type: "bytes32";
196
+ }];
197
+ readonly outputs: readonly [{
198
+ readonly type: "uint64";
199
+ }];
200
+ }, {
201
+ readonly type: "function";
202
+ readonly name: "recordState";
203
+ readonly stateMutability: "view";
204
+ readonly inputs: readonly [{
205
+ readonly name: "node";
206
+ readonly type: "bytes32";
207
+ }];
208
+ readonly outputs: readonly [{
209
+ readonly name: "live";
210
+ readonly type: "bool";
211
+ }, {
212
+ readonly name: "epoch";
213
+ readonly type: "uint64";
214
+ }];
215
+ }, {
216
+ readonly type: "function";
217
+ readonly name: "isReservedLabel";
218
+ readonly stateMutability: "view";
219
+ readonly inputs: readonly [{
220
+ readonly name: "";
221
+ readonly type: "bytes32";
222
+ }];
223
+ readonly outputs: readonly [{
224
+ readonly type: "bool";
225
+ }];
226
+ }, {
227
+ readonly type: "function";
228
+ readonly name: "isTypedRootLabel";
229
+ readonly stateMutability: "view";
230
+ readonly inputs: readonly [{
231
+ readonly name: "";
232
+ readonly type: "bytes32";
233
+ }];
234
+ readonly outputs: readonly [{
235
+ readonly type: "bool";
236
+ }];
237
+ }, {
238
+ readonly type: "function";
239
+ readonly name: "rootTakesBareHost";
240
+ readonly stateMutability: "view";
241
+ readonly inputs: readonly [{
242
+ readonly name: "";
243
+ readonly type: "bytes32";
244
+ }];
245
+ readonly outputs: readonly [{
246
+ readonly type: "bool";
247
+ }];
248
+ }, {
249
+ readonly type: "function";
250
+ readonly name: "setReservedLabels";
251
+ readonly stateMutability: "nonpayable";
252
+ readonly inputs: readonly [{
253
+ readonly name: "labelhashes";
254
+ readonly type: "bytes32[]";
255
+ }, {
256
+ readonly name: "reserved";
257
+ readonly type: "bool";
258
+ }];
259
+ readonly outputs: readonly [];
260
+ }, {
261
+ readonly type: "function";
262
+ readonly name: "setRootBareHost";
263
+ readonly stateMutability: "nonpayable";
264
+ readonly inputs: readonly [{
265
+ readonly name: "rootNode";
266
+ readonly type: "bytes32";
267
+ }, {
268
+ readonly name: "takesBareHost";
269
+ readonly type: "bool";
270
+ }];
271
+ readonly outputs: readonly [];
272
+ }, {
273
+ readonly type: "function";
274
+ readonly name: "childLabelhashesPage";
275
+ readonly stateMutability: "view";
276
+ readonly inputs: readonly [{
277
+ readonly name: "parentNode";
278
+ readonly type: "bytes32";
279
+ }, {
280
+ readonly name: "offset";
281
+ readonly type: "uint256";
282
+ }, {
283
+ readonly name: "limit";
284
+ readonly type: "uint256";
285
+ }];
286
+ readonly outputs: readonly [{
287
+ readonly name: "page";
288
+ readonly type: "bytes32[]";
289
+ }];
33
290
  }, {
34
291
  readonly type: "event";
35
292
  readonly name: "RootInitialized";
@@ -926,6 +1183,53 @@ export declare const permissionlessSubregistryAbi: readonly [{
926
1183
  readonly type: "error";
927
1184
  readonly name: "ZeroNewOwner";
928
1185
  readonly inputs: readonly [];
1186
+ }, {
1187
+ readonly type: "error";
1188
+ readonly name: "ZeroCommitment";
1189
+ readonly inputs: readonly [];
1190
+ }, {
1191
+ readonly type: "error";
1192
+ readonly name: "CommitmentPending";
1193
+ readonly inputs: readonly [{
1194
+ readonly name: "commitment";
1195
+ readonly type: "bytes32";
1196
+ }];
1197
+ }, {
1198
+ readonly type: "error";
1199
+ readonly name: "CommitmentNotFound";
1200
+ readonly inputs: readonly [{
1201
+ readonly name: "commitment";
1202
+ readonly type: "bytes32";
1203
+ }];
1204
+ }, {
1205
+ readonly type: "error";
1206
+ readonly name: "CommitmentTooNew";
1207
+ readonly inputs: readonly [{
1208
+ readonly name: "commitment";
1209
+ readonly type: "bytes32";
1210
+ }, {
1211
+ readonly name: "matureAt";
1212
+ readonly type: "uint256";
1213
+ }];
1214
+ }, {
1215
+ readonly type: "error";
1216
+ readonly name: "CommitmentExpired";
1217
+ readonly inputs: readonly [{
1218
+ readonly name: "commitment";
1219
+ readonly type: "bytes32";
1220
+ }];
1221
+ }, {
1222
+ readonly type: "event";
1223
+ readonly name: "Committed";
1224
+ readonly inputs: readonly [{
1225
+ readonly name: "commitment";
1226
+ readonly type: "bytes32";
1227
+ readonly indexed: true;
1228
+ }, {
1229
+ readonly name: "by";
1230
+ readonly type: "address";
1231
+ readonly indexed: true;
1232
+ }];
929
1233
  }, {
930
1234
  readonly type: "event";
931
1235
  readonly name: "NameClaimed";
@@ -978,6 +1282,59 @@ export declare const permissionlessSubregistryAbi: readonly [{
978
1282
  readonly outputs: readonly [{
979
1283
  readonly type: "uint256";
980
1284
  }];
1285
+ }, {
1286
+ readonly type: "function";
1287
+ readonly name: "MIN_COMMIT_AGE";
1288
+ readonly stateMutability: "view";
1289
+ readonly inputs: readonly [];
1290
+ readonly outputs: readonly [{
1291
+ readonly type: "uint256";
1292
+ }];
1293
+ }, {
1294
+ readonly type: "function";
1295
+ readonly name: "MAX_COMMIT_AGE";
1296
+ readonly stateMutability: "view";
1297
+ readonly inputs: readonly [];
1298
+ readonly outputs: readonly [{
1299
+ readonly type: "uint256";
1300
+ }];
1301
+ }, {
1302
+ readonly type: "function";
1303
+ readonly name: "commit";
1304
+ readonly stateMutability: "nonpayable";
1305
+ readonly inputs: readonly [{
1306
+ readonly name: "commitment";
1307
+ readonly type: "bytes32";
1308
+ }];
1309
+ readonly outputs: readonly [];
1310
+ }, {
1311
+ readonly type: "function";
1312
+ readonly name: "committedAt";
1313
+ readonly stateMutability: "view";
1314
+ readonly inputs: readonly [{
1315
+ readonly name: "";
1316
+ readonly type: "bytes32";
1317
+ }];
1318
+ readonly outputs: readonly [{
1319
+ readonly type: "uint256";
1320
+ }];
1321
+ }, {
1322
+ readonly type: "function";
1323
+ readonly name: "makeCommitment";
1324
+ readonly stateMutability: "view";
1325
+ readonly inputs: readonly [{
1326
+ readonly name: "label";
1327
+ readonly type: "string";
1328
+ }, {
1329
+ readonly name: "newOwner";
1330
+ readonly type: "address";
1331
+ }, {
1332
+ readonly name: "secret";
1333
+ readonly type: "bytes32";
1334
+ }];
1335
+ readonly outputs: readonly [{
1336
+ readonly type: "bytes32";
1337
+ }];
981
1338
  }, {
982
1339
  readonly type: "function";
983
1340
  readonly name: "register";
@@ -988,6 +1345,9 @@ export declare const permissionlessSubregistryAbi: readonly [{
988
1345
  }, {
989
1346
  readonly name: "newOwner";
990
1347
  readonly type: "address";
1348
+ }, {
1349
+ readonly name: "secret";
1350
+ readonly type: "bytes32";
991
1351
  }];
992
1352
  readonly outputs: readonly [{
993
1353
  readonly name: "childNode";
@@ -1147,6 +1507,27 @@ export declare const agentNameUniversalResolverAbi: readonly [{
1147
1507
  readonly type: "address[]";
1148
1508
  readonly name: "owners";
1149
1509
  }];
1510
+ }, {
1511
+ readonly type: "function";
1512
+ readonly name: "getChildrenPage";
1513
+ readonly stateMutability: "view";
1514
+ readonly inputs: readonly [{
1515
+ readonly name: "parentNode";
1516
+ readonly type: "bytes32";
1517
+ }, {
1518
+ readonly name: "offset";
1519
+ readonly type: "uint256";
1520
+ }, {
1521
+ readonly name: "limit";
1522
+ readonly type: "uint256";
1523
+ }];
1524
+ readonly outputs: readonly [{
1525
+ readonly type: "bytes32[]";
1526
+ readonly name: "childNodes";
1527
+ }, {
1528
+ readonly type: "address[]";
1529
+ readonly name: "owners";
1530
+ }];
1150
1531
  }];
1151
1532
  export declare const ontologyTermRegistryAbi: readonly [{
1152
1533
  readonly type: "error";
@@ -1225,6 +1606,45 @@ export declare const ontologyTermRegistryAbi: readonly [{
1225
1606
  readonly type: "address";
1226
1607
  }];
1227
1608
  readonly outputs: readonly [];
1609
+ }, {
1610
+ readonly type: "error";
1611
+ readonly name: "NotPendingGovernor";
1612
+ readonly inputs: readonly [];
1613
+ }, {
1614
+ readonly type: "event";
1615
+ readonly name: "GovernorProposed";
1616
+ readonly inputs: readonly [{
1617
+ readonly name: "governor";
1618
+ readonly type: "address";
1619
+ readonly indexed: true;
1620
+ }, {
1621
+ readonly name: "pendingGovernor";
1622
+ readonly type: "address";
1623
+ readonly indexed: true;
1624
+ }];
1625
+ }, {
1626
+ readonly type: "function";
1627
+ readonly name: "pendingGovernor";
1628
+ readonly stateMutability: "view";
1629
+ readonly inputs: readonly [];
1630
+ readonly outputs: readonly [{
1631
+ readonly type: "address";
1632
+ }];
1633
+ }, {
1634
+ readonly type: "function";
1635
+ readonly name: "proposeGovernor";
1636
+ readonly stateMutability: "nonpayable";
1637
+ readonly inputs: readonly [{
1638
+ readonly name: "newGovernor";
1639
+ readonly type: "address";
1640
+ }];
1641
+ readonly outputs: readonly [];
1642
+ }, {
1643
+ readonly type: "function";
1644
+ readonly name: "acceptGovernor";
1645
+ readonly stateMutability: "nonpayable";
1646
+ readonly inputs: readonly [];
1647
+ readonly outputs: readonly [];
1228
1648
  }, {
1229
1649
  readonly type: "function";
1230
1650
  readonly name: "registerTerm";
@@ -1960,6 +2380,47 @@ export declare const pricedSubregistryAbi: readonly [{
1960
2380
  }];
1961
2381
  readonly outputs: readonly [];
1962
2382
  readonly stateMutability: "nonpayable";
2383
+ }, {
2384
+ readonly type: "function";
2385
+ readonly name: "pendingGovernor";
2386
+ readonly inputs: readonly [];
2387
+ readonly outputs: readonly [{
2388
+ readonly name: "";
2389
+ readonly type: "address";
2390
+ }];
2391
+ readonly stateMutability: "view";
2392
+ }, {
2393
+ readonly type: "function";
2394
+ readonly name: "proposeGovernor";
2395
+ readonly inputs: readonly [{
2396
+ readonly name: "newGovernor";
2397
+ readonly type: "address";
2398
+ }];
2399
+ readonly outputs: readonly [];
2400
+ readonly stateMutability: "nonpayable";
2401
+ }, {
2402
+ readonly type: "function";
2403
+ readonly name: "acceptGovernor";
2404
+ readonly inputs: readonly [];
2405
+ readonly outputs: readonly [];
2406
+ readonly stateMutability: "nonpayable";
2407
+ }, {
2408
+ readonly type: "event";
2409
+ readonly name: "GovernorProposed";
2410
+ readonly inputs: readonly [{
2411
+ readonly name: "governor";
2412
+ readonly type: "address";
2413
+ readonly indexed: true;
2414
+ }, {
2415
+ readonly name: "pendingGovernor";
2416
+ readonly type: "address";
2417
+ readonly indexed: true;
2418
+ }];
2419
+ readonly anonymous: false;
2420
+ }, {
2421
+ readonly type: "error";
2422
+ readonly name: "NotPendingGovernor";
2423
+ readonly inputs: readonly [];
1963
2424
  }, {
1964
2425
  readonly type: "function";
1965
2426
  readonly name: "usedNonce";
@@ -1 +1 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../src/abis.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoLvB,CAAC;AAIX,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoFhC,CAAC;AAMX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgE/B,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgChC,CAAC;AAIX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmF1B,CAAC;AAIX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DnB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC9B,CAAC;AAIX,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DvB,CAAC"}