Browse Source

modify transaction state, PARTICIPANT_DOES_NOT_EXIST -> 06

tags/1.1.1-PACK20191209^2
zhaoguangwei 4 years ago
parent
commit
0b12e8f424
1 changed files with 129 additions and 129 deletions
  1. +129
    -129
      source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java

+ 129
- 129
source/ledger/ledger-model/src/main/java/com/jd/blockchain/ledger/TransactionState.java View File

@@ -1,129 +1,129 @@
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumContract;
import com.jd.blockchain.binaryproto.EnumField;
import com.jd.blockchain.consts.DataCodes;
/**
* 交易(事务)执行状态;
*
* @author huanghaiquan
*
*/
@EnumContract(code = DataCodes.ENUM_TYPE_TRANSACTION_STATE)
public enum TransactionState {
/**
* 成功;
*/
SUCCESS((byte) 0),
/**
* 账本错误;
*/
LEDGER_ERROR((byte) 0x01),
/**
* 数据账户不存在;
*/
DATA_ACCOUNT_DOES_NOT_EXIST((byte) 0x02),
/**
* 用户不存在;
*/
USER_DOES_NOT_EXIST((byte) 0x03),
/**
* 合约不存在;
*/
CONTRACT_DOES_NOT_EXIST((byte) 0x04),
/**
* 数据写入时版本冲突;
*/
DATA_VERSION_CONFLICT((byte) 0x05),
/**
* 参与方不存在;
*/
PARTICIPANT_DOES_NOT_EXIST((byte) 0x05),
/**
* 被安全策略拒绝;
*/
REJECTED_BY_SECURITY_POLICY((byte) 0x10),
/**
* 由于在错误的账本上执行交易而被丢弃;
*/
IGNORED_BY_WRONG_LEDGER((byte) 0x40),
/**
* 由于交易内容的验签失败而丢弃;
*/
IGNORED_BY_WRONG_CONTENT_SIGNATURE((byte) 0x41),
/**
* 由于交易内容的验签失败而丢弃;
*/
IGNORED_BY_CONFLICTING_STATE((byte) 0x42),
/**
* 由于交易的整体回滚而丢弃;
* <p>
*
* 注: “整体回滚”是指把交易引入的数据更改以及交易记录本身全部都回滚;<br>
* “部分回滚”是指把交易引入的数据更改回滚了,但是交易记录本身以及相应的“交易结果({@link TransactionState})”都会提交;<br>
*/
IGNORED_BY_TX_FULL_ROLLBACK((byte) 0x43),
/**
* 由于区块的整体回滚而丢弃;
* <p>
*
* 注: “整体回滚”是指把交易引入的数据更改以及交易记录本身全部都回滚;<br>
*
* “部分回滚”是指把交易引入的数据更改回滚了,但是交易记录本身以及相应的“交易结果({@link TransactionState})”都会提交;<br>
*/
IGNORED_BY_BLOCK_FULL_ROLLBACK((byte) 0x44),
/**
*
* 共识阶段加入新区块哈希预计算功能, 如果来自其他Peer的新区块哈希值不一致,本批次整体回滚
*
*/
IGNORED_BY_CONSENSUS_PHASE_PRECOMPUTE_ROLLBACK((byte) 0x45),
/**
* 系统错误;
*/
SYSTEM_ERROR((byte) 0x80),
/**
* 超时;
*/
TIMEOUT((byte) 0x81),
/**
* 共识错误;
*/
CONSENSUS_ERROR((byte) 0x82);
@EnumField(type = PrimitiveType.INT8)
public final byte CODE;
private TransactionState(byte code) {
this.CODE = code;
}
public static TransactionState valueOf(byte code) {
for (TransactionState tr : values()) {
if (tr.CODE == code) {
return tr;
}
}
throw new IllegalArgumentException("Unsupported transaction result code!");
}
}
package com.jd.blockchain.ledger;
import com.jd.blockchain.binaryproto.PrimitiveType;
import com.jd.blockchain.binaryproto.EnumContract;
import com.jd.blockchain.binaryproto.EnumField;
import com.jd.blockchain.consts.DataCodes;
/**
* 交易(事务)执行状态;
*
* @author huanghaiquan
*
*/
@EnumContract(code = DataCodes.ENUM_TYPE_TRANSACTION_STATE)
public enum TransactionState {
/**
* 成功;
*/
SUCCESS((byte) 0),
/**
* 账本错误;
*/
LEDGER_ERROR((byte) 0x01),
/**
* 数据账户不存在;
*/
DATA_ACCOUNT_DOES_NOT_EXIST((byte) 0x02),
/**
* 用户不存在;
*/
USER_DOES_NOT_EXIST((byte) 0x03),
/**
* 合约不存在;
*/
CONTRACT_DOES_NOT_EXIST((byte) 0x04),
/**
* 数据写入时版本冲突;
*/
DATA_VERSION_CONFLICT((byte) 0x05),
/**
* 参与方不存在;
*/
PARTICIPANT_DOES_NOT_EXIST((byte) 0x06),
/**
* 被安全策略拒绝;
*/
REJECTED_BY_SECURITY_POLICY((byte) 0x10),
/**
* 由于在错误的账本上执行交易而被丢弃;
*/
IGNORED_BY_WRONG_LEDGER((byte) 0x40),
/**
* 由于交易内容的验签失败而丢弃;
*/
IGNORED_BY_WRONG_CONTENT_SIGNATURE((byte) 0x41),
/**
* 由于交易内容的验签失败而丢弃;
*/
IGNORED_BY_CONFLICTING_STATE((byte) 0x42),
/**
* 由于交易的整体回滚而丢弃;
* <p>
*
* 注: “整体回滚”是指把交易引入的数据更改以及交易记录本身全部都回滚;<br>
* “部分回滚”是指把交易引入的数据更改回滚了,但是交易记录本身以及相应的“交易结果({@link TransactionState})”都会提交;<br>
*/
IGNORED_BY_TX_FULL_ROLLBACK((byte) 0x43),
/**
* 由于区块的整体回滚而丢弃;
* <p>
*
* 注: “整体回滚”是指把交易引入的数据更改以及交易记录本身全部都回滚;<br>
*
* “部分回滚”是指把交易引入的数据更改回滚了,但是交易记录本身以及相应的“交易结果({@link TransactionState})”都会提交;<br>
*/
IGNORED_BY_BLOCK_FULL_ROLLBACK((byte) 0x44),
/**
*
* 共识阶段加入新区块哈希预计算功能, 如果来自其他Peer的新区块哈希值不一致,本批次整体回滚
*
*/
IGNORED_BY_CONSENSUS_PHASE_PRECOMPUTE_ROLLBACK((byte) 0x45),
/**
* 系统错误;
*/
SYSTEM_ERROR((byte) 0x80),
/**
* 超时;
*/
TIMEOUT((byte) 0x81),
/**
* 共识错误;
*/
CONSENSUS_ERROR((byte) 0x82);
@EnumField(type = PrimitiveType.INT8)
public final byte CODE;
private TransactionState(byte code) {
this.CODE = code;
}
public static TransactionState valueOf(byte code) {
for (TransactionState tr : values()) {
if (tr.CODE == code) {
return tr;
}
}
throw new IllegalArgumentException("Unsupported transaction result code!");
}
}

Loading…
Cancel
Save