diff --git a/chainbase/src/main/java/org/tron/core/db/TransactionTrace.java b/chainbase/src/main/java/org/tron/core/db/TransactionTrace.java index 84b22adf0d9..c239639f019 100644 --- a/chainbase/src/main/java/org/tron/core/db/TransactionTrace.java +++ b/chainbase/src/main/java/org/tron/core/db/TransactionTrace.java @@ -255,7 +255,7 @@ public void pay() throws BalanceInsufficientException { AccountCapsule origin = accountStore.get(originAccount); AccountCapsule caller = accountStore.get(callerAccount); if (dynamicPropertiesStore.supportUnfreezeDelay() - && receipt.getReceipt().getResult().equals(contractResult.SUCCESS)) { + && getRuntimeResult().getException() == null && !getRuntimeResult().isRevert()) { // just fo caller is not origin, we set the related field for origin account if (origin != null && !caller.getAddress().equals(origin.getAddress())) {