Fix exchange order double-counting in financial log#3281
Merged
TaprootFreak merged 1 commit intodevelopfrom Feb 27, 2026
Merged
Fix exchange order double-counting in financial log#3281TaprootFreak merged 1 commit intodevelopfrom
TaprootFreak merged 1 commit intodevelopfrom
Conversation
For transfer/deposit commands between exchanges, the destination exchange balance updates (via WebSocket/API) before the order is marked complete. This caused inputAmount to be counted twice: once in liquidity (updated balance) and once in exchangeOrder (IN_PROGRESS order). Now only counts exchangeOrder when the action system matches the target asset's exchange (funds leaving), skipping when funds arrive from another exchange where the balance already reflects those funds.
davidleomay
approved these changes
Feb 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
inputAmountinsaveTradingLog()when funds arrive at the destination exchange before the order is marked completeinputAmountwas also added — causing alternating valid/invalid log entriesexchangeOrderwhenaction.systemmatches the target asset's exchange (funds leaving this exchange), skipping when funds arrive from another exchangeRoot cause
When a transfer order moves funds from exchange A to exchange B (e.g. Kraken → Scrypt):
action.system= source exchange (Kraken)targetAsset= managed asset on destination (Scrypt/USDT)IN_PROGRESSuntil deposit confirmed in Scrypt's deposit listsaveTradingLogcounts bothliquidity(updated balance) andexchangeOrder(pending order) → double-countTest plan
exchangeOrderis 0 when transfer order has already been reflected in balance