ndaxrs 0.1.0

Rust client library for the NDAX cryptocurrency exchange API
Documentation
// Copyright (C) 2026 ndaxrs Art Morozov
// SPDX-License-Identifier: GPL-3.0-only

//! NDAX WebSocket message types.
//!
//! This module contains all the message types used for communication with the
//! NDAX exchange WebSocket API.
//!
//! # Message Frame Structure
//!
//! NDAX uses a custom JSON frame format for all messages:
//!
//! ```json
//! {"m": 0, "i": 1, "n": "FunctionName", "o": "{\"nested\":\"json\"}"}
//! ```
//!
//! - `m` - Message type (0=Request, 1=Reply, 2=Subscribe, 3=Event,
//!   4=Unsubscribe, 5=Error)
//! - `i` - Sequence number for request/response matching
//! - `n` - Function name
//! - `o` - Payload as a JSON string (requires double-parsing)

pub mod accounts;
pub mod auth;
mod common;
mod frame;
mod instruments;
mod market_data;
pub mod orders;

pub use accounts::{
  AccountEventType,
  AccountInfo,
  AccountPosition,
  AccountPositionEvent,
  CancelOrderRejectEvent,
  GetAccountInfoRequest,
  GetAccountPositionsRequest,
  NewOrderRejectEvent,
  OrderStateEvent,
  OrderTradeEvent,
  SubscribeAccountEventsRequest,
  SubscribeAccountEventsResponse,
};
pub use auth::{
  create_auth_request,
  generate_signature,
  AuthenticateUserRequest,
  AuthenticateUserResponse,
  UserInfo,
};
pub use common::{
  ActionType,
  GenericResponse,
  OrderState,
  OrderType,
  Side,
  TimeInForce,
};
pub use frame::{NdaxFrame, NdaxMessageType};
pub use instruments::{
  GetInstrumentRequest,
  GetInstrumentsRequest,
  GetProductRequest,
  GetProductsRequest,
  Instrument,
  Product,
};
pub use market_data::Level2Entry;
pub use orders::{
  create_limit_order,
  create_market_order,
  CancelAllOrdersRequest,
  CancelOrderRequest,
  CancelReplaceOrderRequest,
  GetOpenOrdersRequest,
  GetOrderStatusRequest,
  OrderInfo,
  SendOrderRequest,
  SendOrderResponse,
};