ex3_node_types/transaction/market/
spot_market.rsuse serde::{Deserialize, Serialize};
use crate::market::MarketIdentifier;
use crate::market::{SpotMarketRoyalty, SpotMarketTradingFee, SpotMarketTradingSettings};
use crate::{AssetAmount, SpotMarketId, WalletRegisterId};
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct SpotMarketRegistration {
pub identifier: MarketIdentifier,
pub base_asset_quantity: AssetAmount,
pub quote_asset_quantity: AssetAmount,
pub trading_settings: SpotMarketTradingSettings,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct UpdateSpotMarketTradingSettings {
pub market_id: SpotMarketId,
pub trading_settings: SpotMarketTradingSettings,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct UpdateSpotMarketInitialTradingFee {
pub fee: SpotMarketTradingFee,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct UpdateSpotMarketRoyalty {
pub market_id: SpotMarketId,
pub royalty: SpotMarketRoyalty,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct ClaimSpotMarketTradingFee {
pub market_id: SpotMarketId,
pub base: AssetAmount,
pub quote: AssetAmount,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct ClaimSpotMarketRoyalty {
pub market_id: SpotMarketId,
pub base: AssetAmount,
pub quote: AssetAmount,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct UpdateSpotMarketInitialFeeTo {
pub fee_to: WalletRegisterId,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct UpdateSpotMarketFeeTo {
pub market_id: SpotMarketId,
pub fee_to: WalletRegisterId,
}
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
pub struct UpdateSpotMarketTradingFee {
pub market_id: SpotMarketId,
pub fee: SpotMarketTradingFee,
}
#[cfg(test)]
mod tests;