@@ -10,21 +10,39 @@ import com.jd.blockchain.utils.Bytes; | |||||
* @author huanghaiquan | * @author huanghaiquan | ||||
* | * | ||||
*/ | */ | ||||
@DataContract(code= DataCodes.TX_OP_CONTRACT_EVENT_SEND) | |||||
@DataContract(code = DataCodes.TX_OP_CONTRACT_EVENT_SEND) | |||||
public interface ContractEventSendOperation extends Operation { | public interface ContractEventSendOperation extends Operation { | ||||
@DataField(order=2, primitiveType=PrimitiveType.BYTES) | |||||
/** | |||||
* 响应事件的合约地址; | |||||
* | |||||
* @return | |||||
*/ | |||||
@DataField(order = 2, primitiveType = PrimitiveType.BYTES) | |||||
Bytes getContractAddress(); | Bytes getContractAddress(); | ||||
@DataField(order=3, primitiveType=PrimitiveType.TEXT) | |||||
/** | |||||
* 事件名; | |||||
* | |||||
* @return | |||||
*/ | |||||
@DataField(order = 3, primitiveType = PrimitiveType.TEXT) | |||||
String getEvent(); | String getEvent(); | ||||
@DataField(order=4, primitiveType=PrimitiveType.BYTES) | |||||
/** | |||||
* 事件参数; | |||||
* | |||||
* @return | |||||
*/ | |||||
@DataField(order = 4, primitiveType = PrimitiveType.BYTES) | |||||
byte[] getArgs(); | byte[] getArgs(); | ||||
//获得交易操作时间; | |||||
@DataField(order=5, primitiveType=PrimitiveType.INT64) | |||||
Long getTxOpTime(); | |||||
/** | |||||
* 时间戳; | |||||
* | |||||
* @return | |||||
*/ | |||||
@DataField(order = 5, primitiveType = PrimitiveType.INT64) | |||||
long getTs(); | |||||
} | } |
@@ -12,8 +12,8 @@ public class ContractEventSendOpTemplate implements ContractEventSendOperation { | |||||
private Bytes contractAddress; | private Bytes contractAddress; | ||||
private byte[] args; | private byte[] args; | ||||
private String event; | private String event; | ||||
//交易操作时间; | |||||
private Long txOpTime; | |||||
private long ts; | |||||
public ContractEventSendOpTemplate() { | public ContractEventSendOpTemplate() { | ||||
} | } | ||||
@@ -22,7 +22,6 @@ public class ContractEventSendOpTemplate implements ContractEventSendOperation { | |||||
this.contractAddress = contractAddress; | this.contractAddress = contractAddress; | ||||
this.event = event; | this.event = event; | ||||
this.args = args; | this.args = args; | ||||
this.txOpTime = System.currentTimeMillis(); | |||||
} | } | ||||
@Override | @Override | ||||
@@ -41,7 +40,11 @@ public class ContractEventSendOpTemplate implements ContractEventSendOperation { | |||||
} | } | ||||
@Override | @Override | ||||
public Long getTxOpTime() { | |||||
return txOpTime; | |||||
public long getTs() { | |||||
return ts; | |||||
} | |||||
public void setTs(long ts) { | |||||
this.ts = ts; | |||||
} | } | ||||
} | } |
@@ -4,18 +4,19 @@ import com.jd.blockchain.ledger.ContractEventSendOperation; | |||||
import com.jd.blockchain.utils.Bytes; | import com.jd.blockchain.utils.Bytes; | ||||
@Deprecated | @Deprecated | ||||
class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder{ | |||||
class ContractEventSendOperationBuilderImpl implements ContractEventSendOperationBuilder { | |||||
@Override | @Override | ||||
public ContractEventSendOperation send(String address, String event, byte[] args) { | public ContractEventSendOperation send(String address, String event, byte[] args) { | ||||
ContractEventSendOpTemplate op = new ContractEventSendOpTemplate(Bytes.fromBase58(address), event, args); | ContractEventSendOpTemplate op = new ContractEventSendOpTemplate(Bytes.fromBase58(address), event, args); | ||||
op.setTs(System.currentTimeMillis()); | |||||
return op; | return op; | ||||
} | } | ||||
@Override | @Override | ||||
public ContractEventSendOperation send(Bytes address, String event, byte[] args) { | public ContractEventSendOperation send(Bytes address, String event, byte[] args) { | ||||
ContractEventSendOpTemplate op = new ContractEventSendOpTemplate(address, event, args); | ContractEventSendOpTemplate op = new ContractEventSendOpTemplate(address, event, args); | ||||
op.setTs(System.currentTimeMillis()); | |||||
return op; | return op; | ||||
} | } | ||||