-
Notifications
You must be signed in to change notification settings - Fork 18
feat: added scrypt exchange tx sync + log integration #2949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
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
- 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
…e-tracking' into feat/yapeal-script-tx
- Add ScryptTradingActions migration for rules 312 (CHF) and 313 (EUR) - Set maximal=1000 to trigger automatic USDT conversion
|
- Implement isBalanceTooLowError with common balance error messages - Add tolerance for float comparison in price tracking to avoid unnecessary order updates due to rounding errors
Code Review: Inkonsistente Enum-VerwendungIn Zeile 227 und 246: t.TransactionType === 'Withdrawal' // String-LiteralSollte sein: t.TransactionType === ScryptTransactionType.WITHDRAWAL // EnumDies ist inkonsistent mit dem Rest des Codes, wo Enums korrekt verwendet werden (z.B. Herkunft: Ursprünglich aus PR #2569 (Scrypt Integration) von @TaprootFreak Risiko: Gering - funktioniert aktuell, aber fragil bei API-Änderungen. Empfehlung: Fix vor Merge oder als Follow-up. |
Release Checklist
Pre-Release
Post-Release