Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
0.1.0 - 2026-06-16
Added
- Limit orders: submit and query order status, with validation on submission (#11, #19); cancel orders (#76, #77)
- Order matching: order book with a timer-driven matching engine, plus a configurable execution policy and chunked execution of pending orders (#15, #18, #90, #89)
- Deposit and withdrawal flows (#17, #45)
- Balances: per-user free/reserved balances, reserved on order placement and updated on settlement, with
get_balancesandlist_supported_tokensqueries (#27, #28, #30, #99, #98) - Trading pairs:
add_trading_pairandget_trading_pairs, with token metadata (#22, #21, #32) - Per-pair maker/taker fees: configuration and pair plumbing, per-token fee pools, deduction at fill time, and fee visibility — including the per-pair rates in
get_trading_pairsand the dashboard (#107, #108, #109, #105, #153) - Order history and queries: order-lifecycle history, a per-user order index with submission timestamps, and a
get_my_ordersquery; order-book ticker and depth queries (#41, #110, #111, #115, #74) - Audit and event log for state replay, with deposit, withdrawal, trading-pair, limit-order, and matching/settlement events (#38, #42, #44, #47, #66, #68)
- Trading halts: global and per-pair halt, on a permission layer (#125, #126, #127)
- State persistence: order history and balances persisted in stable memory and restored across upgrades (#62, #63, #64)
- Observability: operation logging, canister metrics, and a dashboard with trading-pair details (#23, #52, #79, #80)
Changed
- Settlement exactness: enforce the tick·lot settlement invariant, settle fills in quote units per whole base token, and widen price and tick size to u128 (#119, #121, #122)
- Add a min/max notional filter per trading pair (#131)
- Expand order records with partial-fill information (#133)
- Rename the project from DEX to OISY TRADE (#138)