Fix: Incorrect Currency Assignment for Stock Prices (#1623) #1798
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.
Fixes #1623
Issue Description
Stocks from non-USD markets (such as Saudi and Indian stock exchanges) were incorrectly assigned USD as their currency, which distorted portfolio calculations. The issue was due to the application extracting the currency from the
prices
array instead of the main response object.Root Cause
The application was fetching stock price data from Synth Finance's "Open/Close Prices" API, but it incorrectly attempted to extract the currency from within each price entry under
prices[]
, even though the API returns the correct currency in the main object undercurrency
. This caused the system to default to "USD" when currency information was missing at the price level.Solution
body.dig("currency")
) instead of from the price entry.Impact
✅ Fixes incorrect currency assignment for stock prices in non-USD markets.
✅ Prevents miscalculations of portfolio value due to incorrect currency conversion.
✅ Ensures compatibility with Synth Finance’s API response structure.
Testing