hiero-ledger / hiero-ledger/hiero-enterprise-java

feat(mirror-node): implement missing NFT metadata and NFT type query support

Open
#149 0 comments 0 reactions 0 assignees View on GitHub
enhancement pending-review
Dominant language
Java
Stars
6
Forks
21
Avg merge
10h 27m
Merged PRs (30d)
37

Description

### Problem

While reviewing the Mirror Node support in `hiero-enterprise-java`, I noticed that some NFT-related query methods are already part of the API surface but are still not implemented.

Examples:

- `getNftMetadata(TokenId tokenId)` in `AbstractMirrorNodeClient`
- `findNftTypesByOwner(AccountId ownerId)` in `MirrorNodeClientImpl`
- `findAllNftTypes()` in `MirrorNodeClientImpl`

At the moment, these methods throw `UnsupportedOperationException`, which makes NFT Mirror Node support incomplete and inconsistent for users of the high-level query APIs.

### Solution

Implement the missing NFT Mirror Node methods by wiring them to the appropriate Mirror Node REST endpoints and existing JSON conversion patterns.

Suggested scope:

- implement `getNftMetadata(TokenId tokenId)`
- implement `findNftTypesByOwner(AccountId ownerId)`
- implement `findAllNftTypes()`
- add/extend converter support if needed
- add tests for the affected Spring and MicroProfile paths

### Alternatives

An alternative would be to leave these methods unimplemented and ask users to query the Mirror Node REST API directly. However, that would break consistency with the rest of the repository’s high-level Mirror Node abstractions and reduce the usefulness of the existing NFT query surface.

Contributor guide

Open the contributing guide

Research direction

Start with getNftMetadata(TokenId tokenId) in AbstractMirrorNodeClient and findNftTypesByOwner(AccountId ownerId) and findAllNftTypes() in MirrorNodeClientImpl; compare their existing JSON conversion patterns and the corresponding Mirror Node REST endpoints. Implement the three methods, extending converter support if needed, and add tests covering the affected Spring and MicroProfile paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.