v0.5.0
What's Changed
Minor Changes
- Add
toManifestAccess()toERC721OwnerPredicateClientandERC1155OwnerPredicateClientfor programmatic manifest access generation with deterministic OpenSea collection links. Export shared requirement-kind constants (ERC721_KIND,ERC1155_KIND,SUBSCRIPTION_KIND). - Suggest manifest
accessblock when registering with--nft-gate. TheregisterCLI command now detects when a manifest is missing theaccessfield and the user is registering with--nft-gate. It generates the correct access object usingERC721OwnerPredicateClient.toManifestAccess()and prints it as a suggestion. The preview appears in both--dry-runand normal mode. In normal mode the user is prompted to view copy-paste instructions for updating their manifest. - Enforce bidirectional tier consistency checks in manifest validator. The verifiability schema now rejects all 4 invalid tier/field combinations:
hardware-attestedrequiresteeore2eeexecutionhardware-attestedrequires anattestationfieldself-attestedcannot useteeore2eeexecutionself-attestedcannot include anattestationfield
Patch Changes
- access.links values now require valid HTTPS URLs; non-HTTPS values (onchain addresses, http://, ipfs://) are rejected by schema validation.
- Enforce ERC-spec parser caps on
access.requirements: max 256 entries, max 4,096 decoded bytes peraccess[].datafield. - Enforce access label limit as 256 bytes (UTF-8) instead of 256 characters, aligning with the updated ERC spec.
- Enforce lowercase-only hex in manifest schema fields (
access[].kind,access[].data,attestation.enclaveHash,reproducibleBuild.buildHash,creatorAddress) to match the tightened ERC spec. Normalize wallet and onchain addresses to lowercase before comparison inregisterandupdate-metadatacommands.
Full Changelog: v0.4.2...v0.5.0