use serde::{Deserialize, Serialize};
use std::fmt;
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
PartialOrd,
Ord,
rkyv::Archive,
rkyv::Serialize,
rkyv::Deserialize,
)]
pub struct MarketId(pub u64);
impl fmt::Display for MarketId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
PartialOrd,
Ord,
Default,
rkyv::Archive,
rkyv::Serialize,
rkyv::Deserialize,
)]
pub struct RunnerId(pub u32);
impl fmt::Display for RunnerId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}
#[derive(
Debug,
Clone,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
PartialOrd,
Ord,
rkyv::Archive,
rkyv::Serialize,
rkyv::Deserialize,
)]
pub struct AccountId(pub String);
impl AccountId {
pub fn as_str(&self) -> &str {
&self.0
}
pub fn into_inner(self) -> String {
self.0
}
}
impl fmt::Display for AccountId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(&self.0)
}
}
impl From<String> for AccountId {
fn from(s: String) -> Self {
Self(s)
}
}
impl From<&str> for AccountId {
fn from(s: &str) -> Self {
Self(s.to_string())
}
}
impl From<uuid::Uuid> for AccountId {
fn from(value: uuid::Uuid) -> Self {
Self(value.to_string())
}
}
impl From<&uuid::Uuid> for AccountId {
fn from(value: &uuid::Uuid) -> Self {
Self(value.to_string())
}
}
impl From<u64> for AccountId {
fn from(value: u64) -> Self {
Self(value.to_string())
}
}
impl From<u32> for AccountId {
fn from(value: u32) -> Self {
Self(value.to_string())
}
}
impl From<i32> for AccountId {
fn from(value: i32) -> Self {
Self(value.to_string())
}
}
impl From<usize> for AccountId {
fn from(value: usize) -> Self {
Self(value.to_string())
}
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
PartialOrd,
Ord,
rkyv::Archive,
rkyv::Serialize,
rkyv::Deserialize,
)]
pub struct OrderId(pub u64);
impl fmt::Display for OrderId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}
#[derive(
Debug,
Clone,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
Serialize,
Deserialize,
rkyv::Archive,
rkyv::Serialize,
rkyv::Deserialize,
)]
pub struct CorrelationId(pub String);
impl CorrelationId {
pub fn as_str(&self) -> &str {
&self.0
}
pub fn into_inner(self) -> String {
self.0
}
}
impl fmt::Display for CorrelationId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(&self.0)
}
}
impl From<String> for CorrelationId {
fn from(s: String) -> Self {
Self(s)
}
}
impl From<&str> for CorrelationId {
fn from(s: &str) -> Self {
Self(s.to_string())
}
}
#[derive(
Debug,
Clone,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
Serialize,
Deserialize,
rkyv::Archive,
rkyv::Serialize,
rkyv::Deserialize,
)]
pub struct IdempotencyKey(pub String);
impl IdempotencyKey {
pub fn as_str(&self) -> &str {
&self.0
}
pub fn into_inner(self) -> String {
self.0
}
}
impl fmt::Display for IdempotencyKey {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.write_str(&self.0)
}
}
impl From<String> for IdempotencyKey {
fn from(s: String) -> Self {
Self(s)
}
}
impl From<&str> for IdempotencyKey {
fn from(s: &str) -> Self {
Self(s.to_string())
}
}
#[derive(
Debug,
Clone,
Copy,
PartialEq,
Eq,
Hash,
Serialize,
Deserialize,
PartialOrd,
Ord,
rkyv::Archive,
rkyv::Serialize,
rkyv::Deserialize,
)]
pub struct ClientOrderId(pub u64);
impl fmt::Display for ClientOrderId {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.0)
}
}