Centrally computed NatSpec values

Canonical function selectors and interface IDs used in Crane NatSpec (@custom:selector, @custom:interfaceid, @custom:signature). Agents and docs must use these values instead of inventing hex strings.

Source of truth for many symbols: interfaces under contracts/interfaces/ and implementations such as contracts/factories/diamondPkg/DFPkgBase.sol and CREATE3 factory interfaces.

IDiamondFactoryPackage / DFPkg

SymbolSignatureSelector
packageNamepackageName()0xabc8b346
facetInterfacesfacetInterfaces()0x2ea80826
facetAddressesfacetAddresses()0x52ef6b2c
packageMetadatapackageMetadata()0xf45469e7
facetCutsfacetCuts()0xa4b3ad35
diamondConfigdiamondConfig()0x65d375b3
calcSaltcalcSalt(bytes)0xd82be56e
processArgsprocessArgs(bytes)0x87c3adb3
updatePkgupdatePkg(address,bytes)0xa9089235
initAccountinitAccount(bytes)0x870d4838
postDeploypostDeploy(address)0x70068fcf

IDiamondPackageCallBackFactory

ItemValue
Interface ID0x949da331
Example deploy selector0xe97fac05

Confirm against IDiamondPackageCallBackFactory in contracts/interfaces/ when adding new symbols.

IFacet (common metadata surface)

SymbolSelector (typical)
Facet metadata helpers0x5b6f4d01, 0x2ea80826, 0x574a4cff, 0xf10d7a75

See Create3FactoryFacet / IFacet for the authoritative list.

ICreate3Factory (sample)

SymbolSignatureSelector
(see interface)ICreate3Factory0x0fe96d13, 0x1cdca5df, 0xa7b62a7f, 0x1f7fe4db

Policy

  1. Prefer values computed from source (cast sig "fn()" or NatSpec already on interfaces).
  2. Do not invent interface IDs; XOR of declared selectors when documenting a new interface.
  3. Historical copies under the external crane-archive repo are not the public SoT.