Skip to content

Conversation

@github-actions
Copy link

Automatic Release PR

This PR was automatically created after changes were pushed to develop.

Commits: 1 new commit(s)

Checklist

  • Review all changes
  • Verify CI passes
  • Approve and merge when ready for production

Kolibri1990 and others added 7 commits January 15, 2026 22:14
* feat: add pdf generation with realunit logo.

* feat: add balance/pdf endpoint.
* fix: fiat output without amount, crypto input override

* fix: remove unnecessary EVM blockchain check

* fix: exchange asset name param for DFX DEX withdraw
* feat: added scrypt exchange tx sync + log integration

* fix: fix formatting

* feat: sync refactoring

* feat(scrypt): add LIMIT orders with price tracking like Binance

Implement full trading support for Scrypt exchange with the same
rules as Binance/Kraken - using LIMIT orders with dynamic price tracking.

ScryptWebSocketConnection:
- Add MessageTypes: NEW_ORDER_SINGLE, EXECUTION_REPORT
- Add MessageTypes: MARKET_DATA_SNAPSHOT, SECURITY
- Add MessageTypes: ORDER_CANCEL_REQUEST, ORDER_CANCEL_REPLACE_REQUEST

ScryptService:
- Add trading enums: ScryptOrderStatus, ScryptOrderSide, ScryptOrderType
- Add fetchOrderBook() - get orderbook with bids/offers
- Add getCurrentPrice() - get best bid/ask price
- Add getSecurityInfo() / getMinTradeAmount() - dynamic min amounts
- Add placeOrder() with price parameter, default to LIMIT
- Add sell() - places LIMIT order at current market price
- Add cancelOrder() - cancel existing order
- Add editOrder() - update order price (OrderCancelReplaceRequest)
- Add getOrderStatus() with price field

ScryptAdapter:
- Add SELL command with tradeAsset parameter
- Add checkSellCompletion() with Binance-like price tracking:
  - NEW/PARTIALLY_FILLED: compare price, editOrder() if changed
  - CANCELLED: auto-restart with remaining if >= minAmount
  - FILLED: aggregate output from all correlation IDs
- Add aggregateSellOutput() for multi-order fills

* refactor(scrypt): improve logging and parallelize order fetching

- Add verbose log when order price is unchanged (like Binance)
- Parallelize aggregateSellOutput() with Promise.allSettled()
- Add failure logging and error handling for partial fetch failures
- Throw OrderFailedException if no orders can be fetched

* feat(scrypt): add migration for EUR/CHF trading rules

- Add ScryptTradingActions migration for rules 312 (CHF) and 313 (EUR)
- Set maximal=1000 to trigger automatic USDT conversion

* fix(scrypt): implement isBalanceTooLowError and fix float comparison

- Implement isBalanceTooLowError with common balance error messages
- Add tolerance for float comparison in price tracking to avoid
  unnecessary order updates due to rounding errors

* feat: implemented trade sync

* feat: refactoring

* feat: added from scrypt

* fix: fixed trading

* fix: fixed Scrypt requests

* [NOTASK] Refactoring 2

* fix: fixed trade handling

* feat: fixed trading amounts, added buy command, added price/balance checks

* feat: added Scrypt to pricing service

* [NOTASK] Small refactoring

* Add automatic SCB bank transaction detection

Automatically assign BankTxType.SCB to transactions where
the name contains "SCB AG".

* fix: migration not runnable on DEV (manual execution), small refactoring

---------

Co-authored-by: TaprootFreak <142087526+TaprootFreak@users.noreply.github.com>
Co-authored-by: Yannick1712 <52333989+Yannick1712@users.noreply.github.com>
* fix(exchange): add MEXC fee tracking and transaction sync

- Parse transactionFee from MEXC withdrawal responses
- Add MEXC to ExchangeSyncs for automatic transaction synchronization
- Sync ZCHF, XMR, USDT, ZANO tokens from MEXC every 5 minutes

* fix: apply prettier formatting and add fUSD token

- Fix prettier formatting in mexc.service.ts
- Add fUSD to MEXC token list for exchange sync
@TaprootFreak TaprootFreak merged commit 7ef765e into main Jan 19, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants