diff --git a/src/main/java/org/tron/common/runtime/Runtime.java b/src/main/java/org/tron/common/runtime/Runtime.java index ec60b3f560a..7c25b0a7034 100644 --- a/src/main/java/org/tron/common/runtime/Runtime.java +++ b/src/main/java/org/tron/common/runtime/Runtime.java @@ -303,7 +303,10 @@ private void create() CreateSmartContract contract = ContractCapsule.getSmartContractFromTransaction(trx); SmartContract newSmartContract = contract.getNewContract(); - + if (!contract.getOwnerAddress().equals(newSmartContract.getOriginAddress())) { + logger.error("OwnerAddress not equals OriginAddress"); + throw new ContractValidateException("OwnerAddress not equals OriginAddress"); + } byte[] code = newSmartContract.getBytecode().toByteArray(); byte[] contractAddress = Wallet.generateContractAddress(trx); byte[] ownerAddress = contract.getOwnerAddress().toByteArray();