IRemusDEX Trait Reference

Below is the trait defining RemusDEX’s external functions.

#[starknet::interface]
trait IRemusDEX<TState> {
    fn add_market(ref self: TState, market_config: MarketConfig) -> MarketId;
    fn get_all_market_configs(self: @TState) -> Array<(MarketId, MarketConfig)>;
    fn update_market_config(ref self: TState, market_id: MarketId, market_config: MarketConfig);
    fn get_market_config(self: @TState, market_id: MarketId) -> MarketConfig;
    fn set_trading_status(ref self: TState, market_id: MarketId, trading_enabled: bool);
    fn get_trading_status(self: @TState, market_id: MarketId) -> Option<bool>;
    fn get_price_level(self: @TState, price_level_id: PriceLevelId) -> PriceLevel;
    fn get_price_level_with_size(self: @TState, price_level_id: PriceLevelId) -> PriceLevelWithSize;
    fn get_price_level_with_orders(self: @TState, price_level_id: PriceLevelId) -> PriceLevelWithOrders;
    fn get_maker_order(self: @TState, maker_order_id: MakerOrderId) -> MakerOrder;
    fn submit_maker_order(
        ref self: TState,
        market_id: MarketId,
        target_token_address: TokenAddress,
        order_price: u128,
        order_size: u256,
        order_side: MakerOrderSide,
        order_type: MakerOrderType,
        time_limit: TimeLimit,
    ) -> MakerOrderId;
    fn delete_maker_order(ref self: TState, maker_order_id: MakerOrderId);
    fn get_claimable(self: @TState, token_address: ContractAddress, user_address: ContractAddress) -> u256;
    fn claim(ref self: TState, token_address: ContractAddress, amount: u256);
    fn get_orderbook(self: @TState, market_id: MarketId) -> OrderBook;
    fn get_whole_orderbook_with_levels_and_size(self: @TState, market_id: MarketId) -> OrderBookWithLevels;
    fn get_all_user_orders(self: @TState, user: ContractAddress) -> Array<MakerOrder>;
    fn get_orderbook_side_with_levels_and_size(
        self: @TState, market_id: MarketId, is_bid: bool
    ) -> Array<PriceLevelWithSize>;
    fn get_collected_fees(self: @TState, token_address: TokenAddress) -> u256;
    fn claim_fees(ref self: TState, token_address: TokenAddress, amount: u256);
    fn upgrade(ref self: TState, hash: ClassHash);
}

Associated Types and Structs

MarketConfig

OrderBook and Related Structs

MakerOrder and Enums

Last updated