From 3d78edd1558413e452d99a1e28e94dcce9116640 Mon Sep 17 00:00:00 2001 From: zhaoguangwei Date: Thu, 9 May 2019 15:32:54 +0800 Subject: [PATCH] delete the txOpTime in transactionContent.java, now use it in the ContractEventSendOpTemplate, only for contract related; --- .../ledger/ContractEventSendOperation.java | 68 +++++++------ .../blockchain/ledger/TransactionContent.java | 4 - .../ledger/TransactionContentBody.java | 8 -- .../data/ContractEventSendOpTemplate.java | 98 ++++++++++--------- .../jd/blockchain/ledger/data/TxBuilder.java | 1 - .../blockchain/ledger/data/TxContentBlob.java | 12 --- 6 files changed, 88 insertions(+), 103 deletions(-) diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java index dce287b8..a04c451f 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java @@ -1,32 +1,36 @@ -package com.jd.blockchain.ledger; - -import com.jd.blockchain.base.data.TypeCodes; -import com.jd.blockchain.binaryproto.DataContract; -import com.jd.blockchain.binaryproto.DataField; -import com.jd.blockchain.utils.Bytes; -import com.jd.blockchain.utils.ValueType; - -/** - * @author huanghaiquan - * - */ -@DataContract(code= TypeCodes.TX_OP_CONTRACT_EVENT_SEND) -public interface ContractEventSendOperation extends Operation { - -// @DataField(order=1, refEnum=true) -// @Override -// default OperationType getType() { -// return OperationType.SEND_CONTRACT_EVENT; -// } - - @DataField(order=2, primitiveType=ValueType.BYTES) - Bytes getContractAddress(); - - @DataField(order=3, primitiveType=ValueType.TEXT) - String getEvent(); - - - @DataField(order=4, primitiveType=ValueType.BYTES) - byte[] getArgs(); - -} +package com.jd.blockchain.ledger; + +import com.jd.blockchain.base.data.TypeCodes; +import com.jd.blockchain.binaryproto.DataContract; +import com.jd.blockchain.binaryproto.DataField; +import com.jd.blockchain.utils.Bytes; +import com.jd.blockchain.utils.ValueType; + +/** + * @author huanghaiquan + * + */ +@DataContract(code= TypeCodes.TX_OP_CONTRACT_EVENT_SEND) +public interface ContractEventSendOperation extends Operation { + +// @DataField(order=1, refEnum=true) +// @Override +// default OperationType getType() { +// return OperationType.SEND_CONTRACT_EVENT; +// } + + @DataField(order=2, primitiveType=ValueType.BYTES) + Bytes getContractAddress(); + + @DataField(order=3, primitiveType=ValueType.TEXT) + String getEvent(); + + + @DataField(order=4, primitiveType=ValueType.BYTES) + byte[] getArgs(); + + //获得交易操作时间; + @DataField(order=5, primitiveType=ValueType.INT64) + Long getTxOpTime(); + +} diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java index a081738f..59f6aa6f 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java @@ -18,8 +18,4 @@ public interface TransactionContent extends TransactionContentBody, HashObject { @DataField(order=1, primitiveType = ValueType.BYTES) HashDigest getHash(); - //获得交易操作时间; - @DataField(order=2, primitiveType = ValueType.INT64) - Long getTxOpTime(); - } diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java index 82aaf23f..2f1abc3b 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java @@ -33,12 +33,4 @@ public interface TransactionContentBody { @DataField(order = 2, list = true, refContract = true, genericContract = true) Operation[] getOperations(); - /** - * 交易操作时间 - * - * @return - */ - @DataField(order = 3, primitiveType = ValueType.INT64) - Long getTxOpTime(); - } diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java index d7d06d85..2751c60b 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java @@ -1,46 +1,52 @@ -package com.jd.blockchain.ledger.data; - -import com.jd.blockchain.binaryproto.DConstructor; -import com.jd.blockchain.binaryproto.DataContractRegistry; -import com.jd.blockchain.binaryproto.FieldSetter; -import com.jd.blockchain.ledger.ContractEventSendOperation; -import com.jd.blockchain.utils.Bytes; - -public class ContractEventSendOpTemplate implements ContractEventSendOperation { - static { - DataContractRegistry.register(ContractEventSendOperation.class); - } - - private Bytes contractAddress; - private byte[] args; - private String event; - - public ContractEventSendOpTemplate() { - } - - @DConstructor(name="ContractEventSendOpTemplate") - public ContractEventSendOpTemplate(@FieldSetter(name="getContractAddress", type="Bytes") Bytes contractAddress, - @FieldSetter(name="getEvent", type="String") String event, - @FieldSetter(name="getArgs", type="byte[]") byte[] args) { - this.contractAddress = contractAddress; - this.event = event; - this.args = args; - } - - @Override - public Bytes getContractAddress() { - return contractAddress; - } - - @Override - public String getEvent() { - return event; - } - - @Override - public byte[] getArgs() { - return args; - } - - -} +package com.jd.blockchain.ledger.data; + +import com.jd.blockchain.binaryproto.DConstructor; +import com.jd.blockchain.binaryproto.DataContractRegistry; +import com.jd.blockchain.binaryproto.FieldSetter; +import com.jd.blockchain.ledger.ContractEventSendOperation; +import com.jd.blockchain.utils.Bytes; + +public class ContractEventSendOpTemplate implements ContractEventSendOperation { + static { + DataContractRegistry.register(ContractEventSendOperation.class); + } + + private Bytes contractAddress; + private byte[] args; + private String event; + //交易操作时间; + private Long txOpTime; + + public ContractEventSendOpTemplate() { + } + + @DConstructor(name="ContractEventSendOpTemplate") + public ContractEventSendOpTemplate(@FieldSetter(name="getContractAddress", type="Bytes") Bytes contractAddress, + @FieldSetter(name="getEvent", type="String") String event, + @FieldSetter(name="getArgs", type="byte[]") byte[] args) { + this.contractAddress = contractAddress; + this.event = event; + this.args = args; + this.txOpTime = System.currentTimeMillis(); + } + + @Override + public Bytes getContractAddress() { + return contractAddress; + } + + @Override + public String getEvent() { + return event; + } + + @Override + public byte[] getArgs() { + return args; + } + + @Override + public Long getTxOpTime() { + return txOpTime; + } +} diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java index 447feb47..7bba3262 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java @@ -42,7 +42,6 @@ public class TxBuilder implements TransactionBuilder { public TransactionContent prepareContent() { TxContentBlob txContent = new TxContentBlob(ledgerHash); txContent.addOperations(opFactory.getOperations()); - txContent.setTxOpTime(System.currentTimeMillis()); byte[] contentBodyBytes = BinaryEncodingUtils.encode(txContent, TransactionContentBody.class); HashDigest contentHash = CryptoUtils.hash(defaultHashAlgorithm).hash(contentBodyBytes); diff --git a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java index 8ee55cfa..d4f5d925 100644 --- a/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java +++ b/source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java @@ -33,9 +33,6 @@ public class TxContentBlob implements TransactionContent { private HashDigest ledgerHash; - //交易操作时间; - private Long txOpTime; - @DConstructor(name ="TxContentBlob") public TxContentBlob(@FieldSetter(name="getLedgerHash", type="HashDigest") HashDigest ledgerHash) { this.ledgerHash = ledgerHash; @@ -92,13 +89,4 @@ public class TxContentBlob implements TransactionContent { public void addOperations(Collection operations) { operationList.addAll(operations); } - - @Override - public Long getTxOpTime() { - return txOpTime; - } - - public void setTxOpTime(Long txOpTime) { - this.txOpTime = txOpTime; - } }