CIP-0068 | Support multi-asset metadata a la CIP-0025 (#1112)
* CIP-0068 | Support multi-asset metadata a la CIP-0025 (#1112)
Add version 4 metadata support with 721-ERC-style mappings to NFT (222),
FT (333) and RFT (444) standards, ensuring consistency across
all asset classes.
Changes:
- Add metadata_field union type supporting both direct and 721-map formats
- Add __RESERVE_KEYWORD_721_V4__ marker for 721-style detection
- Update retrieval steps to handle both metadata formats
- Support version 4 in FT standard
- Support version 3/4 in RFT standard
- Add 721-style JSON example for NFT standard
- Update pattern descriptions with asset_name terminology
- Fix URI support to include [* bounded_bytes] for RFT
* CIP-0068 | Address review feedback on v4 metadata format
Fix terminology and CDDL syntax issues identified in review:
- Remove "721-ERC-style" terminology; clarify reference to CIP-0025's
nested map structure vs individual metadata fields
- Fix CDDL syntax: use proper bounded_bytes for "721", policy_id, and
asset_name keys (matching CIP-0025 version 2 conventions)
- Remove __RESERVE_KEYWORD_721_V4__ marker; presence of "721" key is
sufficient for format detection
- Update retrieval steps to detect format by checking for "721" key
- Clarify "backwards-compatible" in changelog: version 4 adds nested
map format as additional option, compatible with v1-3 direct format
- Rename "721-style" example label to "nested map format"
- Propagate all fixes consistently across 222, 333, and 444 standards
* CIP-0068 | Add rationale for version 4 nested map format
Add comprehensive rationale explaining the motivation for introducing
the CIP-0025-compatible nested map format in version 4:
- Addresses minUTxO cost barriers for large NFT collections
- Enables metadata consolidation to reduce ADA locking (10-20% savings)
- Improves migration path from CIP-0025 to CIP-0068
- Preserves backward compatibility through strict optionality
This rationale explains the economic and practical benefits that led
to the version 4 design decision.