@agenticprimitives/account-custody 1.0.0-alpha.46 → 1.0.0-alpha.48

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/dist/abi.d.ts CHANGED
@@ -165,6 +165,28 @@ export declare const custodyPolicyAbi: readonly [{
165
165
  readonly outputs: readonly [{
166
166
  readonly type: "uint256";
167
167
  }];
168
+ }, {
169
+ readonly type: "function";
170
+ readonly name: "scheduledChangeExpiry";
171
+ readonly stateMutability: "view";
172
+ readonly inputs: readonly [{
173
+ readonly name: "account";
174
+ readonly type: "address";
175
+ }, {
176
+ readonly name: "changeId";
177
+ readonly type: "uint256";
178
+ }];
179
+ readonly outputs: readonly [{
180
+ readonly type: "uint64";
181
+ }];
182
+ }, {
183
+ readonly type: "function";
184
+ readonly name: "APPLY_WINDOW";
185
+ readonly stateMutability: "view";
186
+ readonly inputs: readonly [];
187
+ readonly outputs: readonly [{
188
+ readonly type: "uint64";
189
+ }];
168
190
  }, {
169
191
  readonly type: "function";
170
192
  readonly name: "defaultApprovals";
@@ -276,5 +298,180 @@ export declare const custodyPolicyAbi: readonly [{
276
298
  readonly type: "uint8";
277
299
  readonly indexed: false;
278
300
  }];
301
+ }, {
302
+ readonly type: "event";
303
+ readonly name: "CredentialRotated";
304
+ readonly inputs: readonly [{
305
+ readonly name: "account";
306
+ readonly type: "address";
307
+ readonly indexed: true;
308
+ }, {
309
+ readonly name: "reapproved";
310
+ readonly type: "uint256";
311
+ readonly indexed: false;
312
+ }];
313
+ }, {
314
+ readonly type: "event";
315
+ readonly name: "GuardianRemoved";
316
+ readonly inputs: readonly [{
317
+ readonly name: "account";
318
+ readonly type: "address";
319
+ readonly indexed: true;
320
+ }, {
321
+ readonly name: "guardianCommitment";
322
+ readonly type: "bytes32";
323
+ readonly indexed: true;
324
+ }];
325
+ }, {
326
+ readonly type: "event";
327
+ readonly name: "RecoveryThresholdChanged";
328
+ readonly inputs: readonly [{
329
+ readonly name: "account";
330
+ readonly type: "address";
331
+ readonly indexed: true;
332
+ }, {
333
+ readonly name: "oldValue";
334
+ readonly type: "uint8";
335
+ readonly indexed: false;
336
+ }, {
337
+ readonly name: "newValue";
338
+ readonly type: "uint8";
339
+ readonly indexed: false;
340
+ }];
341
+ }, {
342
+ readonly type: "event";
343
+ readonly name: "ThresholdChanged";
344
+ readonly inputs: readonly [{
345
+ readonly name: "account";
346
+ readonly type: "address";
347
+ readonly indexed: true;
348
+ }, {
349
+ readonly name: "tier";
350
+ readonly type: "uint8";
351
+ readonly indexed: true;
352
+ }, {
353
+ readonly name: "oldValue";
354
+ readonly type: "uint8";
355
+ readonly indexed: false;
356
+ }, {
357
+ readonly name: "newValue";
358
+ readonly type: "uint8";
359
+ readonly indexed: false;
360
+ }];
361
+ }, {
362
+ readonly type: "event";
363
+ readonly name: "RotationReaffirmed";
364
+ readonly inputs: readonly [{
365
+ readonly name: "account";
366
+ readonly type: "address";
367
+ readonly indexed: true;
368
+ }, {
369
+ readonly name: "modules";
370
+ readonly type: "uint256";
371
+ readonly indexed: false;
372
+ }, {
373
+ readonly name: "delegationManager";
374
+ readonly type: "bool";
375
+ readonly indexed: false;
376
+ }];
377
+ }, {
378
+ readonly type: "error";
379
+ readonly name: "SystemPaused";
380
+ readonly inputs: readonly [];
381
+ }, {
382
+ readonly type: "error";
383
+ readonly name: "NotInstalledAsExecutorOn";
384
+ readonly inputs: readonly [{
385
+ readonly name: "account";
386
+ readonly type: "address";
387
+ }];
388
+ }, {
389
+ readonly type: "error";
390
+ readonly name: "SafetyDelayBelowFloor";
391
+ readonly inputs: readonly [{
392
+ readonly name: "tier";
393
+ readonly type: "uint8";
394
+ }, {
395
+ readonly name: "provided";
396
+ readonly type: "uint32";
397
+ }, {
398
+ readonly name: "floorSecs";
399
+ readonly type: "uint32";
400
+ }];
401
+ }, {
402
+ readonly type: "error";
403
+ readonly name: "HookNotInstalledOn";
404
+ readonly inputs: readonly [{
405
+ readonly name: "account";
406
+ readonly type: "address";
407
+ }, {
408
+ readonly name: "hook";
409
+ readonly type: "address";
410
+ }];
411
+ }, {
412
+ readonly type: "error";
413
+ readonly name: "CannotUninstallCustodyPolicy";
414
+ readonly inputs: readonly [];
415
+ }, {
416
+ readonly type: "error";
417
+ readonly name: "ProposalExpired";
418
+ readonly inputs: readonly [{
419
+ readonly name: "changeId";
420
+ readonly type: "uint256";
421
+ }, {
422
+ readonly name: "expiresAt";
423
+ readonly type: "uint64";
424
+ }];
425
+ }, {
426
+ readonly type: "error";
427
+ readonly name: "ThresholdUnreachable";
428
+ readonly inputs: readonly [{
429
+ readonly name: "tier";
430
+ readonly type: "uint8";
431
+ }, {
432
+ readonly name: "required";
433
+ readonly type: "uint8";
434
+ }, {
435
+ readonly name: "bound";
436
+ readonly type: "uint256";
437
+ }];
438
+ }, {
439
+ readonly type: "error";
440
+ readonly name: "TrusteesOutsideModeBounds";
441
+ readonly inputs: readonly [{
442
+ readonly name: "mode";
443
+ readonly type: "uint8";
444
+ }, {
445
+ readonly name: "trustees";
446
+ readonly type: "uint256";
447
+ }, {
448
+ readonly name: "recoveryApprovals";
449
+ readonly type: "uint8";
450
+ }];
451
+ }, {
452
+ readonly type: "error";
453
+ readonly name: "MalformedRemovalArgs";
454
+ readonly inputs: readonly [{
455
+ readonly name: "length";
456
+ readonly type: "uint256";
457
+ }];
458
+ }, {
459
+ readonly type: "error";
460
+ readonly name: "InvalidThresholdValue";
461
+ readonly inputs: readonly [{
462
+ readonly name: "thr";
463
+ readonly type: "uint8";
464
+ }];
465
+ }, {
466
+ readonly type: "error";
467
+ readonly name: "InfeasibleOrgConfig";
468
+ readonly inputs: readonly [{
469
+ readonly name: "nSigners";
470
+ readonly type: "uint8";
471
+ }];
472
+ }, {
473
+ readonly type: "error";
474
+ readonly name: "RecoveryRequiresGuardianQuorum";
475
+ readonly inputs: readonly [];
279
476
  }];
280
477
  //# sourceMappingURL=abi.d.ts.map
package/dist/abi.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoGnB,CAAC"}
1
+ {"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4HnB,CAAC"}
package/dist/abi.js CHANGED
@@ -50,6 +50,9 @@ export const custodyPolicyAbi = [
50
50
  { type: 'function', name: 'isTrustee', stateMutability: 'view', inputs: [{ name: 'account', type: 'address' }, { name: 'signer', type: 'address' }], outputs: [{ type: 'bool' }] },
51
51
  { type: 'function', name: 'trusteeCount', stateMutability: 'view', inputs: [{ name: 'account', type: 'address' }], outputs: [{ type: 'uint256' }] },
52
52
  { type: 'function', name: 'scheduledChangeCount', stateMutability: 'view', inputs: [{ name: 'account', type: 'address' }], outputs: [{ type: 'uint256' }] },
53
+ // CUST-6: a scheduled change may be applied only until `eta + APPLY_WINDOW`; 0 for an unknown id.
54
+ { type: 'function', name: 'scheduledChangeExpiry', stateMutability: 'view', inputs: [{ name: 'account', type: 'address' }, { name: 'changeId', type: 'uint256' }], outputs: [{ type: 'uint64' }] },
55
+ { type: 'function', name: 'APPLY_WINDOW', stateMutability: 'view', inputs: [], outputs: [{ type: 'uint64' }] },
53
56
  { type: 'function', name: 'defaultApprovals', stateMutability: 'pure', inputs: [{ name: 'nCustodians', type: 'uint8' }, { name: 'tier', type: 'uint8' }], outputs: [{ type: 'uint8' }] },
54
57
  {
55
58
  type: 'function',
@@ -103,5 +106,26 @@ export const custodyPolicyAbi = [
103
106
  { name: 'recoveryApprovals', type: 'uint8', indexed: false },
104
107
  ],
105
108
  },
109
+ { type: 'event', name: 'CredentialRotated', inputs: [{ name: 'account', type: 'address', indexed: true }, { name: 'reapproved', type: 'uint256', indexed: false }] },
110
+ // Generation 4 (spec 445 §1.3): emitted by an applied RotateCredential that re-affirmed modules / the manager.
111
+ // CUST-4: a retirement removes the retired credential's trustee seat; the recovery quorum may drop (0 = disabled).
112
+ { type: 'event', name: 'GuardianRemoved', inputs: [{ name: 'account', type: 'address', indexed: true }, { name: 'guardianCommitment', type: 'bytes32', indexed: true }] },
113
+ { type: 'event', name: 'RecoveryThresholdChanged', inputs: [{ name: 'account', type: 'address', indexed: true }, { name: 'oldValue', type: 'uint8', indexed: false }, { name: 'newValue', type: 'uint8', indexed: false }] },
114
+ { type: 'event', name: 'ThresholdChanged', inputs: [{ name: 'account', type: 'address', indexed: true }, { name: 'tier', type: 'uint8', indexed: true }, { name: 'oldValue', type: 'uint8', indexed: false }, { name: 'newValue', type: 'uint8', indexed: false }] },
115
+ { type: 'event', name: 'RotationReaffirmed', inputs: [{ name: 'account', type: 'address', indexed: true }, { name: 'modules', type: 'uint256', indexed: false }, { name: 'delegationManager', type: 'bool', indexed: false }] },
116
+ // ─── Errors a surface decodes (generation 4 additions + the pause gate) ─────────────────────
117
+ { type: 'error', name: 'SystemPaused', inputs: [] },
118
+ { type: 'error', name: 'NotInstalledAsExecutorOn', inputs: [{ name: 'account', type: 'address' }] },
119
+ { type: 'error', name: 'SafetyDelayBelowFloor', inputs: [{ name: 'tier', type: 'uint8' }, { name: 'provided', type: 'uint32' }, { name: 'floorSecs', type: 'uint32' }] },
120
+ { type: 'error', name: 'HookNotInstalledOn', inputs: [{ name: 'account', type: 'address' }, { name: 'hook', type: 'address' }] },
121
+ { type: 'error', name: 'CannotUninstallCustodyPolicy', inputs: [] },
122
+ // Generation 4 custody mediums (A11, audit 2026-11-10 CUST-4/5/6, ACCT-11 remainder).
123
+ { type: 'error', name: 'ProposalExpired', inputs: [{ name: 'changeId', type: 'uint256' }, { name: 'expiresAt', type: 'uint64' }] },
124
+ { type: 'error', name: 'ThresholdUnreachable', inputs: [{ name: 'tier', type: 'uint8' }, { name: 'required', type: 'uint8' }, { name: 'bound', type: 'uint256' }] },
125
+ { type: 'error', name: 'TrusteesOutsideModeBounds', inputs: [{ name: 'mode', type: 'uint8' }, { name: 'trustees', type: 'uint256' }, { name: 'recoveryApprovals', type: 'uint8' }] },
126
+ { type: 'error', name: 'MalformedRemovalArgs', inputs: [{ name: 'length', type: 'uint256' }] },
127
+ { type: 'error', name: 'InvalidThresholdValue', inputs: [{ name: 'thr', type: 'uint8' }] },
128
+ { type: 'error', name: 'InfeasibleOrgConfig', inputs: [{ name: 'nSigners', type: 'uint8' }] },
129
+ { type: 'error', name: 'RecoveryRequiresGuardianQuorum', inputs: [] },
106
130
  ];
107
131
  //# sourceMappingURL=abi.js.map
package/dist/abi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abi.js","sourceRoot":"","sources":["../src/abi.ts"],"names":[],"mappings":"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"}
package/dist/actions.d.ts CHANGED
@@ -18,10 +18,39 @@ export declare enum CustodyAction {
18
18
  ChangeApprovalsRequired = 15,
19
19
  /** Spec 410 §1.2 (contracts generation 3) — a PLANNED rotation: one credential in, one out, every standing
20
20
  * approved-digest wire re-approved under the new custody epoch, in one applied change. T4. */
21
- RotateCredential = 16
21
+ RotateCredential = 16,
22
+ /** `installModule(type, module, initData)` under the quorum — an executor can act as the account. T5. */
23
+ InstallModule = 17,
24
+ /** `uninstallModule(type, module, deInitData)` under the quorum. T5. Schedulable + applicable under a pause. */
25
+ UninstallModule = 18,
26
+ /** `TreasurySpendPolicy.lowerCeiling(newCeiling)` on an installed hook — can only tighten. T4. */
27
+ LowerSpendCeiling = 19,
28
+ /** `TreasurySpendPolicy.setCeiling(newCeiling)` on an installed hook — may raise. T5. */
29
+ SetSpendCeiling = 20
22
30
  }
31
+ /** The base risk tier of each action — a port of `CustodyPolicy._tierFor`. `ChangeApprovalsRequired`'s EFFECTIVE
32
+ * tier can rise with its args (`_effectiveTierFor`: at least the target tier, and T5 for any decrease); this is
33
+ * the floor a surface shows before reading the current thresholds. Likewise a `RemoveCustodian` /
34
+ * `RemovePasskeyCredential` in the 96-byte lowering form (CUST-5) is T5 when either new value is below the current
35
+ * `approvalsRequired(account, 4|5)`. Pinned by `test/actions-generation4.test.ts`. */
36
+ export declare function custodyActionTier(action: CustodyAction): 4 | 5 | 6;
37
+ /** The actions a quorum may still schedule and apply under a system pause (generation 4) — a port of
38
+ * `CustodyPolicy._isPauseExemptAction`: removals only (a removal's CUST-5 lowering included). Every other action
39
+ * reverts `SystemPaused`. On generation ≤ 3 no action is exempt. */
40
+ export declare const PAUSE_EXEMPT_CUSTODY_ACTIONS: readonly CustodyAction[];
41
+ export declare function isPauseExemptCustodyAction(action: CustodyAction): boolean;
23
42
  export declare function buildAddCustodianArgs(custodian: Address): Hex;
24
- export declare function buildRemoveCustodianArgs(custodian: Address): Hex;
43
+ /** The CUST-5 lowering a removal may carry (generation 4): the new T4 / T5 approvals, each ≤ the current value.
44
+ * Omitted (or 0) keeps that tier. After the removal every tier must be reachable by the custodians left (org
45
+ * mode: T4/T5 ≤ floor(n/2)), or the APPLY reverts `ThresholdUnreachable` — compute it before scheduling. */
46
+ export interface RemovalLowering {
47
+ t4?: number;
48
+ t5?: number;
49
+ }
50
+ /** `RemoveCustodian` (1, T4; T5 when it lowers): `abi.encode(address)` — or, when `lowerTo` is passed
51
+ * (generation 4, CUST-5), the 96-byte `abi.encode(address custodian, uint8 newT4, uint8 newT5)` that lowers the
52
+ * thresholds in the same action. Any other length reverts `MalformedRemovalArgs` at schedule. */
53
+ export declare function buildRemoveCustodianArgs(custodian: Address, lowerTo?: RemovalLowering): Hex;
25
54
  export declare function buildAddTrusteeArgs(trustee: Address): Hex;
26
55
  export declare function buildRemoveTrusteeArgs(trustee: Address): Hex;
27
56
  export declare function buildChangeCustodyModeArgs(newMode: 0 | 1 | 2 | 3): Hex;
@@ -62,8 +91,9 @@ export declare function buildChangeApprovalsRequiredArgs(tier: number, newCount:
62
91
  * inner userOp (Act 3 'AddPasskey Bob on Org' live debug).
63
92
  */
64
93
  export declare function buildAddPasskeyCredentialArgs(credentialIdDigest: Hex, x: bigint, y: bigint, rpIdHash: Hex): Hex;
65
- /** Encode args for `RemovePasskeyCredential(credentialIdDigest)`. */
66
- export declare function buildRemovePasskeyCredentialArgs(credentialIdDigest: Hex): Hex;
94
+ /** Encode args for `RemovePasskeyCredential(credentialIdDigest)` — or, when `lowerTo` is passed (generation 4,
95
+ * CUST-5), the 96-byte `abi.encode(bytes32 credentialIdDigest, uint8 newT4, uint8 newT5)`. */
96
+ export declare function buildRemovePasskeyCredentialArgs(credentialIdDigest: Hex, lowerTo?: RemovalLowering): Hex;
67
97
  /**
68
98
  * Encode args for `RotateAllCustodians(addCustodians, removeCustodians)`
69
99
  * (Wave 2C C-10). Adds the new set + removes the old in one atomic action;
@@ -103,6 +133,32 @@ export declare function buildRecoverAccountArgs(args: {
103
133
  addPasskeys?: readonly RecoveryPasskeyAdd[];
104
134
  removePasskeyCredentialIdDigests?: readonly Hex[];
105
135
  }): Hex;
136
+ /** `InstallModule` (17, T5): `abi.encode(uint256 moduleTypeId, address module, bytes initData)`. For a treasury
137
+ * ceiling: `(4, treasurySpendPolicy, abi.encode(address asset, uint256 ceiling, uint64 windowSeconds))`. */
138
+ export declare function buildInstallModuleArgs(args: {
139
+ moduleTypeId: bigint | number;
140
+ module: Address;
141
+ initData?: Hex;
142
+ }): Hex;
143
+ /** `UninstallModule` (18, T5, pause-exempt): `abi.encode(uint256 moduleTypeId, address module, bytes deInitData)`.
144
+ * Naming the canonical custody policy reverts `CannotUninstallCustodyPolicy`; a hook uninstall needs ≥ ~206k gas
145
+ * at the callback (`InsufficientGasForHookUninstall`). */
146
+ export declare function buildUninstallModuleArgs(args: {
147
+ moduleTypeId: bigint | number;
148
+ module: Address;
149
+ deInitData?: Hex;
150
+ }): Hex;
151
+ /** `LowerSpendCeiling` (19, T4): `abi.encode(address hook, uint256 newCeiling)`. Reverts at apply unless strictly
152
+ * lower (`NotLower`) or when `hook` is not installed as a HOOK (`HookNotInstalledOn`). */
153
+ export declare function buildLowerSpendCeilingArgs(args: {
154
+ hook: Address;
155
+ newCeiling: bigint;
156
+ }): Hex;
157
+ /** `SetSpendCeiling` (20, T5): `abi.encode(address hook, uint256 newCeiling)` — may raise. */
158
+ export declare function buildSetSpendCeilingArgs(args: {
159
+ hook: Address;
160
+ newCeiling: bigint;
161
+ }): Hex;
106
162
  /**
107
163
  * Encode args for `RotateCredential(args)` — spec 410 §1.2, contracts generation 3. Exactly one credential
108
164
  * is added (`addOwner` XOR `addPasskey`) and exactly one retired (`removeOwner` XOR
@@ -119,9 +175,21 @@ export declare function buildRecoverAccountArgs(args: {
119
175
  * address removeOwner;
120
176
  * bytes32 removePasskeyCredentialIdDigest;
121
177
  * bytes32[] reapprove;
178
+ * address[] reaffirmModules; // generation 4
179
+ * bool reaffirmDelegationManager; // generation 4
122
180
  * }
181
+ *
182
+ * GENERATION IS REQUIRED (spec 445 §1.3 / H-2). Generation 4 appended two fields to the struct; a generation-3
183
+ * payload sent to a generation-4 policy SCHEDULES fine (the args ride as a hash) and reverts only at APPLY, a day
184
+ * later. So the caller states the estate's `contractsGeneration` and gets that generation's bytes — never a guess.
185
+ * On generation 4, `reaffirmModules` lists the installed EXECUTOR modules the person keeps (not the canonical
186
+ * custody policy, which is exempt; never hooks, which never lapse) and `reaffirmDelegationManager` is true only
187
+ * when the account's delegation manager is NOT the factory's canonical one and is kept. Anything not listed is
188
+ * expelled by the retirement. Generation 3 has neither field and refuses them.
123
189
  */
124
190
  export declare function buildRotateCredentialArgs(args: {
191
+ /** The estate's `contractsGeneration` (3 = spec 410; 4 = spec 445). */
192
+ generation: 3 | 4;
125
193
  add: {
126
194
  owner: Address;
127
195
  } | {
@@ -133,5 +201,9 @@ export declare function buildRotateCredentialArgs(args: {
133
201
  passkeyCredentialIdDigest: Hex;
134
202
  };
135
203
  reapprove: readonly Hex[];
204
+ /** Generation 4: installed EXECUTOR modules the owner keeps (re-stamped under the new epoch). */
205
+ reaffirmModules?: readonly Address[];
206
+ /** Generation 4: keep the current, NON-canonical delegation manager. */
207
+ reaffirmDelegationManager?: boolean;
136
208
  }): Hex;
137
209
  //# sourceMappingURL=actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAQA,OAAO,EAAuB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAEnE,oBAAY,aAAa;IACvB,YAAY,IAAI;IAChB,eAAe,IAAI;IACnB,oBAAoB,IAAI;IACxB,uBAAuB,IAAI;IAC3B,UAAU,IAAI;IACd,aAAa,IAAI;IACjB,iBAAiB,IAAI;IACrB,iBAAiB,IAAI;IACrB,uBAAuB,IAAI;IAC3B,eAAe,IAAI;IACnB,mBAAmB,KAAK;IACxB,mBAAmB,KAAK;IACxB,kBAAkB,KAAK;IACvB,oBAAoB,KAAK;IACzB,cAAc,KAAK;IACnB,uBAAuB,KAAK;IAC5B;mGAC+F;IAC/F,gBAAgB,KAAK;CACtB;AAuCD,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,CAG7D;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,CAGhE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAGzD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAG5D;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAGtE;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAGtE;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAGpE;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAGhE;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,CAOpF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAC3C,kBAAkB,EAAE,GAAG,EACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,GAAG,GACZ,GAAG,CAeL;AAED,qEAAqE;AACrE,wBAAgB,gCAAgC,CAAC,kBAAkB,EAAE,GAAG,GAAG,GAAG,CAG7E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,SAAS,OAAO,EAAE,EACjC,gBAAgB,EAAE,SAAS,OAAO,EAAE,GACnC,GAAG,CAOL;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,GAAG,CAAC;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;;;oFAGgF;IAChF,QAAQ,EAAE,GAAG,CAAC;CACf;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,SAAS,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC5C,gCAAgC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;CACnD,GAAG,GAAG,CAgEN;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,GAAG,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAC1D,MAAM,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,yBAAyB,EAAE,GAAG,CAAA;KAAE,CAAC;IAChE,SAAS,EAAE,SAAS,GAAG,EAAE,CAAC;CAC3B,GAAG,GAAG,CA8CN"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
package/dist/actions.js CHANGED
@@ -27,7 +27,53 @@ export var CustodyAction;
27
27
  /** Spec 410 §1.2 (contracts generation 3) — a PLANNED rotation: one credential in, one out, every standing
28
28
  * approved-digest wire re-approved under the new custody epoch, in one applied change. T4. */
29
29
  CustodyAction[CustodyAction["RotateCredential"] = 16] = "RotateCredential";
30
+ // ─── Contracts generation 4 (spec 445 §1.5, CUST-3 / ACCT-5) — appended; 0..16 keep their numbers ───
31
+ /** `installModule(type, module, initData)` under the quorum — an executor can act as the account. T5. */
32
+ CustodyAction[CustodyAction["InstallModule"] = 17] = "InstallModule";
33
+ /** `uninstallModule(type, module, deInitData)` under the quorum. T5. Schedulable + applicable under a pause. */
34
+ CustodyAction[CustodyAction["UninstallModule"] = 18] = "UninstallModule";
35
+ /** `TreasurySpendPolicy.lowerCeiling(newCeiling)` on an installed hook — can only tighten. T4. */
36
+ CustodyAction[CustodyAction["LowerSpendCeiling"] = 19] = "LowerSpendCeiling";
37
+ /** `TreasurySpendPolicy.setCeiling(newCeiling)` on an installed hook — may raise. T5. */
38
+ CustodyAction[CustodyAction["SetSpendCeiling"] = 20] = "SetSpendCeiling";
39
+ // 21 is unassigned: a custody-quorum `GovernanceCall` was drafted there and withdrawn by owner decision
40
+ // 2026-11-10 (contracts AUDIT.md 2.27). The policy panics on 21; the next appended action takes it.
30
41
  })(CustodyAction || (CustodyAction = {}));
42
+ /** The base risk tier of each action — a port of `CustodyPolicy._tierFor`. `ChangeApprovalsRequired`'s EFFECTIVE
43
+ * tier can rise with its args (`_effectiveTierFor`: at least the target tier, and T5 for any decrease); this is
44
+ * the floor a surface shows before reading the current thresholds. Likewise a `RemoveCustodian` /
45
+ * `RemovePasskeyCredential` in the 96-byte lowering form (CUST-5) is T5 when either new value is below the current
46
+ * `approvalsRequired(account, 4|5)`. Pinned by `test/actions-generation4.test.ts`. */
47
+ export function custodyActionTier(action) {
48
+ switch (action) {
49
+ case CustodyAction.RecoverAccount:
50
+ return 6;
51
+ case CustodyAction.ApplySystemUpdate:
52
+ case CustodyAction.RotateDelegationManager:
53
+ case CustodyAction.RotatePaymaster:
54
+ case CustodyAction.RotateSessionIssuer:
55
+ case CustodyAction.InstallModule:
56
+ case CustodyAction.UninstallModule:
57
+ case CustodyAction.SetSpendCeiling:
58
+ return 5;
59
+ default:
60
+ if (!Number.isInteger(action) || action < 0 || action > CustodyAction.SetSpendCeiling) {
61
+ throw new RangeError(`[custody] not a CustodyAction (${String(action)})`);
62
+ }
63
+ return 4;
64
+ }
65
+ }
66
+ /** The actions a quorum may still schedule and apply under a system pause (generation 4) — a port of
67
+ * `CustodyPolicy._isPauseExemptAction`: removals only (a removal's CUST-5 lowering included). Every other action
68
+ * reverts `SystemPaused`. On generation ≤ 3 no action is exempt. */
69
+ export const PAUSE_EXEMPT_CUSTODY_ACTIONS = Object.freeze([
70
+ CustodyAction.RemoveCustodian,
71
+ CustodyAction.RemovePasskeyCredential,
72
+ CustodyAction.UninstallModule,
73
+ ]);
74
+ export function isPauseExemptCustodyAction(action) {
75
+ return PAUSE_EXEMPT_CUSTODY_ACTIONS.includes(action);
76
+ }
31
77
  // ─── Range / shape validators ────────────────────────────────────────────
32
78
  const ADDRESS_RE = /^0x[0-9a-fA-F]{40}$/;
33
79
  const BYTES32_RE = /^0x[0-9a-fA-F]{64}$/;
@@ -62,9 +108,25 @@ export function buildAddCustodianArgs(custodian) {
62
108
  assertAddress('AddCustodian.custodian', custodian);
63
109
  return encodeAbiParameters([{ type: 'address' }], [custodian]);
64
110
  }
65
- export function buildRemoveCustodianArgs(custodian) {
111
+ function removalLoweringValues(label, lowerTo) {
112
+ const t4 = lowerTo.t4 ?? 0;
113
+ const t5 = lowerTo.t5 ?? 0;
114
+ assertUint8(`${label}.lowerTo.t4`, t4);
115
+ assertUint8(`${label}.lowerTo.t5`, t5);
116
+ if (t4 === 0 && t5 === 0) {
117
+ throw new RangeError(`[custody] ${label}.lowerTo: name at least one new threshold (or omit lowerTo for the one-word form)`);
118
+ }
119
+ return [t4, t5];
120
+ }
121
+ /** `RemoveCustodian` (1, T4; T5 when it lowers): `abi.encode(address)` — or, when `lowerTo` is passed
122
+ * (generation 4, CUST-5), the 96-byte `abi.encode(address custodian, uint8 newT4, uint8 newT5)` that lowers the
123
+ * thresholds in the same action. Any other length reverts `MalformedRemovalArgs` at schedule. */
124
+ export function buildRemoveCustodianArgs(custodian, lowerTo) {
66
125
  assertAddress('RemoveCustodian.custodian', custodian);
67
- return encodeAbiParameters([{ type: 'address' }], [custodian]);
126
+ if (lowerTo === undefined)
127
+ return encodeAbiParameters([{ type: 'address' }], [custodian]);
128
+ const [t4, t5] = removalLoweringValues('RemoveCustodian', lowerTo);
129
+ return encodeAbiParameters([{ type: 'address' }, { type: 'uint8' }, { type: 'uint8' }], [custodian, t4, t5]);
68
130
  }
69
131
  export function buildAddTrusteeArgs(trustee) {
70
132
  assertAddress('AddTrustee.trustee', trustee);
@@ -140,10 +202,14 @@ export function buildAddPasskeyCredentialArgs(credentialIdDigest, x, y, rpIdHash
140
202
  }
141
203
  return encodeAbiParameters([{ type: 'bytes32' }, { type: 'uint256' }, { type: 'uint256' }, { type: 'bytes32' }], [credentialIdDigest, x, y, rpIdHash]);
142
204
  }
143
- /** Encode args for `RemovePasskeyCredential(credentialIdDigest)`. */
144
- export function buildRemovePasskeyCredentialArgs(credentialIdDigest) {
205
+ /** Encode args for `RemovePasskeyCredential(credentialIdDigest)` — or, when `lowerTo` is passed (generation 4,
206
+ * CUST-5), the 96-byte `abi.encode(bytes32 credentialIdDigest, uint8 newT4, uint8 newT5)`. */
207
+ export function buildRemovePasskeyCredentialArgs(credentialIdDigest, lowerTo) {
145
208
  assertBytes32('RemovePasskeyCredential.credentialIdDigest', credentialIdDigest);
146
- return encodeAbiParameters([{ type: 'bytes32' }], [credentialIdDigest]);
209
+ if (lowerTo === undefined)
210
+ return encodeAbiParameters([{ type: 'bytes32' }], [credentialIdDigest]);
211
+ const [t4, t5] = removalLoweringValues('RemovePasskeyCredential', lowerTo);
212
+ return encodeAbiParameters([{ type: 'bytes32' }, { type: 'uint8' }, { type: 'uint8' }], [credentialIdDigest, t4, t5]);
147
213
  }
148
214
  /**
149
215
  * Encode args for `RotateAllCustodians(addCustodians, removeCustodians)`
@@ -229,6 +295,51 @@ export function buildRecoverAccountArgs(args) {
229
295
  removePasskeyCredentialIdDigests: removePasskeyCredentialIdDigests,
230
296
  }]);
231
297
  }
298
+ // ─── Generation 4 (spec 445 §1.5) — module / ceiling actions ─────────────────────────────────
299
+ const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
300
+ const HEX_RE = /^0x([0-9a-fA-F]{2})*$/;
301
+ function assertNonZeroAddress(label, v) {
302
+ assertAddress(label, v);
303
+ if (v.toLowerCase() === ZERO_ADDRESS)
304
+ throw new RangeError(`[custody] ${label}: must be non-zero`);
305
+ }
306
+ function assertBytes(label, v) {
307
+ if (typeof v !== 'string' || !HEX_RE.test(v))
308
+ throw new RangeError(`[custody] ${label}: not hex bytes (${v})`);
309
+ }
310
+ function moduleArgs(label, moduleTypeId, module, data) {
311
+ const t = BigInt(moduleTypeId);
312
+ if (t !== 1n && t !== 2n && t !== 4n)
313
+ throw new RangeError(`[custody] ${label}.moduleTypeId: must be 1 (validator), 2 (executor) or 4 (hook) (got ${t})`);
314
+ assertNonZeroAddress(`${label}.module`, module);
315
+ assertBytes(`${label}.data`, data);
316
+ return encodeAbiParameters([{ type: 'uint256' }, { type: 'address' }, { type: 'bytes' }], [t, module, data]);
317
+ }
318
+ /** `InstallModule` (17, T5): `abi.encode(uint256 moduleTypeId, address module, bytes initData)`. For a treasury
319
+ * ceiling: `(4, treasurySpendPolicy, abi.encode(address asset, uint256 ceiling, uint64 windowSeconds))`. */
320
+ export function buildInstallModuleArgs(args) {
321
+ return moduleArgs('InstallModule', args.moduleTypeId, args.module, args.initData ?? '0x');
322
+ }
323
+ /** `UninstallModule` (18, T5, pause-exempt): `abi.encode(uint256 moduleTypeId, address module, bytes deInitData)`.
324
+ * Naming the canonical custody policy reverts `CannotUninstallCustodyPolicy`; a hook uninstall needs ≥ ~206k gas
325
+ * at the callback (`InsufficientGasForHookUninstall`). */
326
+ export function buildUninstallModuleArgs(args) {
327
+ return moduleArgs('UninstallModule', args.moduleTypeId, args.module, args.deInitData ?? '0x');
328
+ }
329
+ function ceilingArgs(label, hook, newCeiling) {
330
+ assertNonZeroAddress(`${label}.hook`, hook);
331
+ assertUint256(`${label}.newCeiling`, newCeiling);
332
+ return encodeAbiParameters([{ type: 'address' }, { type: 'uint256' }], [hook, newCeiling]);
333
+ }
334
+ /** `LowerSpendCeiling` (19, T4): `abi.encode(address hook, uint256 newCeiling)`. Reverts at apply unless strictly
335
+ * lower (`NotLower`) or when `hook` is not installed as a HOOK (`HookNotInstalledOn`). */
336
+ export function buildLowerSpendCeilingArgs(args) {
337
+ return ceilingArgs('LowerSpendCeiling', args.hook, args.newCeiling);
338
+ }
339
+ /** `SetSpendCeiling` (20, T5): `abi.encode(address hook, uint256 newCeiling)` — may raise. */
340
+ export function buildSetSpendCeilingArgs(args) {
341
+ return ceilingArgs('SetSpendCeiling', args.hook, args.newCeiling);
342
+ }
232
343
  /**
233
344
  * Encode args for `RotateCredential(args)` — spec 410 §1.2, contracts generation 3. Exactly one credential
234
345
  * is added (`addOwner` XOR `addPasskey`) and exactly one retired (`removeOwner` XOR
@@ -245,9 +356,22 @@ export function buildRecoverAccountArgs(args) {
245
356
  * address removeOwner;
246
357
  * bytes32 removePasskeyCredentialIdDigest;
247
358
  * bytes32[] reapprove;
359
+ * address[] reaffirmModules; // generation 4
360
+ * bool reaffirmDelegationManager; // generation 4
248
361
  * }
362
+ *
363
+ * GENERATION IS REQUIRED (spec 445 §1.3 / H-2). Generation 4 appended two fields to the struct; a generation-3
364
+ * payload sent to a generation-4 policy SCHEDULES fine (the args ride as a hash) and reverts only at APPLY, a day
365
+ * later. So the caller states the estate's `contractsGeneration` and gets that generation's bytes — never a guess.
366
+ * On generation 4, `reaffirmModules` lists the installed EXECUTOR modules the person keeps (not the canonical
367
+ * custody policy, which is exempt; never hooks, which never lapse) and `reaffirmDelegationManager` is true only
368
+ * when the account's delegation manager is NOT the factory's canonical one and is kept. Anything not listed is
369
+ * expelled by the retirement. Generation 3 has neither field and refuses them.
249
370
  */
250
371
  export function buildRotateCredentialArgs(args) {
372
+ if (args.generation !== 3 && args.generation !== 4) {
373
+ throw new RangeError(`[custody] RotateCredential.generation: must be 3 or 4 (got ${String(args.generation)})`);
374
+ }
251
375
  const ZERO32 = ('0x' + '00'.repeat(32));
252
376
  const ZERO_ADDR = ('0x' + '00'.repeat(20));
253
377
  let addOwner = ZERO_ADDR;
@@ -286,17 +410,47 @@ export function buildRotateCredentialArgs(args) {
286
410
  }
287
411
  for (const d of args.reapprove)
288
412
  assertBytes32('RotateCredential.reapprove', d);
413
+ const passkeyTuple = { name: 'addPasskey', type: 'tuple', components: [
414
+ { name: 'credentialIdDigest', type: 'bytes32' }, { name: 'x', type: 'uint256' }, { name: 'y', type: 'uint256' }, { name: 'rpIdHash', type: 'bytes32' },
415
+ ] };
416
+ if (args.generation === 3) {
417
+ if ((args.reaffirmModules?.length ?? 0) > 0 || args.reaffirmDelegationManager === true) {
418
+ throw new RangeError('[custody] RotateCredential: reaffirmModules / reaffirmDelegationManager need contracts generation 4 (a generation-3 policy cannot decode them)');
419
+ }
420
+ return encodeAbiParameters([{
421
+ type: 'tuple',
422
+ components: [
423
+ { name: 'addOwner', type: 'address' },
424
+ passkeyTuple,
425
+ { name: 'removeOwner', type: 'address' },
426
+ { name: 'removePasskeyCredentialIdDigest', type: 'bytes32' },
427
+ { name: 'reapprove', type: 'bytes32[]' },
428
+ ],
429
+ }], [{ addOwner, addPasskey, removeOwner, removePasskeyCredentialIdDigest, reapprove: [...args.reapprove] }]);
430
+ }
431
+ const reaffirmModules = [...(args.reaffirmModules ?? [])];
432
+ const seen = new Set();
433
+ for (const m of reaffirmModules) {
434
+ assertNonZeroAddress('RotateCredential.reaffirmModules', m);
435
+ const k = m.toLowerCase();
436
+ if (seen.has(k))
437
+ throw new RangeError(`[custody] RotateCredential.reaffirmModules: duplicate module ${m}`);
438
+ seen.add(k);
439
+ }
440
+ const reaffirmDelegationManager = args.reaffirmDelegationManager ?? false;
441
+ if (typeof reaffirmDelegationManager !== 'boolean')
442
+ throw new RangeError('[custody] RotateCredential.reaffirmDelegationManager: must be a boolean');
289
443
  return encodeAbiParameters([{
290
444
  type: 'tuple',
291
445
  components: [
292
446
  { name: 'addOwner', type: 'address' },
293
- { name: 'addPasskey', type: 'tuple', components: [
294
- { name: 'credentialIdDigest', type: 'bytes32' }, { name: 'x', type: 'uint256' }, { name: 'y', type: 'uint256' }, { name: 'rpIdHash', type: 'bytes32' },
295
- ] },
447
+ passkeyTuple,
296
448
  { name: 'removeOwner', type: 'address' },
297
449
  { name: 'removePasskeyCredentialIdDigest', type: 'bytes32' },
298
450
  { name: 'reapprove', type: 'bytes32[]' },
451
+ { name: 'reaffirmModules', type: 'address[]' },
452
+ { name: 'reaffirmDelegationManager', type: 'bool' },
299
453
  ],
300
- }], [{ addOwner, addPasskey, removeOwner, removePasskeyCredentialIdDigest, reapprove: [...args.reapprove] }]);
454
+ }], [{ addOwner, addPasskey, removeOwner, removePasskeyCredentialIdDigest, reapprove: [...args.reapprove], reaffirmModules, reaffirmDelegationManager }]);
301
455
  }
302
456
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,0EAA0E;AAC1E,2EAA2E;AAC3E,EAAE;AACF,sEAAsE;AACtE,kEAAkE;AAClE,2BAA2B;AAE3B,OAAO,EAAE,mBAAmB,EAA0B,MAAM,MAAM,CAAC;AAEnE,MAAM,CAAN,IAAY,aA+BX;AA/BD,WAAY,aAAa;IACvB,iEAAgB,CAAA;IAChB,uEAAmB,CAAA;IACnB,iFAAwB,CAAA;IACxB,uFAA2B,CAAA;IAC3B,6DAAc,CAAA;IACd,mEAAiB,CAAA;IACjB,2EAAqB,CAAA;IACrB,2EAAqB,CAAA;IACrB,uFAA2B,CAAA;IAC3B,uEAAmB,CAAA;IACnB,gFAAwB,CAAA;IACxB,gFAAwB,CAAA;IACxB,8EAAuB,CAAA;IACvB,kFAAyB,CAAA;IACzB,sEAAmB,CAAA;IACnB,wFAA4B,CAAA;IAC5B;mGAC+F;IAC/F,0EAAqB,CAAA;IACrB,uGAAuG;IACvG,yGAAyG;IACzG,oEAAkB,CAAA;IAClB,gHAAgH;IAChH,wEAAoB,CAAA;IACpB,kGAAkG;IAClG,4EAAsB,CAAA;IACtB,yFAAyF;IACzF,wEAAoB,CAAA;IACpB,wGAAwG;IACxG,oGAAoG;AACtG,CAAC,EA/BW,aAAa,KAAb,aAAa,QA+BxB;AAED;;;;uFAIuF;AACvF,MAAM,UAAU,iBAAiB,CAAC,MAAqB;IACrD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,aAAa,CAAC,cAAc;YAC/B,OAAO,CAAC,CAAC;QACX,KAAK,aAAa,CAAC,iBAAiB,CAAC;QACrC,KAAK,aAAa,CAAC,uBAAuB,CAAC;QAC3C,KAAK,aAAa,CAAC,eAAe,CAAC;QACnC,KAAK,aAAa,CAAC,mBAAmB,CAAC;QACvC,KAAK,aAAa,CAAC,aAAa,CAAC;QACjC,KAAK,aAAa,CAAC,eAAe,CAAC;QACnC,KAAK,aAAa,CAAC,eAAe;YAChC,OAAO,CAAC,CAAC;QACX;YACE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;gBACtF,MAAM,IAAI,UAAU,CAAC,kCAAkC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;qEAEqE;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAA6B,MAAM,CAAC,MAAM,CAAC;IAClF,aAAa,CAAC,eAAe;IAC7B,aAAa,CAAC,uBAAuB;IACrC,aAAa,CAAC,eAAe;CAC9B,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B,CAAC,MAAqB;IAC9D,OAAO,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,4EAA4E;AAE5E,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;AACnC,MAAM,MAAM,GAAG,GAAG,CAAC;AAEnB,SAAS,aAAa,CAAC,KAAa,EAAE,CAAU;IAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,gCAAgC,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,CAAM;IAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,CAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM;IAClE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAC/C,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,qBAAqB,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,CAAS,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,QAAQ;IACvE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAChD,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,uBAAuB,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,oCAAoC;AAEpC,MAAM,UAAU,qBAAqB,CAAC,SAAkB;IACtD,aAAa,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AACjE,CAAC;AAUD,SAAS,qBAAqB,CAAC,KAAa,EAAE,OAAwB;IACpE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3B,WAAW,CAAC,GAAG,KAAK,aAAa,EAAE,EAAE,CAAC,CAAC;IACvC,WAAW,CAAC,GAAG,KAAK,aAAa,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,mFAAmF,CAAC,CAAC;IAC9H,CAAC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;kGAEkG;AAClG,MAAM,UAAU,wBAAwB,CAAC,SAAkB,EAAE,OAAyB;IACpF,aAAa,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,qBAAqB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,aAAa,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC7C,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,aAAa,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAsB;IAC/D,WAAW,CAAC,2BAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,aAAa,CAAC,kCAAkC,EAAE,aAAa,CAAC,CAAC;IACjE,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,SAAiB;IAC7D,WAAW,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC;IACzD,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAgB;IACzD,aAAa,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IACpD,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAAC,IAAY,EAAE,QAAgB;IAC7E,WAAW,CAAC,8BAA8B,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxD,WAAW,CAAC,kCAAkC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,mBAAmB,CACxB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACtC,CAAC,IAAI,EAAE,QAAQ,CAAC,CACjB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,6BAA6B,CAC3C,kBAAuB,EACvB,CAAS,EACT,CAAS,EACT,QAAa;IAEb,aAAa,CAAC,yCAAyC,EAAE,kBAAkB,CAAC,CAAC;IAC7E,IAAI,kBAAkB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,UAAU,CAAC,iFAAiF,CAAC,CAAC;IAC1G,CAAC;IACD,aAAa,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,wBAAwB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,QAAQ,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAAC,uHAAuH,CAAC,CAAC;IAChJ,CAAC;IACD,OAAO,mBAAmB,CACxB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EACpF,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CACrC,CAAC;AACJ,CAAC;AAED;+FAC+F;AAC/F,MAAM,UAAU,gCAAgC,CAAC,kBAAuB,EAAE,OAAyB;IACjG,aAAa,CAAC,4CAA4C,EAAE,kBAAkB,CAAC,CAAC;IAChF,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACnG,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,qBAAqB,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC3E,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACxH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,aAAiC,EACjC,gBAAoC;IAEpC,KAAK,MAAM,CAAC,IAAI,aAAa;QAAE,aAAa,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;IAC3E,KAAK,MAAM,CAAC,IAAI,gBAAgB;QAAE,aAAa,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;IACjF,OAAO,mBAAmB,CACxB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAC9C,CAAC,aAA0B,EAAE,gBAA6B,CAAC,CAC5D,CAAC;AACJ,CAAC;AAiBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAKvC;IACC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC3C,MAAM,gCAAgC,GAAG,IAAI,CAAC,gCAAgC,IAAI,EAAE,CAAC;IAErF,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,aAAa,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,YAAY;QAAE,aAAa,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,aAAa,CAAC,+CAA+C,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACrF,IAAI,CAAC,CAAC,kBAAkB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,UAAU,CAAC,uFAAuF,CAAC,CAAC;QAChH,CAAC;QACD,aAAa,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,aAAa,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,aAAa,CAAC,qCAAqC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,UAAU,CAAC,oHAAoH,CAAC,CAAC;QAC7I,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,gCAAgC,EAAE,CAAC;QACjD,aAAa,CAAC,iDAAiD,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IACE,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,YAAY,CAAC,MAAM,KAAK,CAAC;QACzB,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,gCAAgC,CAAC,MAAM,KAAK,CAAC,EAC7C,CAAC;QACD,MAAM,IAAI,UAAU,CAAC,2EAA2E,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,mBAAmB,CACxB;QACE;YACE,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;gBACxC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE;gBAC3C;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE;wBACV,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC/C,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC9B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;wBAC9B,mEAAmE;wBACnE,+DAA+D;wBAC/D,sDAAsD;wBACtD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;qBACtC;iBACF;gBACD,EAAE,IAAI,EAAE,kCAAkC,EAAE,IAAI,EAAE,WAAW,EAAE;aAChE;SACF;KACF,EACD,CAAC;YACC,SAAS,EAAE,SAAsB;YACjC,YAAY,EAAE,YAAyB;YACvC,WAAW,EAAE,WAAmC;YAChD,gCAAgC,EAAE,gCAAyC;SAC5E,CAAC,CACH,CAAC;AACJ,CAAC;AAED,gGAAgG;AAEhG,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAClE,MAAM,MAAM,GAAG,uBAAuB,CAAC;AAEvC,SAAS,oBAAoB,CAAC,KAAa,EAAE,CAAU;IACrD,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY;QAAE,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,oBAAoB,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,CAAM;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,oBAAoB,CAAC,GAAG,CAAC,CAAC;AACjH,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,YAA6B,EAAE,MAAe,EAAE,IAAS;IAC1F,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,aAAa,KAAK,uEAAuE,CAAC,GAAG,CAAC,CAAC;IAC1J,oBAAoB,CAAC,GAAG,KAAK,SAAS,EAAE,MAAM,CAAC,CAAC;IAChD,WAAW,CAAC,GAAG,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/G,CAAC;AAED;6GAC6G;AAC7G,MAAM,UAAU,sBAAsB,CAAC,IAAwE;IAC7G,OAAO,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;AAC5F,CAAC;AAED;;2DAE2D;AAC3D,MAAM,UAAU,wBAAwB,CAAC,IAA0E;IACjH,OAAO,UAAU,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAa,EAAE,UAAkB;IACnE,oBAAoB,CAAC,GAAG,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,aAAa,CAAC,GAAG,KAAK,aAAa,EAAE,UAAU,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;2FAC2F;AAC3F,MAAM,UAAU,0BAA0B,CAAC,IAA2C;IACpF,OAAO,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACtE,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,wBAAwB,CAAC,IAA2C;IAClF,OAAO,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAUzC;IACC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,UAAU,CAAC,8DAA8D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACjH,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAQ,CAAC;IAC/C,MAAM,SAAS,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAY,CAAC;IACtD,IAAI,QAAQ,GAAY,SAAS,CAAC;IAClC,IAAI,UAAU,GAAuB,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACpG,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,aAAa,CAAC,4BAA4B,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5D,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,UAAU,CAAC,wDAAwD,CAAC,CAAC;QACjH,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC3B,aAAa,CAAC,iDAAiD,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACvF,IAAI,CAAC,CAAC,kBAAkB,KAAK,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,yFAAyF,CAAC,CAAC;QACrJ,aAAa,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,aAAa,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,aAAa,CAAC,uCAAuC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,4EAA4E,CAAC,CAAC;QAC9H,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,WAAW,GAAY,SAAS,CAAC;IACrC,IAAI,+BAA+B,GAAQ,MAAM,CAAC;IAClD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,aAAa,CAAC,+BAA+B,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,UAAU,CAAC,2DAA2D,CAAC,CAAC;QACvH,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,mDAAmD,EAAE,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC1G,IAAI,IAAI,CAAC,MAAM,CAAC,yBAAyB,KAAK,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,+EAA+E,CAAC,CAAC;QAC5J,+BAA+B,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,aAAa,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;YACpE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;SACvJ,EAAW,CAAC;IACb,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE,CAAC;YACvF,MAAM,IAAI,UAAU,CAAC,gJAAgJ,CAAC,CAAC;QACzK,CAAC;QACD,OAAO,mBAAmB,CACxB,CAAC;gBACC,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,YAAY;oBACZ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;oBACxC,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC5D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;iBACzC;aACF,CAAC,EACF,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,+BAA+B,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CACzG,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,oBAAoB,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,MAAM,IAAI,UAAU,CAAC,gEAAgE,CAAC,EAAE,CAAC,CAAC;QAC3G,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,MAAM,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,IAAI,KAAK,CAAC;IAC1E,IAAI,OAAO,yBAAyB,KAAK,SAAS;QAAE,MAAM,IAAI,UAAU,CAAC,yEAAyE,CAAC,CAAC;IACpJ,OAAO,mBAAmB,CACxB,CAAC;YACC,IAAI,EAAE,OAAO;YACb,UAAU,EAAE;gBACV,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;gBACrC,YAAY;gBACZ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;gBACxC,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5D,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE;gBACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;gBAC9C,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,MAAM,EAAE;aACpD;SACF,CAAC,EACF,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,+BAA+B,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,yBAAyB,EAAE,CAAC,CACrJ,CAAC;AACJ,CAAC"}
package/dist/eip712.d.ts CHANGED
@@ -1,6 +1,10 @@
1
1
  import type { Address, Hex } from 'viem';
2
2
  export declare const CUSTODY_DOMAIN_NAME = "agenticprimitives.CustodyPolicy";
3
3
  export declare const CUSTODY_DOMAIN_VERSION = "1";
4
+ /** AUTH-6 (spec 445, 2026-11-10) — a chain id is declared or it is an error. viem drops `chainId` from the
5
+ * EIP712Domain when it is not a number/bigint, so `undefined`, `null` or the string `"34348"` used to give a
6
+ * custody digest with NO chain binding. A positive safe integer, as a number, or a throw — never coerced. */
7
+ export declare function assertChainId(chainId: unknown, where?: string): number;
4
8
  export declare function custodyDomain(args: {
5
9
  chainId: number;
6
10
  verifyingContract: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AACrE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE;;;;;EAOlF;AAED,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;CAO/B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;CAQ5B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;CAQ/B,CAAC;AAEX,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,4BAA4B;IAC7E,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,4BAA4B,GAAG,yBAAyB,CAAC"}
1
+ {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEzC,eAAO,MAAM,mBAAmB,oCAAoC,CAAC;AACrE,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;8GAE8G;AAC9G,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,SAAoB,GAAG,MAAM,CAKjF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE;;;;;EAWlF;AAED,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;CAO/B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;CAQ5B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;CAQ/B,CAAC;AAEX,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAA0B,SAAQ,4BAA4B;IAC7E,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,4BAA4B,GAAG,yBAAyB,CAAC"}
package/dist/eip712.js CHANGED
@@ -6,7 +6,20 @@
6
6
  // supplies chainId + the deployed CustodyPolicy address as `verifyingContract`.
7
7
  export const CUSTODY_DOMAIN_NAME = 'agenticprimitives.CustodyPolicy';
8
8
  export const CUSTODY_DOMAIN_VERSION = '1';
9
+ /** AUTH-6 (spec 445, 2026-11-10) — a chain id is declared or it is an error. viem drops `chainId` from the
10
+ * EIP712Domain when it is not a number/bigint, so `undefined`, `null` or the string `"34348"` used to give a
11
+ * custody digest with NO chain binding. A positive safe integer, as a number, or a throw — never coerced. */
12
+ export function assertChainId(chainId, where = 'account-custody') {
13
+ if (typeof chainId !== 'number' || !Number.isSafeInteger(chainId) || chainId <= 0) {
14
+ throw new Error(`${where}: chainId must be a positive integer (got ${typeof chainId === 'string' ? `the string "${chainId}"` : String(chainId)}) — a digest without a chain binding is never computed`);
15
+ }
16
+ return chainId;
17
+ }
9
18
  export function custodyDomain(args) {
19
+ assertChainId(args?.chainId, 'custodyDomain');
20
+ if (typeof args.verifyingContract !== 'string' || !/^0x[0-9a-fA-F]{40}$/.test(args.verifyingContract)) {
21
+ throw new Error('custodyDomain: verifyingContract must be the CustodyPolicy address — a digest without a verifying contract is never computed');
22
+ }
10
23
  return {
11
24
  name: CUSTODY_DOMAIN_NAME,
12
25
  version: CUSTODY_DOMAIN_VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"eip712.js","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,0EAA0E;AAC1E,gFAAgF;AAIhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,UAAU,aAAa,CAAC,IAAqD;IACjF,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KACjC,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,4BAA4B,EAAE;QAC5B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,yBAAyB,EAAE;QACzB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,4BAA4B,EAAE;QAC5B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC;CACO,CAAC"}
1
+ {"version":3,"file":"eip712.js","sourceRoot":"","sources":["../src/eip712.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,0EAA0E;AAC1E,gFAAgF;AAIhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;AACrE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C;;8GAE8G;AAC9G,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,KAAK,GAAG,iBAAiB;IACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QAClF,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6CAA6C,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC;IAC1M,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAqD;IACjF,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9C,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,KAAK,CAAC,8HAA8H,CAAC,CAAC;IAClJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,sBAAsB;QAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;KACjC,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,4BAA4B,EAAE;QAC5B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,yBAAyB,EAAE;QACzB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,4BAA4B,EAAE;QAC5B,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;QACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;KAChC;CACO,CAAC"}
@@ -21,21 +21,37 @@ export declare const TIER: {
21
21
  export interface CustodyPolicyInstallInput {
22
22
  /** 1 hybrid (the Home's person default) · 2 threshold · 3 org. Mode 0 means "no policy" and is never installed. */
23
23
  mode: 1 | 2 | 3;
24
- /** Smart Agent addresses (verified by ERC-1271 in the quorum), never raw keys. */
24
+ /** Smart Agent addresses (verified by ERC-1271 in the quorum), never raw keys. At least 1 (mode 2: 2, mode 3: 3)
25
+ * — the factory's rule (`AgentAccountFactory._validateInitParams`). */
25
26
  trustees: readonly Address[];
27
+ /** THE ACCOUNT'S CUSTODIAN COUNT at install: external custodians + 1 if it has a passkey (the factory's `nSigners`).
28
+ * REQUIRED for modes 2 and 3 — their T4/T5 are a function of it and are never guessed. For mode 1 it is optional;
29
+ * when given, every threshold is checked against it. */
30
+ custodianCount?: number;
26
31
  /** T6 trustee quorum; must be ≤ trustees.length (CP-2). Defaults to a majority: floor(N/2) + 1. */
27
32
  recoveryApprovals?: number;
28
- /** approvalsRequired by tier, index = tier. Unset tiers take the contract's defaults (CP-1 floor). */
33
+ /** approvalsRequired by tier, index = tier. UNSET T4/T5 TAKE THE MODE'S DEFAULT, computed here by the factory's
34
+ * rule (see `custodyApprovalDefaults`): mode 1 → 1/1 (the Home's hybrid person); mode 2 → the spec 207 §5.1 matrix
35
+ * over `custodianCount`; mode 3 → that matrix capped at floor(N/2). A SET T4/T5 must lie between the mode's default
36
+ * (the floor) and what the custodians can satisfy; anything else is refused, never clamped. */
29
37
  approvalsByTier?: Partial<Record<1 | 2 | 3 | 4 | 5, number>>;
30
- /** safety delays in seconds by tier, index = tier. T6 MUST be > 0 — refused here, as the contract would at schedule time. */
38
+ /** safety delays in seconds by tier, index = tier. Unset T4/T5/T6 take the factory's floors (1h · 24h · 48h); a set
39
+ * value may RAISE a delay, never lower it below the floor (EXT-TL-FLOOR-1). */
31
40
  delaysByTier?: Partial<Record<1 | 2 | 3 | 4 | 5 | 6, number>>;
41
+ /** The factory's `relaxedT4Floor` constructor posture (R917-C-5): a LOCAL DEVELOPMENT estate whose factory was
42
+ * deployed with it. Lifts the T4 floor only (T5 24h / T6 48h are never relaxed) and only when said here in so
43
+ * many words — it is never inferred from a chain id. A production install never passes it. */
44
+ relaxedT4Floor?: true;
32
45
  /** T3 high-value ceiling in wei. */
33
46
  t3HighValueCeiling?: bigint;
34
47
  /** Turns on `v = 1` approved-hash quorum slots for this account; zero turns them off. */
35
48
  approvedHashRegistry?: Address;
36
49
  }
37
- /** The Home's HYBRID defaults for a person (spec 422 §4.2): her own credential changes keep needing one of her own
38
- * credentials (T4 = 1), and the delays match the factory's floors (T4 1h · T5 24h · T6 48h). */
50
+ /** The Home's HYBRID defaults for a person (spec 422 §4.2) — MODE 1 ONLY: her own credential changes keep needing
51
+ * one of her own credentials (T4 = 1), and the delays match the factory's floors (T4 1h · T5 24h · T6 48h).
52
+ * REM-4 (spec 445, 2026-11-10): these were merged into EVERY mode, so an organization that left `approvalsByTier`
53
+ * unset — as the field's own documentation told it to — installed admin = critical = 1-of-N, and because the
54
+ * builder always sent non-zero T4/T5 the contract's CP-1 custodian-count floor never ran. */
39
55
  export declare const HOME_HYBRID_DEFAULTS: {
40
56
  readonly approvalsByTier: {
41
57
  readonly 4: 1;
@@ -48,8 +64,45 @@ export declare const HOME_HYBRID_DEFAULTS: {
48
64
  };
49
65
  readonly t3HighValueCeiling: 10000000000000000n;
50
66
  };
67
+ /** The factory's timelock floors in seconds — `AgentAccountFactory._buildValidatorInitData` (AgentAccountFactory.sol
68
+ * :375 `floor4 = relaxedT4Floor ? 0 : 1 hours`, :388-390 `TimelockBelowFloor` for T4 / T5 24h / T6 48h). */
69
+ export declare const CUSTODY_DELAY_FLOORS: {
70
+ readonly 4: 3600;
71
+ readonly 5: 86400;
72
+ readonly 6: 172800;
73
+ };
51
74
  export declare const majorityOf: (n: number) => number;
52
- /** `abi.encode(uint8 mode, uint8 recThr, address[] trustees, uint8[7] thresholds, uint32[7] delays, uint256 t3, address reg)`. */
75
+ /** Spec 207 §5.1 default-approvals matrix — a port of `CustodyPolicy._defaultApprovals` (CustodyPolicy.sol:1127-1139):
76
+ * T4: N ≤ 3 → N · N ≤ 6 → N−1 · else N−2; T5: N ≤ 5 → N · else N−1; every other tier 0 (the 1-of-N floor).
77
+ * Pinned to the Solidity source by `test/cross-stack-custody-install.test.ts`. */
78
+ export declare function defaultApprovals(nCustodians: number, tier: number): number;
79
+ /** THE T4/T5 A MODE GETS when the caller sets none — what `AgentAccountFactory._buildValidatorInitData` computes
80
+ * (AgentAccountFactory.sol:347-365) for modes 2 and 3, and the Home's spec-422 hybrid for mode 1:
81
+ * mode 2 (threshold): the matrix over N.
82
+ * mode 3 (org): N ≥ 2 (`InfeasibleOrgConfig`), the matrix CAPPED at floor(N/2) — separation of duties needs
83
+ * disjoint propose + apply quorums, so 2×threshold distinct custodians must exist (ACCT-M1).
84
+ * mode 1 (hybrid): 1 / 1. */
85
+ export declare function custodyApprovalDefaults(mode: 1 | 2 | 3, custodianCount: number | undefined): {
86
+ 4: number;
87
+ 5: number;
88
+ };
89
+ /** What an install will set, in plain values — so a surface shows the signer the policy she is signing (the digest
90
+ * is over `installModule(…, data)`; the bytes say nothing a person can read). */
91
+ export interface ResolvedCustodyPolicyInstall {
92
+ mode: 1 | 2 | 3;
93
+ recoveryApprovals: number;
94
+ trustees: Address[];
95
+ /** index = tier; index 0 and 6 unused (T6 is `recoveryApprovals`). 0 on T1–T3 = the contract's 1-of-N. */
96
+ approvalsByTier: [number, number, number, number, number, number, number];
97
+ /** seconds, index = tier. */
98
+ delaysByTier: [number, number, number, number, number, number, number];
99
+ t3HighValueCeiling: bigint;
100
+ approvedHashRegistry: Address;
101
+ }
102
+ /** Resolve + VALIDATE an install. Refuses what the factory would refuse; substitutes nothing silently. */
103
+ export declare function resolveCustodyPolicyInstall(input: CustodyPolicyInstallInput): ResolvedCustodyPolicyInstall;
104
+ /** `abi.encode(uint8 mode, uint8 recThr, address[] trustees, uint8[7] thresholds, uint32[7] delays, uint256 t3, address reg)`.
105
+ * The values are `resolveCustodyPolicyInstall(input)` — show THOSE to the signer. */
53
106
  export declare function buildCustodyPolicyInstallData(input: CustodyPolicyInstallInput): Hex;
54
107
  /** `execute(self, installModule(EXECUTOR, custodyPolicy, data))` — the ONE self-call that names a person's trustees.
55
108
  * Signed by a credential that signs for her today; after it lands the account is custody-governed. */
@@ -1 +1 @@
1
- {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../src/governance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../src/governance.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@
6
6
  // (the factory's floors apply only at deploy). A post-deploy install that left T6 at 0 would succeed and leave
7
7
  // `RecoverAccount` unschedulable (`TimelockRequiredForTier(6)`); one that left T4 at 0 would make every credential
8
8
  // change immediate. The Home's hybrid install sets them explicitly — proven in `test/Spec422Recovery.t.sol`.
9
+ //
10
+ // THE RULE (REM-4, spec 445): a post-deploy install gets what the FACTORY would have given that mode — the
11
+ // defaults are PER MODE, the factory's floors are enforced here because `onInstall` enforces none of them once it is
12
+ // handed non-zero values, and a configuration the factory would refuse is refused. The hybrid 1/1 is mode 1's only.
9
13
  import { encodeAbiParameters, encodeFunctionData, hashTypedData, keccak256 } from 'viem';
10
14
  import { custodyPolicyAbi } from './abi.js';
11
15
  import { custodyDomain, ScheduleCustodyChangeRequest, ApplyCustodyChangeRequest, CancelScheduledChangeRequest } from './eip712.js';
@@ -16,41 +20,133 @@ const INSTALL_MODULE_ABI = [
16
20
  ];
17
21
  /** Tier indices as the contract's arrays use them (index = tier; index 0 unused). Spec 207 §5. */
18
22
  export const TIER = { read: 1, write: 2, value: 3, admin: 4, critical: 5, recovery: 6 };
19
- /** The Home's HYBRID defaults for a person (spec 422 §4.2): her own credential changes keep needing one of her own
20
- * credentials (T4 = 1), and the delays match the factory's floors (T4 1h · T5 24h · T6 48h). */
23
+ /** The Home's HYBRID defaults for a person (spec 422 §4.2) — MODE 1 ONLY: her own credential changes keep needing
24
+ * one of her own credentials (T4 = 1), and the delays match the factory's floors (T4 1h · T5 24h · T6 48h).
25
+ * REM-4 (spec 445, 2026-11-10): these were merged into EVERY mode, so an organization that left `approvalsByTier`
26
+ * unset — as the field's own documentation told it to — installed admin = critical = 1-of-N, and because the
27
+ * builder always sent non-zero T4/T5 the contract's CP-1 custodian-count floor never ran. */
21
28
  export const HOME_HYBRID_DEFAULTS = {
22
29
  approvalsByTier: { 4: 1, 5: 1 },
23
30
  delaysByTier: { 4: 3600, 5: 86_400, 6: 172_800 },
24
31
  t3HighValueCeiling: 10000000000000000n, // 0.01 ether, the factory's value
25
32
  };
33
+ /** The factory's timelock floors in seconds — `AgentAccountFactory._buildValidatorInitData` (AgentAccountFactory.sol
34
+ * :375 `floor4 = relaxedT4Floor ? 0 : 1 hours`, :388-390 `TimelockBelowFloor` for T4 / T5 24h / T6 48h). */
35
+ export const CUSTODY_DELAY_FLOORS = { 4: 3600, 5: 86_400, 6: 172_800 };
26
36
  export const majorityOf = (n) => (n === 0 ? 0 : Math.floor(n / 2) + 1);
27
- /** `abi.encode(uint8 mode, uint8 recThr, address[] trustees, uint8[7] thresholds, uint32[7] delays, uint256 t3, address reg)`. */
28
- export function buildCustodyPolicyInstallData(input) {
37
+ /** Spec 207 §5.1 default-approvals matrix — a port of `CustodyPolicy._defaultApprovals` (CustodyPolicy.sol:1127-1139):
38
+ * T4: N ≤ 3 → N · N ≤ 6 → N−1 · else N−2; T5: N ≤ 5 → N · else N−1; every other tier 0 (the 1-of-N floor).
39
+ * Pinned to the Solidity source by `test/cross-stack-custody-install.test.ts`. */
40
+ export function defaultApprovals(nCustodians, tier) {
41
+ if (nCustodians === 0)
42
+ return 0;
43
+ if (tier === 4)
44
+ return nCustodians <= 3 ? nCustodians : nCustodians <= 6 ? nCustodians - 1 : nCustodians - 2;
45
+ if (tier === 5)
46
+ return nCustodians <= 5 ? nCustodians : nCustodians - 1;
47
+ return 0;
48
+ }
49
+ /** THE T4/T5 A MODE GETS when the caller sets none — what `AgentAccountFactory._buildValidatorInitData` computes
50
+ * (AgentAccountFactory.sol:347-365) for modes 2 and 3, and the Home's spec-422 hybrid for mode 1:
51
+ * mode 2 (threshold): the matrix over N.
52
+ * mode 3 (org): N ≥ 2 (`InfeasibleOrgConfig`), the matrix CAPPED at floor(N/2) — separation of duties needs
53
+ * disjoint propose + apply quorums, so 2×threshold distinct custodians must exist (ACCT-M1).
54
+ * mode 1 (hybrid): 1 / 1. */
55
+ export function custodyApprovalDefaults(mode, custodianCount) {
56
+ if (mode === 1)
57
+ return { ...HOME_HYBRID_DEFAULTS.approvalsByTier };
58
+ const n = custodianCount;
59
+ if (n === undefined)
60
+ throw new Error(`custody mode ${mode} needs custodianCount — its admin (T4) and critical (T5) approvals are a function of it and are never defaulted to 1`);
61
+ if (mode === 3) {
62
+ if (n < 2)
63
+ throw new Error(`an organization (mode 3) needs at least 2 custodians to separate duties (got ${n})`);
64
+ const cap = Math.floor(n / 2);
65
+ return { 4: Math.min(defaultApprovals(n, 4), cap), 5: Math.min(defaultApprovals(n, 5), cap) };
66
+ }
67
+ return { 4: defaultApprovals(n, 4), 5: defaultApprovals(n, 5) };
68
+ }
69
+ const isCount = (v, max) => typeof v === 'number' && Number.isInteger(v) && v >= 0 && v <= max;
70
+ /** Resolve + VALIDATE an install. Refuses what the factory would refuse; substitutes nothing silently. */
71
+ export function resolveCustodyPolicyInstall(input) {
29
72
  if (![1, 2, 3].includes(input.mode))
30
73
  throw new Error(`custody mode must be 1, 2 or 3 (got ${input.mode})`);
74
+ const mode = input.mode;
31
75
  const trustees = [...new Set(input.trustees.map((t) => t.toLowerCase()))];
32
76
  if (trustees.length !== input.trustees.length)
33
77
  throw new Error('duplicate trustee');
34
- if (trustees.some((t) => /^0x0{40}$/.test(t)))
78
+ if (trustees.some((t) => !/^0x[0-9a-f]{40}$/.test(t) || /^0x0{40}$/.test(t)))
35
79
  throw new Error('a trustee must be an address');
80
+ // AgentAccountFactory._validateInitParams (AgentAccountFactory.sol:323-331): a recoverable mode names trustees.
81
+ const minTrustees = mode === 3 ? 3 : mode === 2 ? 2 : 1;
82
+ if (trustees.length < minTrustees)
83
+ throw new Error(`custody mode ${mode} needs at least ${minTrustees} trustee${minTrustees === 1 ? '' : 's'} (got ${trustees.length})`);
84
+ if (trustees.length > 255)
85
+ throw new Error('too many trustees');
36
86
  const rec = input.recoveryApprovals ?? majorityOf(trustees.length);
87
+ if (!isCount(rec, 255))
88
+ throw new Error(`recovery approvals must be a whole number (got ${rec})`);
37
89
  if (rec > trustees.length)
38
90
  throw new Error(`recovery approvals (${rec}) exceed the trustee count (${trustees.length})`);
39
- if (trustees.length > 0 && rec === 0)
91
+ if (rec === 0)
40
92
  throw new Error('recovery approvals must be at least 1 when trustees are named');
41
- const approvals = { ...HOME_HYBRID_DEFAULTS.approvalsByTier, ...(input.approvalsByTier ?? {}) };
42
- const delays = { ...HOME_HYBRID_DEFAULTS.delaysByTier, ...(input.delaysByTier ?? {}) };
43
- if (!(delays[6] > 0))
44
- throw new Error('the recovery (T6) safety delay must be set — onInstall stores it verbatim and a zero makes RecoverAccount unschedulable');
45
- if (!(delays[5] > 0))
46
- throw new Error('the critical (T5) safety delay must be set');
47
- const thresholds = [0, 0, 0, 0, 0, 0, 0];
48
- const timelocks = [0, 0, 0, 0, 0, 0, 0];
49
- for (const [k, v] of Object.entries(approvals))
50
- thresholds[Number(k)] = Number(v);
51
- for (const [k, v] of Object.entries(delays))
52
- timelocks[Number(k)] = Number(v);
53
- return encodeAbiParameters([{ type: 'uint8' }, { type: 'uint8' }, { type: 'address[]' }, { type: 'uint8[7]' }, { type: 'uint32[7]' }, { type: 'uint256' }, { type: 'address' }], [input.mode, rec, trustees, thresholds, timelocks, input.t3HighValueCeiling ?? HOME_HYBRID_DEFAULTS.t3HighValueCeiling, input.approvedHashRegistry ?? '0x0000000000000000000000000000000000000000']);
93
+ const n = input.custodianCount;
94
+ if (n !== undefined && (!isCount(n, 255) || n < 1))
95
+ throw new Error(`custodianCount must be a whole number from 1 to 255 (got ${n})`);
96
+ const defaults = custodyApprovalDefaults(mode, n); // throws for modes 2/3 without a custodian count
97
+ const approvals = [0, 0, 0, 0, defaults[4], defaults[5], 0];
98
+ for (const [k, v] of Object.entries(input.approvalsByTier ?? {})) {
99
+ const tier = Number(k);
100
+ if (![1, 2, 3, 4, 5].includes(tier))
101
+ throw new Error(`approvalsByTier: tier ${k} is not T1–T5 (T6 is recoveryApprovals)`);
102
+ if (v === undefined)
103
+ continue;
104
+ if (!isCount(v, 255))
105
+ throw new Error(`approvalsByTier[${tier}] must be a whole number (got ${v})`);
106
+ if (n !== undefined && v > n)
107
+ throw new Error(`T${tier} approvals (${v}) exceed the custodian count (${n}) — a threshold nobody can meet locks the account`);
108
+ if (tier >= 4) {
109
+ // CP-1: admin and critical are never 0 (0 would let onInstall's floor — or, with no readable count, the
110
+ // UnconfiguredTier revert — decide instead of the signer).
111
+ if (v === 0)
112
+ throw new Error(`T${tier} approvals must be at least 1 — zero is not "use a default" here; leave it unset for the mode's default`);
113
+ const floor = defaults[tier];
114
+ if (mode !== 1 && v < floor)
115
+ throw new Error(`T${tier} approvals (${v}) are below mode ${mode}'s floor for ${n} custodians (${floor}) — the factory would not deploy this policy`);
116
+ if (mode === 3 && v > Math.floor(n / 2))
117
+ throw new Error(`T${tier} approvals (${v}) cannot be met by disjoint propose and apply quorums of ${n} custodians (at most ${Math.floor(n / 2)})`);
118
+ }
119
+ approvals[tier] = v;
120
+ }
121
+ const delays = [0, 0, 0, 0, input.relaxedT4Floor === true ? 0 : CUSTODY_DELAY_FLOORS[4], CUSTODY_DELAY_FLOORS[5], CUSTODY_DELAY_FLOORS[6]];
122
+ for (const [k, v] of Object.entries(input.delaysByTier ?? {})) {
123
+ const tier = Number(k);
124
+ if (![1, 2, 3, 4, 5, 6].includes(tier))
125
+ throw new Error(`delaysByTier: tier ${k} is not T1–T6`);
126
+ if (v === undefined)
127
+ continue;
128
+ if (!isCount(v, 0xffff_ffff))
129
+ throw new Error(`delaysByTier[${tier}] must be whole seconds (got ${v})`);
130
+ const floor = tier === 4 ? (input.relaxedT4Floor === true ? 0 : CUSTODY_DELAY_FLOORS[4]) : tier === 5 ? CUSTODY_DELAY_FLOORS[5] : tier === 6 ? CUSTODY_DELAY_FLOORS[6] : 0;
131
+ if (v < floor)
132
+ throw new Error(`the T${tier} safety delay (${v}s) is below the floor (${floor}s) — a delay may be raised, never lowered${tier === 6 ? '; generation 4 onInstall refuses it (SafetyDelayBelowFloor), and on older policies a zero makes RecoverAccount unschedulable' : ''}`);
133
+ delays[tier] = v;
134
+ }
135
+ if (input.relaxedT4Floor !== undefined && input.relaxedT4Floor !== true)
136
+ throw new Error('relaxedT4Floor is `true` or absent');
137
+ const registry = input.approvedHashRegistry ?? '0x0000000000000000000000000000000000000000';
138
+ if (!/^0x[0-9a-fA-F]{40}$/.test(registry))
139
+ throw new Error('approvedHashRegistry must be an address');
140
+ const t3 = input.t3HighValueCeiling ?? HOME_HYBRID_DEFAULTS.t3HighValueCeiling;
141
+ if (typeof t3 !== 'bigint' || t3 < 0n)
142
+ throw new Error('t3HighValueCeiling must be a non-negative bigint (wei)');
143
+ return { mode, recoveryApprovals: rec, trustees, approvalsByTier: approvals, delaysByTier: delays, t3HighValueCeiling: t3, approvedHashRegistry: registry };
144
+ }
145
+ /** `abi.encode(uint8 mode, uint8 recThr, address[] trustees, uint8[7] thresholds, uint32[7] delays, uint256 t3, address reg)`.
146
+ * The values are `resolveCustodyPolicyInstall(input)` — show THOSE to the signer. */
147
+ export function buildCustodyPolicyInstallData(input) {
148
+ const r = resolveCustodyPolicyInstall(input);
149
+ return encodeAbiParameters([{ type: 'uint8' }, { type: 'uint8' }, { type: 'address[]' }, { type: 'uint8[7]' }, { type: 'uint32[7]' }, { type: 'uint256' }, { type: 'address' }], [r.mode, r.recoveryApprovals, r.trustees, r.approvalsByTier, r.delaysByTier, r.t3HighValueCeiling, r.approvedHashRegistry]);
54
150
  }
55
151
  /** `execute(self, installModule(EXECUTOR, custodyPolicy, data))` — the ONE self-call that names a person's trustees.
56
152
  * Signed by a credential that signs for her today; after it lands the account is custody-governed. */
@@ -1 +1 @@
1
- {"version":3,"file":"governance.js","sourceRoot":"","sources":["../src/governance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.js","sourceRoot":"","sources":["../src/governance.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { custodyPolicyAbi } from './abi.js';
2
- export { CustodyAction, buildAddCustodianArgs, buildRemoveCustodianArgs, buildAddTrusteeArgs, buildRemoveTrusteeArgs, buildChangeCustodyModeArgs, buildChangeValueCeilingArgs, buildSetRecoveryApprovalsArgs, buildApplySystemUpdateArgs, buildChangeApprovalsRequiredArgs, buildAddPasskeyCredentialArgs, buildRemovePasskeyCredentialArgs, buildRotateAllCustodiansArgs, buildRecoverAccountArgs, buildRotateCredentialArgs, type RecoveryPasskeyAdd, } from './actions.js';
2
+ export { CustodyAction, buildAddCustodianArgs, buildRemoveCustodianArgs, buildAddTrusteeArgs, buildRemoveTrusteeArgs, buildChangeCustodyModeArgs, buildChangeValueCeilingArgs, buildSetRecoveryApprovalsArgs, buildApplySystemUpdateArgs, buildChangeApprovalsRequiredArgs, buildAddPasskeyCredentialArgs, buildRemovePasskeyCredentialArgs, buildRotateAllCustodiansArgs, buildRecoverAccountArgs, buildRotateCredentialArgs, buildInstallModuleArgs, buildUninstallModuleArgs, buildLowerSpendCeilingArgs, buildSetSpendCeilingArgs, custodyActionTier, PAUSE_EXEMPT_CUSTODY_ACTIONS, isPauseExemptCustodyAction, type RecoveryPasskeyAdd, type RemovalLowering, } from './actions.js';
3
3
  export { CUSTODY_DOMAIN_NAME, CUSTODY_DOMAIN_VERSION, custodyDomain, ScheduleCustodyChangeRequest, ApplyCustodyChangeRequest, CancelScheduledChangeRequest, type ScheduleCustodyChangeMessage, type ApplyCustodyChangeMessage, type CancelScheduledChangeMessage, } from './eip712.js';
4
4
  export { type Custodian, type Trustee, type CustodyCouncil, type ScheduledChange, type CustodyMode, type RiskTier, CUSTODY_MODE_BY_INDEX, } from './types.js';
5
5
  export { type EcdsaSlot, type ContractSigSlot, type ApprovedHashSlot, type PasskeySlot, type QuorumSlot, type WebAuthnAssertion, packQuorumSigs, encodePasskeyTailBody, passkeyIdentity, SELF_PASSKEY_TRUSTEE, } from './quorum-slots.js';
6
- export { type CustodyCall, type CustodyPolicyInstallInput, type CustodyDigestInput, MODULE_TYPE_EXECUTOR, TIER, HOME_HYBRID_DEFAULTS, majorityOf, buildCustodyPolicyInstallData, installCustodyPolicyCall, scheduleCustodyChangeCall, applyCustodyChangeCall, cancelScheduledChangeCall, scheduleCustodyChangeDigest, applyCustodyChangeDigest, cancelScheduledChangeDigest, delayWords, } from './governance.js';
6
+ export { type CustodyCall, type CustodyPolicyInstallInput, type ResolvedCustodyPolicyInstall, type CustodyDigestInput, MODULE_TYPE_EXECUTOR, TIER, HOME_HYBRID_DEFAULTS, majorityOf, CUSTODY_DELAY_FLOORS, defaultApprovals, custodyApprovalDefaults, resolveCustodyPolicyInstall, buildCustodyPolicyInstallData, installCustodyPolicyCall, scheduleCustodyChangeCall, applyCustodyChangeCall, cancelScheduledChangeCall, scheduleCustodyChangeDigest, applyCustodyChangeDigest, cancelScheduledChangeDigest, delayWords, } from './governance.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,IAAI,EACJ,oBAAoB,EACpB,UAAU,EACV,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,UAAU,GACX,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,EAEzB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,EAC5B,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,kBAAkB,EACvB,oBAAoB,EACpB,IAAI,EACJ,oBAAoB,EACpB,UAAU,EAEV,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,UAAU,GACX,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -8,11 +8,15 @@
8
8
  // Delegation / Steward / Caveat concepts belong in @agenticprimitives/delegation.
9
9
  // See spec 212 § 2.2 + spec 213 for the vocabulary firewall.
10
10
  export { custodyPolicyAbi } from './abi.js';
11
- export { CustodyAction, buildAddCustodianArgs, buildRemoveCustodianArgs, buildAddTrusteeArgs, buildRemoveTrusteeArgs, buildChangeCustodyModeArgs, buildChangeValueCeilingArgs, buildSetRecoveryApprovalsArgs, buildApplySystemUpdateArgs, buildChangeApprovalsRequiredArgs, buildAddPasskeyCredentialArgs, buildRemovePasskeyCredentialArgs, buildRotateAllCustodiansArgs, buildRecoverAccountArgs, buildRotateCredentialArgs, } from './actions.js';
11
+ export { CustodyAction, buildAddCustodianArgs, buildRemoveCustodianArgs, buildAddTrusteeArgs, buildRemoveTrusteeArgs, buildChangeCustodyModeArgs, buildChangeValueCeilingArgs, buildSetRecoveryApprovalsArgs, buildApplySystemUpdateArgs, buildChangeApprovalsRequiredArgs, buildAddPasskeyCredentialArgs, buildRemovePasskeyCredentialArgs, buildRotateAllCustodiansArgs, buildRecoverAccountArgs, buildRotateCredentialArgs,
12
+ // Spec 445 / contracts generation 4 — actions 17–20, their tiers, the pause-exempt set
13
+ buildInstallModuleArgs, buildUninstallModuleArgs, buildLowerSpendCeilingArgs, buildSetSpendCeilingArgs, custodyActionTier, PAUSE_EXEMPT_CUSTODY_ACTIONS, isPauseExemptCustodyAction, } from './actions.js';
12
14
  export { CUSTODY_DOMAIN_NAME, CUSTODY_DOMAIN_VERSION, custodyDomain, ScheduleCustodyChangeRequest, ApplyCustodyChangeRequest, CancelScheduledChangeRequest, } from './eip712.js';
13
15
  export { CUSTODY_MODE_BY_INDEX, } from './types.js';
14
16
  export { packQuorumSigs, encodePasskeyTailBody, passkeyIdentity, SELF_PASSKEY_TRUSTEE, } from './quorum-slots.js';
15
17
  // Spec 422 §4 — the governance calls a Home makes for a person: install the policy post-deploy (naming trustees),
16
18
  // schedule / apply / cancel a change, and the digests a quorum signs.
17
- export { MODULE_TYPE_EXECUTOR, TIER, HOME_HYBRID_DEFAULTS, majorityOf, buildCustodyPolicyInstallData, installCustodyPolicyCall, scheduleCustodyChangeCall, applyCustodyChangeCall, cancelScheduledChangeCall, scheduleCustodyChangeDigest, applyCustodyChangeDigest, cancelScheduledChangeDigest, delayWords, } from './governance.js';
19
+ export { MODULE_TYPE_EXECUTOR, TIER, HOME_HYBRID_DEFAULTS, majorityOf,
20
+ // REM-4 (spec 445) — per-mode defaults by the factory's rule; the resolved policy in plain values
21
+ CUSTODY_DELAY_FLOORS, defaultApprovals, custodyApprovalDefaults, resolveCustodyPolicyInstall, buildCustodyPolicyInstallData, installCustodyPolicyCall, scheduleCustodyChangeCall, applyCustodyChangeCall, cancelScheduledChangeCall, scheduleCustodyChangeDigest, applyCustodyChangeDigest, cancelScheduledChangeDigest, delayWords, } from './governance.js';
18
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,kFAAkF;AAClF,6DAA6D;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB,GAE1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,GAI7B,MAAM,aAAa,CAAC;AAErB,OAAO,EAOL,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAOL,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,kHAAkH;AAClH,sEAAsE;AACtE,OAAO,EAIL,oBAAoB,EACpB,IAAI,EACJ,oBAAoB,EACpB,UAAU,EACV,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,UAAU,GACX,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AACpE,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,kFAAkF;AAClF,6DAA6D;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,gCAAgC,EAChC,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,uBAAuB,EACvB,yBAAyB;AACzB,uFAAuF;AACvF,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,4BAA4B,EAC5B,0BAA0B,GAG3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,aAAa,EACb,4BAA4B,EAC5B,yBAAyB,EACzB,4BAA4B,GAI7B,MAAM,aAAa,CAAC;AAErB,OAAO,EAOL,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAOL,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAE3B,kHAAkH;AAClH,sEAAsE;AACtE,OAAO,EAKL,oBAAoB,EACpB,IAAI,EACJ,oBAAoB,EACpB,UAAU;AACV,kGAAkG;AAClG,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,UAAU,GACX,MAAM,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/account-custody",
3
- "version": "1.0.0-alpha.46",
3
+ "version": "1.0.0-alpha.48",
4
4
  "description": "Custody-layer SDK: CustodyPolicy ABI, CustodyAction enum + arg builders, EIP-712 typed-data helpers, and Custodian/Trustee/CustodyCouncil types. Speaks custody-domain vocabulary only — no delegation / steward / caveat concepts (those belong in @agenticprimitives/delegation).",
5
5
  "homepage": "https://agenticprimitives.dev",
6
6
  "bugs": {
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "peerDependencies": {
38
38
  "viem": "^2.52.2",
39
- "@agenticprimitives/types": "^1.0.0-alpha.46"
39
+ "@agenticprimitives/types": "^1.0.0-alpha.48"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^22.7.0",
@@ -58,6 +58,7 @@
58
58
  "build": "tsc -p tsconfig.build.json",
59
59
  "typecheck": "tsc -p tsconfig.json --noEmit",
60
60
  "test": "vitest run",
61
+ "test:unit": "vitest run",
61
62
  "test:watch": "vitest",
62
63
  "clean": "rm -rf dist"
63
64
  }