public Program(byte[] ops, ProgramInvoke invokeData) { if (ops == null) ops = ByteUtil.EMPTY_BYTE_ARRAY; this.ops = ops; if (invokeData != null) { this.invokeData = invokeData; this.programAddress = invokeData.getOwnerAddress(); this.invokeHash = invokeData.hashCode(); this.result.setRepository(invokeData.getRepository()); } }