add support for euro cryptocurrencies, ALGO and remove unknown crypto… (#480)

* add support for euro cryptocurrencies, ALGO and remove unknown cryptocurrencies from list

* Update changelog

Co-authored-by: Thomas <4159106+dtslvr@users.noreply.github.com>
pull/484/head
Valentin Zickner 3 years ago committed by GitHub
parent bc58ee86ca
commit 80782f1098
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -7,11 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased ## Unreleased
### Added
- Added support for cryptocurrency _Algorand_
### Changed ### Changed
- Locked the symbol input in the edit transaction dialog - Locked the symbol input in the edit transaction dialog
- Filtered the account selector by account type (`SECURITIES`) in the create or edit transaction dialog - Filtered the account selector by account type (`SECURITIES`) in the create or edit transaction dialog
### Fixed
- Fixed the search functionality for cryptocurrency symbols (do not show unsupported symbols)
## 1.78.0 - 20.11.2021 ## 1.78.0 - 20.11.2021
### Added ### Added

@ -1,5 +1,6 @@
{ {
"1INCH": "1inch", "1INCH": "1inch",
"ALGO": "Algorand",
"AVAX": "Avalanche", "AVAX": "Avalanche",
"MATIC": "Polygon", "MATIC": "Polygon",
"SHIB": "Shiba Inu" "SHIB": "Shiba Inu"

@ -197,16 +197,20 @@ export class YahooFinanceService implements DataProviderInterface {
// filter out undefined symbols // filter out undefined symbols
return quote.symbol; return quote.symbol;
}) })
.filter(({ quoteType }) => { .filter(({ quoteType, symbol }) => {
return ( return (
quoteType === 'CRYPTOCURRENCY' || (quoteType === 'CRYPTOCURRENCY' &&
this.cryptocurrencyService.isCrypto(
symbol.replace(new RegExp('-USD$'), 'USD').replace('1', '')
)) ||
quoteType === 'EQUITY' || quoteType === 'EQUITY' ||
quoteType === 'ETF' quoteType === 'ETF'
); );
}) })
.filter(({ quoteType, symbol }) => { .filter(({ quoteType, symbol }) => {
if (quoteType === 'CRYPTOCURRENCY') { if (quoteType === 'CRYPTOCURRENCY') {
// Only allow cryptocurrencies in USD // Only allow cryptocurrencies in USD to avoid having redundancy in the database.
// Trades need to be converted manually before to USD (or a UI converter needs to be developed)
return symbol.includes('USD'); return symbol.includes('USD');
} }
@ -254,14 +258,15 @@ export class YahooFinanceService implements DataProviderInterface {
if (isCurrency(aSymbol.substring(0, aSymbol.length - 3))) { if (isCurrency(aSymbol.substring(0, aSymbol.length - 3))) {
return `${aSymbol}=X`; return `${aSymbol}=X`;
} else if ( } else if (
this.cryptocurrencyService.isCrypto(aSymbol) || this.cryptocurrencyService.isCrypto(
this.cryptocurrencyService.isCrypto(aSymbol.replace('1', '')) aSymbol.replace(new RegExp('-USD$'), 'USD').replace('1', '')
)
) { ) {
// Add a dash before the last three characters // Add a dash before the last three characters
// BTCUSD -> BTC-USD // BTCUSD -> BTC-USD
// DOGEUSD -> DOGE-USD // DOGEUSD -> DOGE-USD
// SOL1USD -> SOL1-USD // SOL1USD -> SOL1-USD
return aSymbol.replace('USD', '-USD'); return aSymbol.replace(new RegExp('-?USD$'), '-USD');
} }
} }

Loading…
Cancel
Save