#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
#[repr(i32)]
pub enum AccountCode {
ACCOUNT_CODE_UNSPECIFIED = 0i32,
FUNDING = 300i32,
TRADING = 301i32,
}
impl AccountCode {
#[allow(non_upper_case_globals)]
pub const AccountCodeUnspecified: Self = Self::ACCOUNT_CODE_UNSPECIFIED;
#[allow(non_upper_case_globals)]
pub const Funding: Self = Self::FUNDING;
#[allow(non_upper_case_globals)]
pub const Trading: Self = Self::TRADING;
}
impl ::core::default::Default for AccountCode {
fn default() -> Self {
Self::ACCOUNT_CODE_UNSPECIFIED
}
}
impl ::serde::Serialize for AccountCode {
fn serialize<S: ::serde::Serializer>(
&self,
s: S,
) -> ::core::result::Result<S::Ok, S::Error> {
s.serialize_str(::buffa::Enumeration::proto_name(self))
}
}
impl<'de> ::serde::Deserialize<'de> for AccountCode {
fn deserialize<D: ::serde::Deserializer<'de>>(
d: D,
) -> ::core::result::Result<Self, D::Error> {
struct _V;
impl ::serde::de::Visitor<'_> for _V {
type Value = AccountCode;
fn expecting(
&self,
f: &mut ::core::fmt::Formatter<'_>,
) -> ::core::fmt::Result {
f.write_str(
concat!("a string, integer, or null for ", stringify!(AccountCode)),
)
}
fn visit_str<E: ::serde::de::Error>(
self,
v: &str,
) -> ::core::result::Result<AccountCode, E> {
<AccountCode as ::buffa::Enumeration>::from_proto_name(v)
.ok_or_else(|| { ::serde::de::Error::unknown_variant(v, &[]) })
}
fn visit_i64<E: ::serde::de::Error>(
self,
v: i64,
) -> ::core::result::Result<AccountCode, E> {
let v32 = i32::try_from(v)
.map_err(|_| {
::serde::de::Error::custom(
::buffa::alloc::format!("enum value {v} out of i32 range"),
)
})?;
<AccountCode as ::buffa::Enumeration>::from_i32(v32)
.ok_or_else(|| {
::serde::de::Error::custom(
::buffa::alloc::format!("unknown enum value {v32}"),
)
})
}
fn visit_u64<E: ::serde::de::Error>(
self,
v: u64,
) -> ::core::result::Result<AccountCode, E> {
let v32 = i32::try_from(v)
.map_err(|_| {
::serde::de::Error::custom(
::buffa::alloc::format!("enum value {v} out of i32 range"),
)
})?;
<AccountCode as ::buffa::Enumeration>::from_i32(v32)
.ok_or_else(|| {
::serde::de::Error::custom(
::buffa::alloc::format!("unknown enum value {v32}"),
)
})
}
fn visit_unit<E: ::serde::de::Error>(
self,
) -> ::core::result::Result<AccountCode, E> {
::core::result::Result::Ok(::core::default::Default::default())
}
}
d.deserialize_any(_V)
}
}
impl ::buffa::json_helpers::ProtoElemJson for AccountCode {
fn serialize_proto_json<S: ::serde::Serializer>(
v: &Self,
s: S,
) -> ::core::result::Result<S::Ok, S::Error> {
::serde::Serialize::serialize(v, s)
}
fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
d: D,
) -> ::core::result::Result<Self, D::Error> {
<Self as ::serde::Deserialize>::deserialize(d)
}
}
impl ::buffa::Enumeration for AccountCode {
fn from_i32(value: i32) -> ::core::option::Option<Self> {
match value {
0i32 => ::core::option::Option::Some(Self::ACCOUNT_CODE_UNSPECIFIED),
300i32 => ::core::option::Option::Some(Self::FUNDING),
301i32 => ::core::option::Option::Some(Self::TRADING),
_ => ::core::option::Option::None,
}
}
fn to_i32(&self) -> i32 {
*self as i32
}
fn proto_name(&self) -> &'static str {
match self {
Self::ACCOUNT_CODE_UNSPECIFIED => "ACCOUNT_CODE_UNSPECIFIED",
Self::FUNDING => "FUNDING",
Self::TRADING => "TRADING",
}
}
fn from_proto_name(name: &str) -> ::core::option::Option<Self> {
match name {
"ACCOUNT_CODE_UNSPECIFIED" => {
::core::option::Option::Some(Self::ACCOUNT_CODE_UNSPECIFIED)
}
"FUNDING" => ::core::option::Option::Some(Self::FUNDING),
"TRADING" => ::core::option::Option::Some(Self::TRADING),
_ => ::core::option::Option::None,
}
}
fn values() -> &'static [Self] {
&[Self::ACCOUNT_CODE_UNSPECIFIED, Self::FUNDING, Self::TRADING]
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, Debug)]
#[repr(i32)]
pub enum TransferCode {
TRANSFER_CODE_UNSPECIFIED = 0i32,
DEPOSIT = 1000i32,
WITHDRAW = 1001i32,
MAKER_FEE = 1010i32,
TAKER_FEE = 1011i32,
INTERNAL_TRANSFER = 1030i32,
TRADE_BASE = 1031i32,
TRADE_QUOTE = 1032i32,
REBATE = 1041i32,
FUNDING_TO_TRADING = 1060i32,
TRADING_TO_FUNDING = 1061i32,
TRADING_WITHDRAW_RESERVE = 1062i32,
FUNDING_USER_TRANSFER = 1063i32,
}
impl TransferCode {
#[allow(non_upper_case_globals)]
pub const TransferCodeUnspecified: Self = Self::TRANSFER_CODE_UNSPECIFIED;
#[allow(non_upper_case_globals)]
pub const Deposit: Self = Self::DEPOSIT;
#[allow(non_upper_case_globals)]
pub const Withdraw: Self = Self::WITHDRAW;
#[allow(non_upper_case_globals)]
pub const MakerFee: Self = Self::MAKER_FEE;
#[allow(non_upper_case_globals)]
pub const TakerFee: Self = Self::TAKER_FEE;
#[allow(non_upper_case_globals)]
pub const InternalTransfer: Self = Self::INTERNAL_TRANSFER;
#[allow(non_upper_case_globals)]
pub const TradeBase: Self = Self::TRADE_BASE;
#[allow(non_upper_case_globals)]
pub const TradeQuote: Self = Self::TRADE_QUOTE;
#[allow(non_upper_case_globals)]
pub const Rebate: Self = Self::REBATE;
#[allow(non_upper_case_globals)]
pub const FundingToTrading: Self = Self::FUNDING_TO_TRADING;
#[allow(non_upper_case_globals)]
pub const TradingToFunding: Self = Self::TRADING_TO_FUNDING;
#[allow(non_upper_case_globals)]
pub const TradingWithdrawReserve: Self = Self::TRADING_WITHDRAW_RESERVE;
#[allow(non_upper_case_globals)]
pub const FundingUserTransfer: Self = Self::FUNDING_USER_TRANSFER;
}
impl ::core::default::Default for TransferCode {
fn default() -> Self {
Self::TRANSFER_CODE_UNSPECIFIED
}
}
impl ::serde::Serialize for TransferCode {
fn serialize<S: ::serde::Serializer>(
&self,
s: S,
) -> ::core::result::Result<S::Ok, S::Error> {
s.serialize_str(::buffa::Enumeration::proto_name(self))
}
}
impl<'de> ::serde::Deserialize<'de> for TransferCode {
fn deserialize<D: ::serde::Deserializer<'de>>(
d: D,
) -> ::core::result::Result<Self, D::Error> {
struct _V;
impl ::serde::de::Visitor<'_> for _V {
type Value = TransferCode;
fn expecting(
&self,
f: &mut ::core::fmt::Formatter<'_>,
) -> ::core::fmt::Result {
f.write_str(
concat!("a string, integer, or null for ", stringify!(TransferCode)),
)
}
fn visit_str<E: ::serde::de::Error>(
self,
v: &str,
) -> ::core::result::Result<TransferCode, E> {
<TransferCode as ::buffa::Enumeration>::from_proto_name(v)
.ok_or_else(|| { ::serde::de::Error::unknown_variant(v, &[]) })
}
fn visit_i64<E: ::serde::de::Error>(
self,
v: i64,
) -> ::core::result::Result<TransferCode, E> {
let v32 = i32::try_from(v)
.map_err(|_| {
::serde::de::Error::custom(
::buffa::alloc::format!("enum value {v} out of i32 range"),
)
})?;
<TransferCode as ::buffa::Enumeration>::from_i32(v32)
.ok_or_else(|| {
::serde::de::Error::custom(
::buffa::alloc::format!("unknown enum value {v32}"),
)
})
}
fn visit_u64<E: ::serde::de::Error>(
self,
v: u64,
) -> ::core::result::Result<TransferCode, E> {
let v32 = i32::try_from(v)
.map_err(|_| {
::serde::de::Error::custom(
::buffa::alloc::format!("enum value {v} out of i32 range"),
)
})?;
<TransferCode as ::buffa::Enumeration>::from_i32(v32)
.ok_or_else(|| {
::serde::de::Error::custom(
::buffa::alloc::format!("unknown enum value {v32}"),
)
})
}
fn visit_unit<E: ::serde::de::Error>(
self,
) -> ::core::result::Result<TransferCode, E> {
::core::result::Result::Ok(::core::default::Default::default())
}
}
d.deserialize_any(_V)
}
}
impl ::buffa::json_helpers::ProtoElemJson for TransferCode {
fn serialize_proto_json<S: ::serde::Serializer>(
v: &Self,
s: S,
) -> ::core::result::Result<S::Ok, S::Error> {
::serde::Serialize::serialize(v, s)
}
fn deserialize_proto_json<'de, D: ::serde::Deserializer<'de>>(
d: D,
) -> ::core::result::Result<Self, D::Error> {
<Self as ::serde::Deserialize>::deserialize(d)
}
}
impl ::buffa::Enumeration for TransferCode {
fn from_i32(value: i32) -> ::core::option::Option<Self> {
match value {
0i32 => ::core::option::Option::Some(Self::TRANSFER_CODE_UNSPECIFIED),
1000i32 => ::core::option::Option::Some(Self::DEPOSIT),
1001i32 => ::core::option::Option::Some(Self::WITHDRAW),
1010i32 => ::core::option::Option::Some(Self::MAKER_FEE),
1011i32 => ::core::option::Option::Some(Self::TAKER_FEE),
1030i32 => ::core::option::Option::Some(Self::INTERNAL_TRANSFER),
1031i32 => ::core::option::Option::Some(Self::TRADE_BASE),
1032i32 => ::core::option::Option::Some(Self::TRADE_QUOTE),
1041i32 => ::core::option::Option::Some(Self::REBATE),
1060i32 => ::core::option::Option::Some(Self::FUNDING_TO_TRADING),
1061i32 => ::core::option::Option::Some(Self::TRADING_TO_FUNDING),
1062i32 => ::core::option::Option::Some(Self::TRADING_WITHDRAW_RESERVE),
1063i32 => ::core::option::Option::Some(Self::FUNDING_USER_TRANSFER),
_ => ::core::option::Option::None,
}
}
fn to_i32(&self) -> i32 {
*self as i32
}
fn proto_name(&self) -> &'static str {
match self {
Self::TRANSFER_CODE_UNSPECIFIED => "TRANSFER_CODE_UNSPECIFIED",
Self::DEPOSIT => "DEPOSIT",
Self::WITHDRAW => "WITHDRAW",
Self::MAKER_FEE => "MAKER_FEE",
Self::TAKER_FEE => "TAKER_FEE",
Self::INTERNAL_TRANSFER => "INTERNAL_TRANSFER",
Self::TRADE_BASE => "TRADE_BASE",
Self::TRADE_QUOTE => "TRADE_QUOTE",
Self::REBATE => "REBATE",
Self::FUNDING_TO_TRADING => "FUNDING_TO_TRADING",
Self::TRADING_TO_FUNDING => "TRADING_TO_FUNDING",
Self::TRADING_WITHDRAW_RESERVE => "TRADING_WITHDRAW_RESERVE",
Self::FUNDING_USER_TRANSFER => "FUNDING_USER_TRANSFER",
}
}
fn from_proto_name(name: &str) -> ::core::option::Option<Self> {
match name {
"TRANSFER_CODE_UNSPECIFIED" => {
::core::option::Option::Some(Self::TRANSFER_CODE_UNSPECIFIED)
}
"DEPOSIT" => ::core::option::Option::Some(Self::DEPOSIT),
"WITHDRAW" => ::core::option::Option::Some(Self::WITHDRAW),
"MAKER_FEE" => ::core::option::Option::Some(Self::MAKER_FEE),
"TAKER_FEE" => ::core::option::Option::Some(Self::TAKER_FEE),
"INTERNAL_TRANSFER" => ::core::option::Option::Some(Self::INTERNAL_TRANSFER),
"TRADE_BASE" => ::core::option::Option::Some(Self::TRADE_BASE),
"TRADE_QUOTE" => ::core::option::Option::Some(Self::TRADE_QUOTE),
"REBATE" => ::core::option::Option::Some(Self::REBATE),
"FUNDING_TO_TRADING" => {
::core::option::Option::Some(Self::FUNDING_TO_TRADING)
}
"TRADING_TO_FUNDING" => {
::core::option::Option::Some(Self::TRADING_TO_FUNDING)
}
"TRADING_WITHDRAW_RESERVE" => {
::core::option::Option::Some(Self::TRADING_WITHDRAW_RESERVE)
}
"FUNDING_USER_TRANSFER" => {
::core::option::Option::Some(Self::FUNDING_USER_TRANSFER)
}
_ => ::core::option::Option::None,
}
}
fn values() -> &'static [Self] {
&[
Self::TRANSFER_CODE_UNSPECIFIED,
Self::DEPOSIT,
Self::WITHDRAW,
Self::MAKER_FEE,
Self::TAKER_FEE,
Self::INTERNAL_TRANSFER,
Self::TRADE_BASE,
Self::TRADE_QUOTE,
Self::REBATE,
Self::FUNDING_TO_TRADING,
Self::TRADING_TO_FUNDING,
Self::TRADING_WITHDRAW_RESERVE,
Self::FUNDING_USER_TRANSFER,
]
}
}