Bicrypto 5.6.4
17 January 2025
BUG FIXESECOSYSTEM TRADINGORDERBOOK INTEGRITYTRADING UICHART FIXESWEBSOCKET
Core v5.6.4
Release Date: January 17, 2025 Tags: BUG FIXES, ECOSYSTEM TRADING, ORDERBOOK INTEGRITY, TRADING UI, CHART FIXES, WEBSOCKET
Added
Orderbook Management
- Added automatic orderbook reconciliation against actual order states, which runs when the matching engine starts
- Removes ghost entries left behind by closed or cancelled orders
- Corrects amounts to match the open order totals
- Inserts entries for open orders that had none
- Added a locked-funds validation pass over every open order
- Checks that each open order has enough funds locked
- Locks the funds where the user has the balance but it was never locked
- Cancels orders where the user does not have the balance
- Reloads the order queue after the fixes and re-runs matching
Trading Features
- Added market type detection to the chart, which now reads the market type from the URL and requests ecosystem, futures or spot data accordingly, preventing wrong API calls and the error spam that followed them
Email System
- Added an endpoint that lets signed-in users resend their own verification email
- Checks the user is signed in
- Checks the email is not already verified
- Returns a clear success or error message
Changed
Orderbook Validation
- Changed server startup to validate the orderbook automatically
- Compares orderbook entries against actual open orders
- Detects ghost entries, amount mismatches and missing entries
- Fixes all discrepancies
- Broadcasts the corrected orderbook to everyone connected
- Changed the system to repair orderbook corruption left by past errors without anyone intervening
Order Matching
- Changed the matching engine to validate locked funds before executing a trade
- Checks the seller has enough of the base currency locked
- Checks the buyer has enough of the quote currency locked
- Prevents negative balance errors
- Skips invalid matches while keeping valid orders available
- Changed validation to distinguish a fixable order (funds available but not locked) from an invalid one (insufficient balance)
- Funds are locked automatically for fixable orders
- Only genuinely invalid orders are cancelled
- Fixed orders are reloaded and re-processed immediately
Live Data
- Changed the chart data stream format to drop the redundant symbol, since subscriptions are already filtered per symbol
- Removed noisy subscription logging that cluttered console output, keeping the broadcast logs that are useful for diagnosis
User Experience
- Changed error messages and user feedback across the trading interface
- Clearer validation messages
- Toast notifications instead of browser alerts
- Clearer balance display with validation
Fixed
Orderbook Integrity
- Fixed the orderbook showing completed or cancelled orders indefinitely — a startup sync now detects and removes ghost entries
- Fixed orderbook amounts not reflecting actual open orders after partial fills — the orderbook is reconciled against the order records on startup
- Fixed "Insufficient locked funds" errors where orders existed but the wallet funds were not locked — validation now checks and locks them automatically
- Fixed the order records and the orderbook falling out of step when a trade failed mid-execution
Trading Interface
- Fixed the percentage buttons (25%, 50%, 75%, 100%) showing "NaN" in the Amount and Total fields when wallet data is unavailable or the price is invalid
- Applied to limit orders
- Applied to market orders
- Applied to stop orders
- Fixed the email verification button only showing an alert without sending anything — it now sends the email and reports the result as a toast notification
- Fixed navigation menu titles and descriptions not translating despite the translations existing
- Fixed the incorrect "tokens to receive" figure on the ICO purchase page — the current phase price is now used instead of the base offering price
Chart and Data
- Fixed the candlestick chart not updating in real time when trades occur at a new price
- Fixed ecosystem markets requesting chart data from the external exchange provider instead of the ecosystem — the chart now derives the market type from the URL
- Fixed "does not have market symbol" errors when ecosystem markets tried to fill historical data gaps through an external exchange
Email System
- Fixed excessive debug output from the email sending system
- Fixed verbose debug and logger flags being left on in the mail configuration