Skip to content

Commit 8ce78c9

Browse files
authored
fix(verification): handle null contractMetadata without NPE (#118) (#119)
Signed-off-by: Aman <amkr6207@gmail.com>
1 parent f559b93 commit 8ce78c9

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

hiero-enterprise-base/src/main/java/org/hiero/base/verification/ContractVerificationClient.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.hiero.base.verification;
22

33
import com.hedera.hashgraph.sdk.ContractId;
4+
import java.util.HashMap;
45
import java.util.Map;
56
import org.hiero.base.HieroException;
67
import org.jspecify.annotations.NonNull;
@@ -55,10 +56,12 @@ default ContractVerificationState verify(
5556
@NonNull final String contractSource,
5657
final String contractMetadata)
5758
throws HieroException {
58-
return verify(
59-
contractId,
60-
contractName,
61-
Map.of(contractName + ".sol", contractSource, "metadata.json", contractMetadata));
59+
final Map<String, String> files = new HashMap<>();
60+
files.put(contractName + ".sol", contractSource);
61+
if (contractMetadata != null) {
62+
files.put("metadata.json", contractMetadata);
63+
}
64+
return verify(contractId, contractName, files);
6265
}
6366

6467
/**

hiero-enterprise-spring/src/main/java/org/hiero/spring/implementation/ContractVerificationUtility.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.hiero.spring.implementation;
22

33
import com.hedera.hashgraph.sdk.ContractId;
4+
import java.util.HashMap;
45
import java.util.Map;
56
import java.util.Objects;
67
import org.hiero.base.HieroException;
@@ -36,10 +37,12 @@ public ContractVerificationUtility(@NonNull final ContractVerificationClient ver
3637
void doFullVerification(
3738
ContractId contractId, String contractName, String contractSource, String contractMetadata)
3839
throws HieroException {
39-
doFullVerification(
40-
contractId,
41-
contractName,
42-
Map.of(contractName + ".sol", contractSource, "metadata.json", contractMetadata));
40+
final Map<String, String> files = new HashMap<>();
41+
files.put(contractName + ".sol", contractSource);
42+
if (contractMetadata != null) {
43+
files.put("metadata.json", contractMetadata);
44+
}
45+
doFullVerification(contractId, contractName, files);
4346
}
4447

4548
/**

0 commit comments

Comments
 (0)