#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BirdsNest {
#[prost(message, optional, tag = "1")]
pub config: ::core::option::Option<BirdsNestConfig>,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(uint32, tag = "3")]
pub current_index: u32,
#[prost(message, repeated, tag = "4")]
pub filters: ::prost::alloc::vec::Vec<CuckooFilter>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShardingBirdsNest {
#[prost(uint32, tag = "1")]
pub length: u32,
#[prost(uint64, tag = "2")]
pub height: u64,
#[prost(message, optional, tag = "3")]
pub config: ::core::option::Option<ShardingBirdsNestConfig>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CuckooFilter {
#[prost(bytes = "vec", tag = "1")]
pub cuckoo: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub extension: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "3")]
pub config: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShardingBirdsNestConfig {
#[prost(string, tag = "1")]
pub chain_id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub length: u32,
#[prost(int64, tag = "3")]
pub timeout: i64,
#[prost(message, optional, tag = "4")]
pub birdsnest: ::core::option::Option<BirdsNestConfig>,
#[prost(message, optional, tag = "5")]
pub snapshot: ::core::option::Option<SnapshotSerializerConfig>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BirdsNestConfig {
#[prost(string, tag = "1")]
pub chain_id: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub length: u32,
#[prost(message, optional, tag = "3")]
pub rules: ::core::option::Option<RulesConfig>,
#[prost(message, optional, tag = "4")]
pub cuckoo: ::core::option::Option<CuckooConfig>,
#[prost(message, optional, tag = "5")]
pub snapshot: ::core::option::Option<SnapshotSerializerConfig>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RulesConfig {
#[prost(int64, tag = "1")]
pub absolute_expire_time: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CuckooConfig {
#[prost(enumeration = "KeyType", tag = "1")]
pub key_type: i32,
#[prost(uint32, tag = "2")]
pub tags_per_bucket: u32,
#[prost(uint32, tag = "3")]
pub bits_per_item: u32,
#[prost(uint32, tag = "4")]
pub max_num_keys: u32,
#[prost(uint32, tag = "5")]
pub table_type: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapshotSerializerConfig {
#[prost(enumeration = "SerializeIntervalType", tag = "1")]
pub r#type: i32,
#[prost(message, optional, tag = "2")]
pub timed: ::core::option::Option<TimedSerializeIntervalConfig>,
#[prost(message, optional, tag = "3")]
pub block_height: ::core::option::Option<BlockHeightSerializeIntervalConfig>,
#[prost(string, tag = "4")]
pub path: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimedSerializeIntervalConfig {
#[prost(int64, tag = "1")]
pub interval: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlockHeightSerializeIntervalConfig {
#[prost(uint64, tag = "1")]
pub interval: u64,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum KeyType {
KtDefault = 0,
KtTimestampKey = 1,
}
impl KeyType {
pub fn as_str_name(&self) -> &'static str {
match self {
KeyType::KtDefault => "KTDefault",
KeyType::KtTimestampKey => "KTTimestampKey",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"KTDefault" => Some(Self::KtDefault),
"KTTimestampKey" => Some(Self::KtTimestampKey),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FilterExtensionType {
FetDefault = 0,
FetTimestamp = 1,
}
impl FilterExtensionType {
pub fn as_str_name(&self) -> &'static str {
match self {
FilterExtensionType::FetDefault => "FETDefault",
FilterExtensionType::FetTimestamp => "FETTimestamp",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FETDefault" => Some(Self::FetDefault),
"FETTimestamp" => Some(Self::FetTimestamp),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RuleType {
AbsoluteExpireTime = 0,
}
impl RuleType {
pub fn as_str_name(&self) -> &'static str {
match self {
RuleType::AbsoluteExpireTime => "AbsoluteExpireTime",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AbsoluteExpireTime" => Some(Self::AbsoluteExpireTime),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SerializeIntervalType {
Height = 0,
Timed = 1,
Exit = 2,
}
impl SerializeIntervalType {
pub fn as_str_name(&self) -> &'static str {
match self {
SerializeIntervalType::Height => "Height",
SerializeIntervalType::Timed => "Timed",
SerializeIntervalType::Exit => "Exit",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"Height" => Some(Self::Height),
"Timed" => Some(Self::Timed),
"Exit" => Some(Self::Exit),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TxRequest {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Payload>,
#[prost(message, optional, tag = "2")]
pub sender: ::core::option::Option<EndorsementEntry>,
#[prost(message, repeated, tag = "3")]
pub endorsers: ::prost::alloc::vec::Vec<EndorsementEntry>,
#[prost(message, optional, tag = "4")]
pub payer: ::core::option::Option<EndorsementEntry>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RawTxRequest {
#[prost(bytes = "vec", tag = "1")]
pub raw_tx: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Payload {
#[prost(string, tag = "1")]
pub chain_id: ::prost::alloc::string::String,
#[prost(enumeration = "TxType", tag = "2")]
pub tx_type: i32,
#[prost(string, tag = "3")]
pub tx_id: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub timestamp: i64,
#[prost(int64, tag = "5")]
pub expiration_time: i64,
#[prost(string, tag = "6")]
pub contract_name: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub method: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "8")]
pub parameters: ::prost::alloc::vec::Vec<KeyValuePair>,
#[prost(uint64, tag = "9")]
pub sequence: u64,
#[prost(message, optional, tag = "10")]
pub limit: ::core::option::Option<Limit>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndorsementEntry {
#[prost(message, optional, tag = "1")]
pub signer: ::core::option::Option<super::accesscontrol::Member>,
#[prost(bytes = "vec", tag = "2")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeyValuePair {
#[prost(string, tag = "1")]
pub key: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Limit {
#[prost(uint64, tag = "1")]
pub gas_limit: u64,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TxType {
InvokeContract = 0,
QueryContract = 1,
Subscribe = 2,
Archive = 3,
}
impl TxType {
pub fn as_str_name(&self) -> &'static str {
match self {
TxType::InvokeContract => "INVOKE_CONTRACT",
TxType::QueryContract => "QUERY_CONTRACT",
TxType::Subscribe => "SUBSCRIBE",
TxType::Archive => "ARCHIVE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INVOKE_CONTRACT" => Some(Self::InvokeContract),
"QUERY_CONTRACT" => Some(Self::QueryContract),
"SUBSCRIBE" => Some(Self::Subscribe),
"ARCHIVE" => Some(Self::Archive),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TxResponse {
#[prost(enumeration = "TxStatusCode", tag = "1")]
pub code: i32,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub contract_result: ::core::option::Option<ContractResult>,
#[prost(string, tag = "4")]
pub tx_id: ::prost::alloc::string::String,
#[prost(int64, tag = "5")]
pub tx_timestamp: i64,
#[prost(uint64, tag = "6")]
pub tx_block_height: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribeResult {
#[prost(bytes = "vec", tag = "1")]
pub data: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Result {
#[prost(enumeration = "TxStatusCode", tag = "1")]
pub code: i32,
#[prost(message, optional, tag = "2")]
pub contract_result: ::core::option::Option<ContractResult>,
#[prost(bytes = "vec", tag = "3")]
pub rw_set_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "4")]
pub message: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractResult {
#[prost(uint32, tag = "1")]
pub code: u32,
#[prost(bytes = "vec", tag = "2")]
pub result: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "3")]
pub message: ::prost::alloc::string::String,
#[prost(uint64, tag = "4")]
pub gas_used: u64,
#[prost(message, repeated, tag = "5")]
pub contract_event: ::prost::alloc::vec::Vec<ContractEvent>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateGetContract {
#[prost(bytes = "vec", tag = "1")]
pub contract_code: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub gas_limit: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StrSlice {
#[prost(string, repeated, tag = "1")]
pub str_arr: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CertInfos {
#[prost(message, repeated, tag = "1")]
pub cert_infos: ::prost::alloc::vec::Vec<CertInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CertInfo {
#[prost(string, tag = "1")]
pub hash: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub cert: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractEvent {
#[prost(string, tag = "1")]
pub topic: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub tx_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub contract_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub contract_version: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "5")]
pub event_data: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractEventInfo {
#[prost(uint64, tag = "1")]
pub block_height: u64,
#[prost(string, tag = "2")]
pub chain_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub topic: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub tx_id: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub event_index: u32,
#[prost(string, tag = "6")]
pub contract_name: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub contract_version: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "8")]
pub event_data: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContractEventInfoList {
#[prost(message, repeated, tag = "1")]
pub contract_events: ::prost::alloc::vec::Vec<ContractEventInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AliasInfo {
#[prost(string, tag = "1")]
pub alias: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub now_cert: ::core::option::Option<AliasCertInfo>,
#[prost(message, repeated, tag = "3")]
pub his_certs: ::prost::alloc::vec::Vec<AliasCertInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AliasInfos {
#[prost(message, repeated, tag = "1")]
pub alias_infos: ::prost::alloc::vec::Vec<AliasInfo>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AliasCertInfo {
#[prost(string, tag = "1")]
pub hash: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub cert: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "3")]
pub block_height: u64,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TxStatusCode {
Success = 0,
Timeout = 1,
InvalidParameter = 2,
NoPermission = 3,
ContractFail = 4,
InternalError = 5,
InvalidContractTransactionType = 10,
InvalidContractParameterContractName = 11,
InvalidContractParameterMethod = 12,
InvalidContractParameterInitMethod = 13,
InvalidContractParameterUpgradeMethod = 14,
InvalidContractParameterByteCode = 15,
InvalidContractParameterRuntimeType = 16,
InvalidContractParameterVersion = 17,
GetFromTxContextFailed = 20,
PutIntoTxContextFailed = 21,
ContractVersionExistFailed = 22,
ContractVersionNotExistFailed = 23,
ContractByteCodeNotExistFailed = 24,
MarshalSenderFailed = 25,
InvokeInitMethodFailed = 26,
InvokeUpgradeMethodFailed = 27,
CreateRuntimeInstanceFailed = 28,
UnmarshalCreatorFailed = 29,
UnmarshalSenderFailed = 30,
GetSenderPkFailed = 31,
GetCreatorPkFailed = 32,
GetCreatorFailed = 33,
GetCreatorCertFailed = 34,
GetSenderCertFailed = 35,
ContractFreezeFailed = 36,
ContractTooDeepFailed = 37,
ContractRevokeFailed = 38,
ContractInvokeMethodFailed = 39,
ArchivedTx = 40,
ArchivedBlock = 41,
GasBalanceNotEnoughFailed = 42,
GasLimitNotSet = 43,
GasLimitTooSmall = 44,
GetAccountBalanceFailed = 45,
ParseAccountBalanceFailed = 46,
GetAccountStatusFailed = 47,
AccountStatusFrozen = 48,
}
impl TxStatusCode {
pub fn as_str_name(&self) -> &'static str {
match self {
TxStatusCode::Success => "SUCCESS",
TxStatusCode::Timeout => "TIMEOUT",
TxStatusCode::InvalidParameter => "INVALID_PARAMETER",
TxStatusCode::NoPermission => "NO_PERMISSION",
TxStatusCode::ContractFail => "CONTRACT_FAIL",
TxStatusCode::InternalError => "INTERNAL_ERROR",
TxStatusCode::InvalidContractTransactionType => "INVALID_CONTRACT_TRANSACTION_TYPE",
TxStatusCode::InvalidContractParameterContractName => {
"INVALID_CONTRACT_PARAMETER_CONTRACT_NAME"
}
TxStatusCode::InvalidContractParameterMethod => "INVALID_CONTRACT_PARAMETER_METHOD",
TxStatusCode::InvalidContractParameterInitMethod => {
"INVALID_CONTRACT_PARAMETER_INIT_METHOD"
}
TxStatusCode::InvalidContractParameterUpgradeMethod => {
"INVALID_CONTRACT_PARAMETER_UPGRADE_METHOD"
}
TxStatusCode::InvalidContractParameterByteCode => {
"INVALID_CONTRACT_PARAMETER_BYTE_CODE"
}
TxStatusCode::InvalidContractParameterRuntimeType => {
"INVALID_CONTRACT_PARAMETER_RUNTIME_TYPE"
}
TxStatusCode::InvalidContractParameterVersion => "INVALID_CONTRACT_PARAMETER_VERSION",
TxStatusCode::GetFromTxContextFailed => "GET_FROM_TX_CONTEXT_FAILED",
TxStatusCode::PutIntoTxContextFailed => "PUT_INTO_TX_CONTEXT_FAILED",
TxStatusCode::ContractVersionExistFailed => "CONTRACT_VERSION_EXIST_FAILED",
TxStatusCode::ContractVersionNotExistFailed => "CONTRACT_VERSION_NOT_EXIST_FAILED",
TxStatusCode::ContractByteCodeNotExistFailed => "CONTRACT_BYTE_CODE_NOT_EXIST_FAILED",
TxStatusCode::MarshalSenderFailed => "MARSHAL_SENDER_FAILED",
TxStatusCode::InvokeInitMethodFailed => "INVOKE_INIT_METHOD_FAILED",
TxStatusCode::InvokeUpgradeMethodFailed => "INVOKE_UPGRADE_METHOD_FAILED",
TxStatusCode::CreateRuntimeInstanceFailed => "CREATE_RUNTIME_INSTANCE_FAILED",
TxStatusCode::UnmarshalCreatorFailed => "UNMARSHAL_CREATOR_FAILED",
TxStatusCode::UnmarshalSenderFailed => "UNMARSHAL_SENDER_FAILED",
TxStatusCode::GetSenderPkFailed => "GET_SENDER_PK_FAILED",
TxStatusCode::GetCreatorPkFailed => "GET_CREATOR_PK_FAILED",
TxStatusCode::GetCreatorFailed => "GET_CREATOR_FAILED",
TxStatusCode::GetCreatorCertFailed => "GET_CREATOR_CERT_FAILED",
TxStatusCode::GetSenderCertFailed => "GET_SENDER_CERT_FAILED",
TxStatusCode::ContractFreezeFailed => "CONTRACT_FREEZE_FAILED",
TxStatusCode::ContractTooDeepFailed => "CONTRACT_TOO_DEEP_FAILED",
TxStatusCode::ContractRevokeFailed => "CONTRACT_REVOKE_FAILED",
TxStatusCode::ContractInvokeMethodFailed => "CONTRACT_INVOKE_METHOD_FAILED",
TxStatusCode::ArchivedTx => "ARCHIVED_TX",
TxStatusCode::ArchivedBlock => "ARCHIVED_BLOCK",
TxStatusCode::GasBalanceNotEnoughFailed => "GAS_BALANCE_NOT_ENOUGH_FAILED",
TxStatusCode::GasLimitNotSet => "GAS_LIMIT_NOT_SET",
TxStatusCode::GasLimitTooSmall => "GAS_LIMIT_TOO_SMALL",
TxStatusCode::GetAccountBalanceFailed => "GET_ACCOUNT_BALANCE_FAILED",
TxStatusCode::ParseAccountBalanceFailed => "PARSE_ACCOUNT_BALANCE_FAILED",
TxStatusCode::GetAccountStatusFailed => "GET_ACCOUNT_STATUS_FAILED",
TxStatusCode::AccountStatusFrozen => "ACCOUNT_STATUS_FROZEN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SUCCESS" => Some(Self::Success),
"TIMEOUT" => Some(Self::Timeout),
"INVALID_PARAMETER" => Some(Self::InvalidParameter),
"NO_PERMISSION" => Some(Self::NoPermission),
"CONTRACT_FAIL" => Some(Self::ContractFail),
"INTERNAL_ERROR" => Some(Self::InternalError),
"INVALID_CONTRACT_TRANSACTION_TYPE" => Some(Self::InvalidContractTransactionType),
"INVALID_CONTRACT_PARAMETER_CONTRACT_NAME" => {
Some(Self::InvalidContractParameterContractName)
}
"INVALID_CONTRACT_PARAMETER_METHOD" => Some(Self::InvalidContractParameterMethod),
"INVALID_CONTRACT_PARAMETER_INIT_METHOD" => {
Some(Self::InvalidContractParameterInitMethod)
}
"INVALID_CONTRACT_PARAMETER_UPGRADE_METHOD" => {
Some(Self::InvalidContractParameterUpgradeMethod)
}
"INVALID_CONTRACT_PARAMETER_BYTE_CODE" => Some(Self::InvalidContractParameterByteCode),
"INVALID_CONTRACT_PARAMETER_RUNTIME_TYPE" => {
Some(Self::InvalidContractParameterRuntimeType)
}
"INVALID_CONTRACT_PARAMETER_VERSION" => Some(Self::InvalidContractParameterVersion),
"GET_FROM_TX_CONTEXT_FAILED" => Some(Self::GetFromTxContextFailed),
"PUT_INTO_TX_CONTEXT_FAILED" => Some(Self::PutIntoTxContextFailed),
"CONTRACT_VERSION_EXIST_FAILED" => Some(Self::ContractVersionExistFailed),
"CONTRACT_VERSION_NOT_EXIST_FAILED" => Some(Self::ContractVersionNotExistFailed),
"CONTRACT_BYTE_CODE_NOT_EXIST_FAILED" => Some(Self::ContractByteCodeNotExistFailed),
"MARSHAL_SENDER_FAILED" => Some(Self::MarshalSenderFailed),
"INVOKE_INIT_METHOD_FAILED" => Some(Self::InvokeInitMethodFailed),
"INVOKE_UPGRADE_METHOD_FAILED" => Some(Self::InvokeUpgradeMethodFailed),
"CREATE_RUNTIME_INSTANCE_FAILED" => Some(Self::CreateRuntimeInstanceFailed),
"UNMARSHAL_CREATOR_FAILED" => Some(Self::UnmarshalCreatorFailed),
"UNMARSHAL_SENDER_FAILED" => Some(Self::UnmarshalSenderFailed),
"GET_SENDER_PK_FAILED" => Some(Self::GetSenderPkFailed),
"GET_CREATOR_PK_FAILED" => Some(Self::GetCreatorPkFailed),
"GET_CREATOR_FAILED" => Some(Self::GetCreatorFailed),
"GET_CREATOR_CERT_FAILED" => Some(Self::GetCreatorCertFailed),
"GET_SENDER_CERT_FAILED" => Some(Self::GetSenderCertFailed),
"CONTRACT_FREEZE_FAILED" => Some(Self::ContractFreezeFailed),
"CONTRACT_TOO_DEEP_FAILED" => Some(Self::ContractTooDeepFailed),
"CONTRACT_REVOKE_FAILED" => Some(Self::ContractRevokeFailed),
"CONTRACT_INVOKE_METHOD_FAILED" => Some(Self::ContractInvokeMethodFailed),
"ARCHIVED_TX" => Some(Self::ArchivedTx),
"ARCHIVED_BLOCK" => Some(Self::ArchivedBlock),
"GAS_BALANCE_NOT_ENOUGH_FAILED" => Some(Self::GasBalanceNotEnoughFailed),
"GAS_LIMIT_NOT_SET" => Some(Self::GasLimitNotSet),
"GAS_LIMIT_TOO_SMALL" => Some(Self::GasLimitTooSmall),
"GET_ACCOUNT_BALANCE_FAILED" => Some(Self::GetAccountBalanceFailed),
"PARSE_ACCOUNT_BALANCE_FAILED" => Some(Self::ParseAccountBalanceFailed),
"GET_ACCOUNT_STATUS_FAILED" => Some(Self::GetAccountStatusFailed),
"ACCOUNT_STATUS_FROZEN" => Some(Self::AccountStatusFrozen),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct KeyVersion {
#[prost(string, tag = "3")]
pub ref_tx_id: ::prost::alloc::string::String,
#[prost(int32, tag = "4")]
pub ref_offset: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TxRead {
#[prost(bytes = "vec", tag = "1")]
pub key: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub value: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "3")]
pub contract_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub version: ::core::option::Option<KeyVersion>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TxWrite {
#[prost(bytes = "vec", tag = "1")]
pub key: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "2")]
pub value: ::prost::alloc::vec::Vec<u8>,
#[prost(string, tag = "3")]
pub contract_name: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TxRwSet {
#[prost(string, tag = "1")]
pub tx_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub tx_reads: ::prost::alloc::vec::Vec<TxRead>,
#[prost(message, repeated, tag = "3")]
pub tx_writes: ::prost::alloc::vec::Vec<TxWrite>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Transaction {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Payload>,
#[prost(message, optional, tag = "2")]
pub sender: ::core::option::Option<EndorsementEntry>,
#[prost(message, repeated, tag = "3")]
pub endorsers: ::prost::alloc::vec::Vec<EndorsementEntry>,
#[prost(message, optional, tag = "4")]
pub result: ::core::option::Option<Result>,
#[prost(message, optional, tag = "5")]
pub payer: ::core::option::Option<EndorsementEntry>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionInfo {
#[prost(message, optional, tag = "1")]
pub transaction: ::core::option::Option<Transaction>,
#[prost(uint64, tag = "2")]
pub block_height: u64,
#[prost(bytes = "vec", tag = "3")]
pub block_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "4")]
pub tx_index: u32,
#[prost(int64, tag = "5")]
pub block_timestamp: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionWithRwSet {
#[prost(message, optional, tag = "1")]
pub transaction: ::core::option::Option<Transaction>,
#[prost(message, optional, tag = "2")]
pub rw_set: ::core::option::Option<TxRwSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransactionInfoWithRwSet {
#[prost(message, optional, tag = "1")]
pub transaction: ::core::option::Option<Transaction>,
#[prost(uint64, tag = "2")]
pub block_height: u64,
#[prost(bytes = "vec", tag = "3")]
pub block_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "4")]
pub tx_index: u32,
#[prost(int64, tag = "5")]
pub block_timestamp: i64,
#[prost(message, optional, tag = "6")]
pub rw_set: ::core::option::Option<TxRwSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Block {
#[prost(message, optional, tag = "1")]
pub header: ::core::option::Option<BlockHeader>,
#[prost(message, optional, tag = "2")]
pub dag: ::core::option::Option<Dag>,
#[prost(message, repeated, tag = "3")]
pub txs: ::prost::alloc::vec::Vec<Transaction>,
#[prost(message, optional, tag = "4")]
pub additional_data: ::core::option::Option<AdditionalData>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlockInfo {
#[prost(message, optional, tag = "1")]
pub block: ::core::option::Option<Block>,
#[prost(message, repeated, tag = "2")]
pub rwset_list: ::prost::alloc::vec::Vec<TxRwSet>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AdditionalData {
#[prost(map = "string, bytes", tag = "1")]
pub extra_data:
::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::vec::Vec<u8>>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TxBatchInfo {
#[prost(string, repeated, tag = "1")]
pub batch_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, repeated, tag = "2")]
pub index: ::prost::alloc::vec::Vec<u32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BlockHeader {
#[prost(uint32, tag = "1")]
pub block_version: u32,
#[prost(enumeration = "BlockType", tag = "2")]
pub block_type: i32,
#[prost(string, tag = "3")]
pub chain_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "4")]
pub block_height: u64,
#[prost(bytes = "vec", tag = "5")]
pub block_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "6")]
pub pre_block_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(uint64, tag = "7")]
pub pre_conf_height: u64,
#[prost(uint32, tag = "8")]
pub tx_count: u32,
#[prost(bytes = "vec", tag = "9")]
pub tx_root: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "10")]
pub dag_hash: ::prost::alloc::vec::Vec<u8>,
#[prost(bytes = "vec", tag = "11")]
pub rw_set_root: ::prost::alloc::vec::Vec<u8>,
#[prost(int64, tag = "12")]
pub block_timestamp: i64,
#[prost(bytes = "vec", tag = "13")]
pub consensus_args: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "14")]
pub proposer: ::core::option::Option<super::accesscontrol::Member>,
#[prost(bytes = "vec", tag = "15")]
pub signature: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dag {
#[prost(message, repeated, tag = "2")]
pub vertexes: ::prost::alloc::vec::Vec<dag::Neighbor>,
}
pub mod dag {
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Neighbor {
#[prost(uint32, repeated, tag = "1")]
pub neighbors: ::prost::alloc::vec::Vec<u32>,
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BlockType {
NormalBlock = 0,
ConfigBlock = 1,
ContractMgrBlock = 2,
HasCoinbase = 4,
}
impl BlockType {
pub fn as_str_name(&self) -> &'static str {
match self {
BlockType::NormalBlock => "NORMAL_BLOCK",
BlockType::ConfigBlock => "CONFIG_BLOCK",
BlockType::ContractMgrBlock => "CONTRACT_MGR_BLOCK",
BlockType::HasCoinbase => "HAS_COINBASE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NORMAL_BLOCK" => Some(Self::NormalBlock),
"CONFIG_BLOCK" => Some(Self::ConfigBlock),
"CONTRACT_MGR_BLOCK" => Some(Self::ContractMgrBlock),
"HAS_COINBASE" => Some(Self::HasCoinbase),
_ => None,
}
}
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Contract {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(enumeration = "RuntimeType", tag = "3")]
pub runtime_type: i32,
#[prost(enumeration = "ContractStatus", tag = "4")]
pub status: i32,
#[prost(message, optional, tag = "5")]
pub creator: ::core::option::Option<super::accesscontrol::MemberFull>,
#[prost(string, tag = "6")]
pub address: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RuntimeType {
Invalid = 0,
Native = 1,
Wasmer = 2,
Wxvm = 3,
Gasm = 4,
Evm = 5,
DockerGo = 6,
Java = 7,
Go = 8,
}
impl RuntimeType {
pub fn as_str_name(&self) -> &'static str {
match self {
RuntimeType::Invalid => "INVALID",
RuntimeType::Native => "NATIVE",
RuntimeType::Wasmer => "WASMER",
RuntimeType::Wxvm => "WXVM",
RuntimeType::Gasm => "GASM",
RuntimeType::Evm => "EVM",
RuntimeType::DockerGo => "DOCKER_GO",
RuntimeType::Java => "JAVA",
RuntimeType::Go => "GO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INVALID" => Some(Self::Invalid),
"NATIVE" => Some(Self::Native),
"WASMER" => Some(Self::Wasmer),
"WXVM" => Some(Self::Wxvm),
"GASM" => Some(Self::Gasm),
"EVM" => Some(Self::Evm),
"DOCKER_GO" => Some(Self::DockerGo),
"JAVA" => Some(Self::Java),
"GO" => Some(Self::Go),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ContractStatus {
Normal = 0,
Frozen = 1,
Revoked = 2,
}
impl ContractStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
ContractStatus::Normal => "NORMAL",
ContractStatus::Frozen => "FROZEN",
ContractStatus::Revoked => "REVOKED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NORMAL" => Some(Self::Normal),
"FROZEN" => Some(Self::Frozen),
"REVOKED" => Some(Self::Revoked),
_ => None,
}
}
}