You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs(adr-003): drop the stale capability renewal wording in capability delegation #2373
ADR 003 § Capability delegation describes capability expiry two ways that don't agree. Both lines are on main (cdd1db5e).
Line 49 suggests the owner can renew a capability:
The expiry retires the key when the owner does not renew it.
Line 51 says renewal does not exist. Capability registration is write-once per (poolId, signer):
The first capability that lands on-chain for a signer fixes its cap and expiry. The contract ignores every later capability for that signer. The protocol has no capability renewal. To change the terms, the owner authorizes a new signer key.
The write-once rule is the current design. The pool-solvency read-fault and clamp bullets depend on it, and the SignerCapExhausted / CapabilityExpired recovery text says each recovery names a new signer key. Line 49 is left over from an earlier version.
Fix
Reword line 49 so it no longer implies renewal. For example:
The expiry retires the key; to extend or change its terms, the owner authorizes a new signer key.
Also check line 546 (a short-TTL \expiry` plus non-renewal retires the key`). It is consistent in meaning, but it could point to § Capability delegation so the write-once rule has one home.
Context
Found while resyncing docs.decdn.org with the ADRs in decdn/website#271. The docs follow the write-once rule.
Activity
docs(adr-003): tighten capability write-once wording from review (#2373)
docs(adr-003): drop the stale capability renewal wording (#2374)