feat(EVES-003): add EVM/ERC-721 token metadata support#46
Open
feat(EVES-003): add EVM/ERC-721 token metadata support#46
Conversation
6 tasks
d1123e0 to
d2a1941
Compare
8500fe5 to
77920ae
Compare
d1f6a24 to
657316d
Compare
c05aae0 to
6cefbde
Compare
657316d to
28db2d2
Compare
2e217ad to
b50a445
Compare
Extend EVES-003 to support EVM chains alongside the existing Tezos/TZIP-21 token metadata path, enabling minting simulation asset NFTs as ERC-721 tokens on Ethereum-compatible chains such as Etherlink L2, as anticipated by EVES-006 and EVES-007. Spec text (eves-003.md): - Add EVES-007 and EVES-008 to requires frontmatter - Add RFC 2119 boilerplate at top of Specification section - Add [29] RFC 1766 reference for language field - Generalize abstract to reference both TZIP-21 and ERC-721 - Branch Steps 2, 4, and 5 for chain-specific token metadata files - Add EVM contract identifier (Etherlink L2) to Section 5 - Restructure into parent "6. Token Metadata" section with subsections for TZIP-21 (Tezos) and ERC-721 (EVM) - Add ERC-721/OpenSea metadata mapping table with background_color, contributors, and language rows - Add language row to TZIP-21 mapping table (backed by TZIP-21 spec) - Clarify did:ethr as cross-chain organizational identity (EVES-008) - Add ERC-7572 contract-level metadata subsection - Recommend ERC-5192 for soulbound tokens, ERC-4906 for metadata update events - Fix ontology property paths to match current SHACL shapes - Migrate ontology IRIs to w3id.org (envited-x/v3, manifest/v5, hdmap/v6) Schemas: - Fix JSON Schema draft-07 $ref sibling bug (move title into asset definition) in both schemas - Replace "e.g." with "for example" in all schema descriptions - New erc721_token_metadata-schema.json (JSON Schema draft-07) - TZIP-21: add required ["name"], update minter to DID per EVES-008, fix RFC 1776 → RFC 1766 Examples: - New erc721_token_metadata.json with background_color "111827", ontology IRIs as trait_type (lossless mapping) - TZIP-21: update minter to did:ethr per EVES-008, migrate ontology IRIs - Manifest: fix @context to array-style, update gx namespace, fix hasLicense structure per manifest SHACL Closes #35 Signed-off-by: jdsika <carlo.van-driesten@vdl.digital>
b50a445 to
e1f2c88
Compare
…HACL CI - Rewrite envited-x_manifest.json to use compact JSON-LD form with context URLs (envited-x/v3/, manifest/v5/) instead of verbose @value/@type typed literals that fail SHACL validation - Use envited-x:Manifest type with envited-x:* categories and access roles per envited-x:ManifestShape constraints - Add required iri field on hasLicense per LicenseLinkReferenceShape - Add shacl_validation.yml CI workflow using ontology-management-base --remote flag for HTTP-based ontology resolution Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
- Add §1a Asset Lifecycle Overview with three-stage pipeline diagram (Preparation → Packaging → Publication) and example file table - Harmonize input_manifest.json to use same JSON-LD style as envited-x_manifest.json (context URLs, manifest:Link wrappers) - Update inline §1b code snippet to match the actual file - Add cross-references: §1b ↔ §4 Step 1, §4 Step 2 → §6 Token Metadata - Add stage labels to example file references throughout the spec - Note zip version skew (v2/v4 inside zip vs v3/v5 standalone) - Document input_manifest.json CI exclusion (partial Stage 1 format) - Add iri enrichment step to pipeline description Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
- Shorten Stage 2 description to stay within 300-char line limit - Apply prettier formatting to eves-003.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Carlo van Driesten <carlo.van-driesten@bmw.de>
- Add missing 'name' property definition to TZIP-21 schema (was required but undefined, allowing any type) - Fix grammar in ERC-721 schema: 'to which this NFT represents' -> 'that this NFT represents' - Add normative tag-to-attribute mapping table defining canonical trait_type names for the 6 static TZIP-21 tags - Fix wrong reference [21] for hdmap SHACL shapes (was pointing to envited-x ontology); add new [30] for HD-Map Ontology - Normalize EVES-007 references to reference-link style [31] - Add empty 'contributors' array to ERC-721 example for completeness Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends EVES-003 to support EVM chains alongside the existing Tezos/TZIP-21 token metadata path, enabling minting simulation asset NFTs as ERC-721 tokens on Ethereum-compatible chains (for example, Etherlink L2).
background_color,contributors, andlanguagerowscontractURI()contract-level metadata subsection for EVM deploymentsexample/erc721_token_metadata.jsonwith ENVITED-X brandbackground_color(111827)erc721-schemas/erc721_token_metadata-schema.json(JSON Schema draft-07)Key design decisions
did:ethr(anchored on Base per EVES-008) is used as the minter DID for both Tezos and EVM tokens — it identifies the organization, not the minting chaintrait_typeand release URL asvalue(lossless mapping from TZIP-21name/value, no duplicate trait_types)titlemoved insideassetdefinition to avoid draft-07$refsibling keyword bugDepends on
fix/ci-and-lint-cleanupas base branchTest plan
make lintpasses (markdownlint + frontmatter validation)make format-checkpasses (Prettier)erc721_token_metadata.jsonvalidates againsterc721_token_metadata-schema.jsone.g.in any EVES-003 file (spec, schemas, examples)Closes #35