All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jd.blockchain.ledger.TransactionState Maven / Gradle / Ivy

There is a newer version: 1.6.5.RELEASE
Show newest version
package com.jd.blockchain.ledger;

import com.jd.binaryproto.EnumContract;
import com.jd.binaryproto.EnumField;
import com.jd.binaryproto.PrimitiveType;
import com.jd.blockchain.consts.DataCodes;

/**
 * 交易(事务)执行状态;
 *
 * @author huanghaiquan
 *
 */
@EnumContract(code = DataCodes.TRANSACTION_EXEC_STATE)
public enum TransactionState {

	/**
	 * 成功;
	 */
	SUCCESS((byte) 0),

	/**
	 * 账本的未知错误;
	 */
	LEDGER_ERROR((byte) 0x01),

	/**
	 * 数据账户不存在;
	 */
	DATA_ACCOUNT_DOES_NOT_EXIST((byte) 0x02),

	/**x
	 * 用户不存在;
	 */
	USER_DOES_NOT_EXIST((byte) 0x03),

	/**
	 * 合约不存在;
	 */
	CONTRACT_DOES_NOT_EXIST((byte) 0x04),

	/**
	 * 数据写入时版本冲突;
	 */
	DATA_VERSION_CONFLICT((byte) 0x05),

	/**
	 * 参与方不存在;
	 */
	PARTICIPANT_DOES_NOT_EXIST((byte) 0x06),

	/**
	 * 事件账户不存在;
	 */
	EVENT_ACCOUNT_DOES_NOT_EXIST((byte) 0x07),

	/**
	 * 合约部署时版本冲突;
	 */
	CONTRACT_VERSION_CONFLICT((byte) 0x08),

	/**
	 * 账户状态错误;
	 */
	ILLEGAL_ACCOUNT_STATE((byte) 0x09),

	/**
	 * 合约执行错误;
	 */
	CONTRACT_EXECUTE_ERROR((byte) 0x10),

	/**
	 * 被安全策略拒绝;
	 */
	REJECTED_BY_SECURITY_POLICY((byte) 0x11),

	/**
	 * 账户注册冲突;
	 */
	ACCOUNT_REGISTER_CONFLICT((byte) 0x12),

	/**
	 * 角色不存在
	 */
	ROLE_DOES_NOT_EXIST((byte) 0x13),

	/**
	 * 不支持的HASH算法
	 * */
	UNSUPPORTED_HASH_ALGORITHM((byte)0x14),

	/**
	 * 合约方法不存在;
	 */
	CONTRACT_METHOD_NOT_FOUND((byte) 0x15),

	/**
	 * 合约参数错误;
	 */
	CONTRACT_PARAMETER_ERROR((byte) 0x16),

	/**
	 * 由于在错误的账本上执行交易而被忽略;
	 */
	IGNORED_BY_WRONG_LEDGER((byte) 0x40),

	/**
	 * 由于交易内容的验签失败而忽略;
	 */
	IGNORED_BY_ILLEGAL_CONTENT_SIGNATURE((byte) 0x41),
	
	/**
	 * 由于交易内容哈希不一致而忽略;
	 */
	IGNORED_BY_INCONSISTENT_CONTENT_HASH((byte) 0x42),

	/**
	 * 由于交易的整体回滚而丢弃;
	 * 

* * 注: “整体回滚”是指把交易引入的数据更改以及交易记录本身全部都回滚;
* “部分回滚”是指把交易引入的数据更改回滚了,但是交易记录本身以及相应的“交易结果({@link TransactionState})”都会提交;
*/ IGNORED_BY_TX_FULL_ROLLBACK((byte) 0x43), /** * 由于区块的整体回滚而丢弃; *

* * 注: “整体回滚”是指把交易引入的数据更改以及交易记录本身全部都回滚;
* * “部分回滚”是指把交易引入的数据更改回滚了,但是交易记录本身以及相应的“交易结果({@link TransactionState})”都会提交;
*/ IGNORED_BY_BLOCK_FULL_ROLLBACK((byte) 0x44), /** * 系统错误; */ SYSTEM_ERROR((byte) 0x80), /** * 超时; */ TIMEOUT((byte) 0x81), /** * 共识错误; */ CONSENSUS_ERROR((byte) 0x82), /** * 未收到共识网络响应的错误 */ CONSENSUS_NO_REPLY_ERROR((byte) 0x83), /** * 创建共识的代理客户端错误 */ CONSENSUS_PROXY_CLIENT_ERROR((byte) 0x84), /** * 空区块错误; */ EMPTY_BLOCK_ERROR((byte) 0x85), /** * 共识时间戳错误 * */ CONSENSUS_TIMESTAMP_ERROR((byte) 0x86), // ------------------------------ 以下是参数校验相关错误码 ----------------- /** * 账本参数丢失 * */ LEDGER_HASH_EMPTY((byte) 0xd0), /** * 不合法的合约包 * */ ILLEGAL_CONTRACT_CAR((byte) 0xd1), /** * 不合法的节点签名 * */ ILLEGAL_NODE_SIGNATURE((byte) 0xd2), /** * 没有终端签名 * */ NO_ENDPOINT_SIGNATURE((byte) 0xd3), /** * 终端签名验证不通过 * */ INVALID_ENDPOINT_SIGNATURE((byte) 0xd4); @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!"); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy