Browse Source

delete the txOpTime in transactionContent.java, now use it in the ContractEventSendOpTemplate, only for contract related;

tags/1.0.0
zhaoguangwei 6 years ago
parent
commit
3d78edd155
6 changed files with 88 additions and 103 deletions
  1. +36
    -32
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java
  2. +0
    -4
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java
  3. +0
    -8
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java
  4. +52
    -46
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java
  5. +0
    -1
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java
  6. +0
    -12
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java

+ 36
- 32
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/ContractEventSendOperation.java View File

@@ -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();
}

+ 0
- 4
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContent.java View File

@@ -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();

}

+ 0
- 8
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionContentBody.java View File

@@ -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();

}

+ 52
- 46
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/ContractEventSendOpTemplate.java View File

@@ -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;
}
}

+ 0
- 1
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxBuilder.java View File

@@ -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);


+ 0
- 12
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/data/TxContentBlob.java View File

@@ -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<Operation> operations) {
operationList.addAll(operations);
}

@Override
public Long getTxOpTime() {
return txOpTime;
}

public void setTxOpTime(Long txOpTime) {
this.txOpTime = txOpTime;
}
}

Loading…
Cancel
Save