Skip to content

Commit 4681940

Browse files
author
Mateusz Czeladka
committed
feat: token registry integration into Rosetta API part 13.
1 parent e45595f commit 4681940

File tree

1 file changed

+4
-43
lines changed

1 file changed

+4
-43
lines changed

api/src/main/java/org/cardanofoundation/rosetta/client/CachingTokenRegistryHttpGatewayImpl.java

Lines changed: 4 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -116,19 +116,10 @@ public Map<String, Optional<TokenSubject>> getTokenMetadataBatch(@NonNull Set<St
116116

117117
if (batchResponse.getSubjects() != null) {
118118
for (TokenSubject tokenSubject : batchResponse.getSubjects()) {
119-
// Validate that essential metadata exists
120-
if (isValidTokenSubject(tokenSubject)) {
121-
result.put(tokenSubject.getSubject(), Optional.of(tokenSubject));
122-
123-
// Cache the valid result
124-
tokenMetadataCache.put(tokenSubject.getSubject(), TokenCacheEntry.found(tokenSubject));
125-
126-
log.debug("Cached valid token metadata for subject: {}", tokenSubject.getSubject());
127-
} else {
128-
// Token exists in registry but lacks essential metadata - treat as not found
129-
result.put(tokenSubject.getSubject(), Optional.empty());
130-
tokenMetadataCache.put(tokenSubject.getSubject(), TokenCacheEntry.notFound());
131-
}
119+
// If subject is in response, cache it as found
120+
result.put(tokenSubject.getSubject(), Optional.of(tokenSubject));
121+
tokenMetadataCache.put(tokenSubject.getSubject(), TokenCacheEntry.found(tokenSubject));
122+
log.debug("Cached token metadata for subject: {}", tokenSubject.getSubject());
132123
}
133124
}
134125

@@ -192,35 +183,5 @@ List<String> buildPropertiesList() {
192183
return properties;
193184
}
194185

195-
/**
196-
* Validates that a TokenSubject has the essential metadata required.
197-
* Tokens without name and description are considered invalid and should be treated as not found.
198-
*
199-
* @param tokenSubject The token subject to validate
200-
* @return true if the token has valid essential metadata, false otherwise
201-
*/
202-
// THIS IS A WORKAROUND for https://github.com/cardano-foundation/cf-token-metadata-registry/issues/30
203-
private boolean isValidTokenSubject(TokenSubject tokenSubject) {
204-
if (tokenSubject == null || tokenSubject.getSubject() == null) {
205-
return false;
206-
}
207-
208-
TokenMetadata metadata = tokenSubject.getMetadata();
209-
if (metadata == null) {
210-
return false;
211-
}
212-
213-
// Name and description are essential fields - if they're null, the token data is incomplete
214-
if (metadata.getName() == null || metadata.getDescription() == null) {
215-
return false;
216-
}
217-
218-
// Further check that the actual values exist
219-
if (metadata.getName().getValue() == null || metadata.getDescription().getValue() == null) {
220-
return false;
221-
}
222-
223-
return true;
224-
}
225186

226187
}

0 commit comments

Comments
 (0)