diff --git a/api/src/main/java/org/cardanofoundation/rosetta/api/construction/service/CardanoConstructionServiceImpl.java b/api/src/main/java/org/cardanofoundation/rosetta/api/construction/service/CardanoConstructionServiceImpl.java index 651f394b..f1a18dd0 100644 --- a/api/src/main/java/org/cardanofoundation/rosetta/api/construction/service/CardanoConstructionServiceImpl.java +++ b/api/src/main/java/org/cardanofoundation/rosetta/api/construction/service/CardanoConstructionServiceImpl.java @@ -503,7 +503,8 @@ public String extractTransactionIfNeeded(String txWithExtraData) { byte[] bytes = HexUtil.decodeHexString(txWithExtraData); Array deserialize = (Array) CborSerializationUtil.deserialize(bytes); // Unpack transaction if needed - if (deserialize.getDataItems().size() == 1) { + if (deserialize.getDataItems().size() == 1 && deserialize.getDataItems().getFirst().getMajorType() + .equals(MajorType.ARRAY)) { deserialize = (Array) deserialize.getDataItems().getFirst(); } if (deserialize.getDataItems().isEmpty()) {