From 76890e63fafb7795b5bc8f8e0933dcceeccd67bb Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 29 Jun 2024 10:03:45 +0200 Subject: [PATCH 01/28] Bugfix/fix all time high in benchmarks (#3527) * Fix all time high * Update changelog --- CHANGELOG.md | 6 ++++++ apps/api/src/app/benchmark/benchmark.service.ts | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 514f89393..c52c8589c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Fixed + +- Fixed an issue with the all time high in the benchmarks of the markets overview + ## 2.91.0 - 2024-06-26 ### Added diff --git a/apps/api/src/app/benchmark/benchmark.service.ts b/apps/api/src/app/benchmark/benchmark.service.ts index f4f2d7848..6008746d1 100644 --- a/apps/api/src/app/benchmark/benchmark.service.ts +++ b/apps/api/src/app/benchmark/benchmark.service.ts @@ -161,7 +161,10 @@ export class BenchmarkService { performances: { allTimeHigh: { date: allTimeHigh?.date, - performancePercent: performancePercentFromAllTimeHigh + performancePercent: + performancePercentFromAllTimeHigh >= 0 + ? 0 + : performancePercentFromAllTimeHigh } }, symbol: benchmarkAssetProfiles[index].symbol, @@ -419,7 +422,7 @@ export class BenchmarkService { private getMarketCondition( aPerformanceInPercent: number ): Benchmark['marketCondition'] { - if (aPerformanceInPercent === 0) { + if (aPerformanceInPercent >= 0) { return 'ALL_TIME_HIGH'; } else if (aPerformanceInPercent <= -0.2) { return 'BEAR_MARKET'; From 4d3dff3e5bbec7e9a84060f231100ddf42d1967d Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 29 Jun 2024 10:53:08 +0200 Subject: [PATCH 02/28] Feature/extend personal finance tools 20240629 (#3528) * Add Anlage.App * Add Portfoloo * Add SharesMaster * Add Merlin * Add Holistic * Add AlphaTrackr * Add Segmio --- libs/common/src/lib/personal-finance-tools.ts | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/libs/common/src/lib/personal-finance-tools.ts b/libs/common/src/lib/personal-finance-tools.ts index 6b61d77d8..8a20ca15c 100644 --- a/libs/common/src/lib/personal-finance-tools.ts +++ b/libs/common/src/lib/personal-finance-tools.ts @@ -18,6 +18,13 @@ export const personalFinanceTools: Product[] = [ origin: `United States`, slogan: 'Investment Software Suite' }, + { + founded: 2016, + key: 'alphatrackr', + languages: ['English'], + name: 'AlphaTrackr', + slogan: 'Investment Portfolio Tracking Tool' + }, { founded: 2017, hasSelfHostingAbility: false, @@ -26,6 +33,17 @@ export const personalFinanceTools: Product[] = [ origin: `Switzerland`, slogan: 'Simplicity for Complex Wealth' }, + { + founded: 2018, + hasFreePlan: true, + hasSelfHostingAbility: false, + key: 'anlage.app', + languages: ['English'], + name: 'Anlage.App', + origin: `Austria`, + pricingPerYear: '$120', + slogan: 'Analyze and track your portfolio.' + }, { founded: 2022, hasFreePlan: true, @@ -190,6 +208,16 @@ export const personalFinanceTools: Product[] = [ origin: `Germany`, slogan: 'Volle Kontrolle über deine Investitionen' }, + { + hasFreePlan: true, + hasSelfHostingAbility: false, + key: 'holistic-capital', + languages: ['Deutsch'], + name: 'Holistic', + origin: `Germany`, + slogan: 'Die All-in-One Lösung für dein Vermögen.', + useAnonymously: true + }, { hasFreePlan: true, hasSelfHostingAbility: false, @@ -264,6 +292,17 @@ export const personalFinanceTools: Product[] = [ region: `United States`, slogan: 'Your financial future, in your control' }, + { + hasFreePlan: false, + hasSelfHostingAbility: false, + key: 'merlincrypto', + languages: ['English'], + name: 'Merlin', + origin: `United States`, + pricingPerYear: '$204', + region: 'Canada, United States', + slogan: 'The smartest way to track your crypto' + }, { founded: 2019, hasFreePlan: false, @@ -331,6 +370,14 @@ export const personalFinanceTools: Product[] = [ pricingPerYear: '$360', slogan: 'Tools for Better Investors' }, + { + hasFreePlan: true, + key: 'portfoloo', + name: 'Portfoloo', + note: 'Portfoloo has discontinued', + slogan: + 'Free Stock Portfolio Tracker with unlimited portfolio and stocks for DIY investors' + }, { founded: 2021, hasFreePlan: true, @@ -370,6 +417,13 @@ export const personalFinanceTools: Product[] = [ pricingPerYear: '$239', slogan: 'Stock Market Analysis & Tools for Investors' }, + { + founded: 2022, + key: 'segmio', + name: 'Segmio', + origin: `Romania`, + slogan: 'Wealth Management and Net Worth Tracking' + }, { founded: 2007, hasFreePlan: true, @@ -381,6 +435,13 @@ export const personalFinanceTools: Product[] = [ region: `Global`, slogan: 'Stock Portfolio Tracker' }, + { + hasFreePlan: true, + key: 'sharesmaster', + name: 'SharesMaster', + note: 'SharesMaster has discontinued', + slogan: 'Free Stock Portfolio Tracker' + }, { hasFreePlan: true, hasSelfHostingAbility: false, From 8386fec98a552fa90eb138d0dd8999be9d5b1aba Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 29 Jun 2024 10:53:25 +0200 Subject: [PATCH 03/28] Feature/automatic deletion of unused asset profiles (#3525) * Automatic deletion of unused asset profiles * Update changelog --- CHANGELOG.md | 4 ++++ apps/api/src/app/order/order.controller.ts | 1 - apps/api/src/app/order/order.service.ts | 27 ++++++++++++++++++---- apps/api/src/app/user/user.module.ts | 2 ++ apps/api/src/app/user/user.service.ts | 6 +++-- 5 files changed, 33 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c52c8589c..8bd423470 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Changed + +- Added support for automatic deletion of unused asset profiles when deleting activities + ### Fixed - Fixed an issue with the all time high in the benchmarks of the markets overview diff --git a/apps/api/src/app/order/order.controller.ts b/apps/api/src/app/order/order.controller.ts index f3709abae..f9190d1eb 100644 --- a/apps/api/src/app/order/order.controller.ts +++ b/apps/api/src/app/order/order.controller.ts @@ -66,7 +66,6 @@ export class OrderController { return this.orderService.deleteOrders({ filters, - userCurrency: this.request.user.Settings.settings.baseCurrency, userId: this.request.user.id }); } diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts index 7a4dd5a4a..a1fa4db6c 100644 --- a/apps/api/src/app/order/order.service.ts +++ b/apps/api/src/app/order/order.service.ts @@ -184,7 +184,15 @@ export class OrderService { where }); - if (['FEE', 'INTEREST', 'ITEM', 'LIABILITY'].includes(order.type)) { + const [symbolProfile] = + await this.symbolProfileService.getSymbolProfilesByIds([ + order.symbolProfileId + ]); + + if ( + ['FEE', 'INTEREST', 'ITEM', 'LIABILITY'].includes(order.type) || + symbolProfile.activitiesCount === 0 + ) { await this.symbolProfileService.deleteById(order.symbolProfileId); } @@ -200,18 +208,16 @@ export class OrderService { public async deleteOrders({ filters, - userCurrency, userId }: { filters?: Filter[]; - userCurrency: string; userId: string; }): Promise { const { activities } = await this.getOrders({ filters, userId, - userCurrency, includeDrafts: true, + userCurrency: undefined, withExcludedAccounts: true }); @@ -225,6 +231,19 @@ export class OrderService { } }); + const symbolProfiles = + await this.symbolProfileService.getSymbolProfilesByIds( + activities.map(({ symbolProfileId }) => { + return symbolProfileId; + }) + ); + + for (const { activitiesCount, id } of symbolProfiles) { + if (activitiesCount === 0) { + await this.symbolProfileService.deleteById(id); + } + } + this.eventEmitter.emit( PortfolioChangedEvent.getName(), new PortfolioChangedEvent({ userId }) diff --git a/apps/api/src/app/user/user.module.ts b/apps/api/src/app/user/user.module.ts index 35f78dc5f..063cfef82 100644 --- a/apps/api/src/app/user/user.module.ts +++ b/apps/api/src/app/user/user.module.ts @@ -1,3 +1,4 @@ +import { OrderModule } from '@ghostfolio/api/app/order/order.module'; import { SubscriptionModule } from '@ghostfolio/api/app/subscription/subscription.module'; import { ConfigurationModule } from '@ghostfolio/api/services/configuration/configuration.module'; import { PrismaModule } from '@ghostfolio/api/services/prisma/prisma.module'; @@ -19,6 +20,7 @@ import { UserService } from './user.service'; secret: process.env.JWT_SECRET_KEY, signOptions: { expiresIn: '30 days' } }), + OrderModule, PrismaModule, PropertyModule, SubscriptionModule, diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 51bd4c4db..ce0ec5524 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -1,3 +1,4 @@ +import { OrderService } from '@ghostfolio/api/app/order/order.service'; import { SubscriptionService } from '@ghostfolio/api/app/subscription/subscription.service'; import { environment } from '@ghostfolio/api/environments/environment'; import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event'; @@ -40,6 +41,7 @@ export class UserService { public constructor( private readonly configurationService: ConfigurationService, private readonly eventEmitter: EventEmitter2, + private readonly orderService: OrderService, private readonly prismaService: PrismaService, private readonly propertyService: PropertyService, private readonly subscriptionService: SubscriptionService, @@ -398,8 +400,8 @@ export class UserService { } catch {} try { - await this.prismaService.order.deleteMany({ - where: { userId: where.id } + await this.orderService.deleteOrders({ + userId: where.id }); } catch {} From f08b0b570b6651a9e2787ee845957f65d0d36410 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 29 Jun 2024 16:30:40 +0200 Subject: [PATCH 04/28] Feature/support derived currencies in currency validation (#3529) * Support derived currencies in currency validation * Update changelog --- CHANGELOG.md | 1 + .../api/src/app/account/create-account.dto.ts | 5 ++- .../api/src/app/account/update-account.dto.ts | 5 ++- .../src/app/admin/update-asset-profile.dto.ts | 5 ++- apps/api/src/app/order/create-order.dto.ts | 6 +-- apps/api/src/app/order/update-order.dto.ts | 6 +-- .../src/app/user/update-user-setting.dto.ts | 4 +- apps/api/src/validators/is-currency-code.ts | 44 +++++++++++++++++++ test/import/ok-derived-currency.json | 30 +++++++++++++ 9 files changed, 92 insertions(+), 14 deletions(-) create mode 100644 apps/api/src/validators/is-currency-code.ts create mode 100644 test/import/ok-derived-currency.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 8bd423470..0ba81e462 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Added support for derived currencies in the currency validation - Added support for automatic deletion of unused asset profiles when deleting activities ### Fixed diff --git a/apps/api/src/app/account/create-account.dto.ts b/apps/api/src/app/account/create-account.dto.ts index b719c2619..f3c88316f 100644 --- a/apps/api/src/app/account/create-account.dto.ts +++ b/apps/api/src/app/account/create-account.dto.ts @@ -1,7 +1,8 @@ +import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code'; + import { Transform, TransformFnParams } from 'class-transformer'; import { IsBoolean, - IsISO4217CurrencyCode, IsNumber, IsOptional, IsString, @@ -20,7 +21,7 @@ export class CreateAccountDto { ) comment?: string; - @IsISO4217CurrencyCode() + @IsCurrencyCode() currency: string; @IsOptional() diff --git a/apps/api/src/app/account/update-account.dto.ts b/apps/api/src/app/account/update-account.dto.ts index 1b84a9bf6..6b87af71b 100644 --- a/apps/api/src/app/account/update-account.dto.ts +++ b/apps/api/src/app/account/update-account.dto.ts @@ -1,7 +1,8 @@ +import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code'; + import { Transform, TransformFnParams } from 'class-transformer'; import { IsBoolean, - IsISO4217CurrencyCode, IsNumber, IsOptional, IsString, @@ -20,7 +21,7 @@ export class UpdateAccountDto { ) comment?: string; - @IsISO4217CurrencyCode() + @IsCurrencyCode() currency: string; @IsString() diff --git a/apps/api/src/app/admin/update-asset-profile.dto.ts b/apps/api/src/app/admin/update-asset-profile.dto.ts index e3de3cab1..8c9ae220b 100644 --- a/apps/api/src/app/admin/update-asset-profile.dto.ts +++ b/apps/api/src/app/admin/update-asset-profile.dto.ts @@ -1,8 +1,9 @@ +import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code'; + import { AssetClass, AssetSubClass, Prisma } from '@prisma/client'; import { IsArray, IsEnum, - IsISO4217CurrencyCode, IsObject, IsOptional, IsString, @@ -26,7 +27,7 @@ export class UpdateAssetProfileDto { @IsOptional() countries?: Prisma.InputJsonArray; - @IsISO4217CurrencyCode() + @IsCurrencyCode() @IsOptional() currency?: string; diff --git a/apps/api/src/app/order/create-order.dto.ts b/apps/api/src/app/order/create-order.dto.ts index 72aba3a3b..6f52e7032 100644 --- a/apps/api/src/app/order/create-order.dto.ts +++ b/apps/api/src/app/order/create-order.dto.ts @@ -1,3 +1,4 @@ +import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code'; import { IsAfter1970Constraint } from '@ghostfolio/common/validator-constraints/is-after-1970'; import { @@ -12,7 +13,6 @@ import { IsArray, IsBoolean, IsEnum, - IsISO4217CurrencyCode, IsISO8601, IsNumber, IsOptional, @@ -42,10 +42,10 @@ export class CreateOrderDto { ) comment?: string; - @IsISO4217CurrencyCode() + @IsCurrencyCode() currency: string; - @IsISO4217CurrencyCode() + @IsCurrencyCode() @IsOptional() customCurrency?: string; diff --git a/apps/api/src/app/order/update-order.dto.ts b/apps/api/src/app/order/update-order.dto.ts index 2fd33b743..eabd1f418 100644 --- a/apps/api/src/app/order/update-order.dto.ts +++ b/apps/api/src/app/order/update-order.dto.ts @@ -1,3 +1,4 @@ +import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code'; import { IsAfter1970Constraint } from '@ghostfolio/common/validator-constraints/is-after-1970'; import { @@ -11,7 +12,6 @@ import { Transform, TransformFnParams } from 'class-transformer'; import { IsArray, IsEnum, - IsISO4217CurrencyCode, IsISO8601, IsNumber, IsOptional, @@ -41,10 +41,10 @@ export class UpdateOrderDto { ) comment?: string; - @IsISO4217CurrencyCode() + @IsCurrencyCode() currency: string; - @IsISO4217CurrencyCode() + @IsCurrencyCode() @IsOptional() customCurrency?: string; diff --git a/apps/api/src/app/user/update-user-setting.dto.ts b/apps/api/src/app/user/update-user-setting.dto.ts index d260b3aaf..1fc02ff4d 100644 --- a/apps/api/src/app/user/update-user-setting.dto.ts +++ b/apps/api/src/app/user/update-user-setting.dto.ts @@ -1,3 +1,4 @@ +import { IsCurrencyCode } from '@ghostfolio/api/validators/is-currency-code'; import type { ColorScheme, DateRange, @@ -7,7 +8,6 @@ import type { import { IsArray, IsBoolean, - IsISO4217CurrencyCode, IsISO8601, IsIn, IsNumber, @@ -21,7 +21,7 @@ export class UpdateUserSettingDto { @IsOptional() annualInterestRate?: number; - @IsISO4217CurrencyCode() + @IsCurrencyCode() @IsOptional() baseCurrency?: string; diff --git a/apps/api/src/validators/is-currency-code.ts b/apps/api/src/validators/is-currency-code.ts new file mode 100644 index 000000000..8e8530552 --- /dev/null +++ b/apps/api/src/validators/is-currency-code.ts @@ -0,0 +1,44 @@ +import { DERIVED_CURRENCIES } from '@ghostfolio/common/config'; + +import { + registerDecorator, + ValidationOptions, + ValidatorConstraint, + ValidatorConstraintInterface, + ValidationArguments +} from 'class-validator'; +import { isISO4217CurrencyCode } from 'class-validator'; + +export function IsCurrencyCode(validationOptions?: ValidationOptions) { + return function (object: Object, propertyName: string) { + registerDecorator({ + propertyName, + constraints: [], + options: validationOptions, + target: object.constructor, + validator: IsExtendedCurrencyConstraint + }); + }; +} + +@ValidatorConstraint({ async: false }) +export class IsExtendedCurrencyConstraint + implements ValidatorConstraintInterface +{ + public defaultMessage(args: ValidationArguments) { + return '$value must be a valid ISO4217 currency code'; + } + + public validate(currency: any) { + // Return true if currency is a standard ISO 4217 code or a derived currency + return ( + isISO4217CurrencyCode(currency) || + [ + ...DERIVED_CURRENCIES.map((derivedCurrency) => { + return derivedCurrency.currency; + }), + 'USX' + ].includes(currency) + ); + } +} diff --git a/test/import/ok-derived-currency.json b/test/import/ok-derived-currency.json new file mode 100644 index 000000000..b43be395d --- /dev/null +++ b/test/import/ok-derived-currency.json @@ -0,0 +1,30 @@ +{ + "meta": { + "date": "2024-06-28T00:00:00.000Z", + "version": "dev" + }, + "accounts": [ + { + "balance": 2000, + "currency": "USD", + "id": "b2d3fe1d-d6a8-41a3-be39-07ef5e9480f0", + "isExcluded": false, + "name": "My Online Trading Account", + "platformId": null + } + ], + "activities": [ + { + "accountId": "b2d3fe1d-d6a8-41a3-be39-07ef5e9480f0", + "comment": null, + "fee": 0, + "quantity": 5, + "type": "BUY", + "unitPrice": 10875.00, + "currency": "ZAc", + "dataSource": "YAHOO", + "date": "2024-06-27T22:00:00.000Z", + "symbol": "JSE.JO" + } + ] +} From dcec3accf076d1c6c4a5f6a722e1213c21eb9230 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 29 Jun 2024 16:53:35 +0200 Subject: [PATCH 05/28] Feature/improve caching of benchmarks (#3530) * Improve caching * Update changelog --- CHANGELOG.md | 1 + apps/api/src/app/benchmark/benchmark.service.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0ba81e462..a720c17bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added support for derived currencies in the currency validation - Added support for automatic deletion of unused asset profiles when deleting activities +- Improved the caching of the benchmarks in the markets overview (only cache if needed) ### Fixed diff --git a/apps/api/src/app/benchmark/benchmark.service.ts b/apps/api/src/app/benchmark/benchmark.service.ts index 6008746d1..27d91fd7d 100644 --- a/apps/api/src/app/benchmark/benchmark.service.ts +++ b/apps/api/src/app/benchmark/benchmark.service.ts @@ -135,7 +135,7 @@ export class BenchmarkService { Promise.all(promisesAllTimeHighs), Promise.all(promisesBenchmarkTrends) ]); - let storeInCache = true; + let storeInCache = useCache; benchmarks = allTimeHighs.map((allTimeHigh, index) => { const { marketPrice } = From 83b5cfff1ffab27f5d02e2f8132ef7199b956618 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 29 Jun 2024 17:06:21 +0200 Subject: [PATCH 06/28] Feature/upgrade prisma to version 5.16.1 (#3526) * Upgrade prisma to version 5.16.1 * Update changelog --- CHANGELOG.md | 1 + package.json | 4 +-- yarn.lock | 90 ++++++++++++++++++++++++++-------------------------- 3 files changed, 48 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a720c17bc..80b0dca84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added support for derived currencies in the currency validation - Added support for automatic deletion of unused asset profiles when deleting activities - Improved the caching of the benchmarks in the markets overview (only cache if needed) +- Upgraded `prisma` from version `5.15.0` to `5.16.1` ### Fixed diff --git a/package.json b/package.json index 4adf4fed1..49402fa3e 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "@nestjs/platform-express": "10.1.3", "@nestjs/schedule": "3.0.2", "@nestjs/serve-static": "4.0.0", - "@prisma/client": "5.15.0", + "@prisma/client": "5.16.1", "@simplewebauthn/browser": "9.0.1", "@simplewebauthn/server": "9.0.3", "@stripe/stripe-js": "3.5.0", @@ -126,7 +126,7 @@ "passport": "0.7.0", "passport-google-oauth20": "2.0.0", "passport-jwt": "4.0.1", - "prisma": "5.15.0", + "prisma": "5.16.1", "reflect-metadata": "0.1.13", "rxjs": "7.5.6", "stripe": "15.11.0", diff --git a/yarn.lock b/yarn.lock index 32cb397c4..2f983fd56 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5987,46 +5987,46 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== -"@prisma/client@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.15.0.tgz#a9443ace9b8a8d57aff70647168e95f2f55c5dc9" - integrity sha512-wPTeTjbd2Q0abOeffN7zCDCbkp9C9cF+e9HPiI64lmpehyq2TepgXE+sY7FXr7Rhbb21prLMnhXX27/E11V09w== - -"@prisma/debug@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.15.0.tgz#a4c1d8dbca9cf29aab1c82a56a65224ed3e05f13" - integrity sha512-QpEAOjieLPc/4sMny/WrWqtpIAmBYsgqwWlWwIctqZO0AbhQ9QcT6x2Ut3ojbDo/pFRCCA1Z1+xm2MUy7fAkZA== - -"@prisma/engines-version@5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022": - version "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022" - resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022.tgz#4469a372b74088db05c0fc8cff65f229b804fa51" - integrity sha512-3BEgZ41Qb4oWHz9kZNofToRvNeS4LZYaT9pienR1gWkjhky6t6K1NyeWNBkqSj2llgraUNbgMOCQPY4f7Qp5wA== - -"@prisma/engines@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.15.0.tgz#bddf1973b5b0d2ebed473ed445b1a7c8dd23300b" - integrity sha512-hXL5Sn9hh/ZpRKWiyPA5GbvF3laqBHKt6Vo70hYqqOhh5e0ZXDzHcdmxNvOefEFeqxra2DMz2hNbFoPvqrVe1w== - dependencies: - "@prisma/debug" "5.15.0" - "@prisma/engines-version" "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022" - "@prisma/fetch-engine" "5.15.0" - "@prisma/get-platform" "5.15.0" - -"@prisma/fetch-engine@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.15.0.tgz#f5bafd6aed3f58c41b5d0d6f832d652aa5d4cde7" - integrity sha512-z6AY5yyXxc20Klj7wwnfGP0iIUkVKzybqapT02zLYR/nf9ynaeN8bq73WRmi1TkLYn+DJ5Qy+JGu7hBf1pE78A== - dependencies: - "@prisma/debug" "5.15.0" - "@prisma/engines-version" "5.15.0-29.12e25d8d06f6ea5a0252864dd9a03b1bb51f3022" - "@prisma/get-platform" "5.15.0" - -"@prisma/get-platform@5.15.0": - version "5.15.0" - resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.15.0.tgz#d39fbe8458432f76afeb6c9199bffae73db4f5cc" - integrity sha512-1GULDkW4+/VQb73vihxCBSc4Chc2x88MA+O40tcZFjmBzG4/fF44PaXFxUqKSFltxU9L9GIMLhh0Gfkk/pUbtg== - dependencies: - "@prisma/debug" "5.15.0" +"@prisma/client@5.16.1": + version "5.16.1" + resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.16.1.tgz#65c5649b4701c097e7fa943c91a3140ce8bf053d" + integrity sha512-wM9SKQjF0qLxdnOZIVAIMKiz6Hu7vDt4FFAih85K1dk/Rr2mdahy6d3QP41K62N9O0DJJA//gUDA3Mp49xsKIg== + +"@prisma/debug@5.16.1": + version "5.16.1" + resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.16.1.tgz#4887a57a0973fb732a60c30dc48de97bf1eefd7e" + integrity sha512-JsNgZAg6BD9RInLSrg7ZYzo11N7cVvYArq3fHGSD89HSgtN0VDdjV6bib7YddbcO6snzjchTiLfjeTqBjtArVQ== + +"@prisma/engines-version@5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303": + version "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303" + resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303.tgz#63ceebefb7daa1eb17f250cad75d35999a50ee1b" + integrity sha512-HkT2WbfmFZ9WUPyuJHhkiADxazHg8Y4gByrTSVeb3OikP6tjQ7txtSUGu9OBOBH0C13dPKN2qqH12xKtHu/Hiw== + +"@prisma/engines@5.16.1": + version "5.16.1" + resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.16.1.tgz#a14e5d08d34241ed1f1bb7d11ed44eacb37b6fc6" + integrity sha512-KkyF3eIUtBIyp5A/rJHCtwQO18OjpGgx18PzjyGcJDY/+vNgaVyuVd+TgwBgeq6NLdd1XMwRCI+58vinHsAdfA== + dependencies: + "@prisma/debug" "5.16.1" + "@prisma/engines-version" "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303" + "@prisma/fetch-engine" "5.16.1" + "@prisma/get-platform" "5.16.1" + +"@prisma/fetch-engine@5.16.1": + version "5.16.1" + resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.16.1.tgz#506a034eb23222af27ba635eb48c63df0ba7fc14" + integrity sha512-oOkjaPU1lhcA/Rvr4GVfd1NLJBwExgNBE36Ueq7dr71kTMwy++a3U3oLd2ZwrV9dj9xoP6LjCcky799D9nEt4w== + dependencies: + "@prisma/debug" "5.16.1" + "@prisma/engines-version" "5.16.0-24.34ace0eb2704183d2c05b60b52fba5c43c13f303" + "@prisma/get-platform" "5.16.1" + +"@prisma/get-platform@5.16.1": + version "5.16.1" + resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.16.1.tgz#613197c58acaafd5142d48a11f4df45a8f26a9e9" + integrity sha512-R4IKnWnMkR2nUAbU5gjrPehdQYUUd7RENFD2/D+xXTNhcqczp0N+WEGQ3ViyI3+6mtVcjjNIMdnUTNyu3GxIgA== + dependencies: + "@prisma/debug" "5.16.1" "@radix-ui/number@1.0.1": version "1.0.1" @@ -17653,12 +17653,12 @@ pretty-hrtime@^1.0.3: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A== -prisma@5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.15.0.tgz#887c295caa1b81b8849d94a2751cc0e0994f86d1" - integrity sha512-JA81ACQSCi3a7NUOgonOIkdx8PAVkO+HbUOxmd00Yb8DgIIEpr2V9+Qe/j6MLxIgWtE/OtVQ54rVjfYRbZsCfw== +prisma@5.16.1: + version "5.16.1" + resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.16.1.tgz#6dfd1e27e6534741326f4a231f04c16b3fbb7ba9" + integrity sha512-Z1Uqodk44diztImxALgJJfNl2Uisl9xDRvqybMKEBYJLNKNhDfAHf+ZIJbZyYiBhLMbKU9cYGdDVG5IIXEnL2Q== dependencies: - "@prisma/engines" "5.15.0" + "@prisma/engines" "5.16.1" prismjs@^1.28.0: version "1.29.0" From 554136cdcd4acb939adff140af9d05931eda867e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 30 Jun 2024 09:21:04 +0200 Subject: [PATCH 07/28] Feature/bulk deletion for asset profiles (#3531) * Add support for bulk deletion of asset profiles * Update changelog --- CHANGELOG.md | 4 +++ .../admin-market-data.component.ts | 19 ++++++++++-- .../admin-market-data/admin-market-data.html | 30 +++++++++++++++++- .../admin-market-data.module.ts | 2 ++ .../admin-market-data.service.ts | 31 +++++++++++++++++-- .../asset-profile-dialog.component.ts | 2 +- 6 files changed, 82 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80b0dca84..096a8e20e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added support for bulk deletion of asset profiles from the market data table in the admin control panel + ### Changed - Added support for derived currencies in the currency validation diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts index 6051c94dc..add0e998f 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts @@ -10,6 +10,7 @@ import { Filter, UniqueAsset, User } from '@ghostfolio/common/interfaces'; import { AdminMarketDataItem } from '@ghostfolio/common/interfaces/admin-market-data.interface'; import { translate } from '@ghostfolio/ui/i18n'; +import { SelectionModel } from '@angular/cdk/collections'; import { AfterViewInit, ChangeDetectionStrategy, @@ -97,6 +98,7 @@ export class AdminMarketDataComponent public defaultDateFormat: string; public deviceType: string; public displayedColumns = [ + 'select', 'nameWithSymbol', 'dataSource', 'assetClass', @@ -115,6 +117,7 @@ export class AdminMarketDataComponent public isUUID = isUUID; public placeholder = ''; public pageSize = DEFAULT_PAGE_SIZE; + public selection: SelectionModel>; public totalItems = 0; public user: User; @@ -188,6 +191,8 @@ export class AdminMarketDataComponent this.benchmarks = benchmarks; this.deviceType = this.deviceService.getDeviceInfo().deviceType; + + this.selection = new SelectionModel(true); } public onChangePage(page: PageEvent) { @@ -198,8 +203,16 @@ export class AdminMarketDataComponent }); } - public onDeleteProfileData({ dataSource, symbol }: UniqueAsset) { - this.adminMarketDataService.deleteProfileData({ dataSource, symbol }); + public onDeleteAssetProfile({ dataSource, symbol }: UniqueAsset) { + this.adminMarketDataService.deleteAssetProfile({ dataSource, symbol }); + } + + public onDeleteAssetProfiles() { + this.adminMarketDataService.deleteAssetProfiles( + this.selection.selected.map(({ dataSource, symbol }) => { + return { dataSource, symbol }; + }) + ); } public onGather7Days() { @@ -286,6 +299,8 @@ export class AdminMarketDataComponent this.placeholder = this.activeFilters.length <= 0 ? $localize`Filter by...` : ''; + this.selection.clear(); + this.adminService .fetchAdminMarketData({ sortColumn, diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.html b/apps/client/src/app/components/admin-market-data/admin-market-data.html index 0606b136a..5a7312026 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.html +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -20,6 +20,27 @@ matSortDirection="asc" [dataSource]="dataSource" > + + + + @if ( + !( + element.activitiesCount !== 0 || + element.isBenchmark || + element.symbol.startsWith(ghostfolioScraperApiSymbolPrefix) + ) + ) { + + + } + + + Symbol @@ -152,6 +173,13 @@ + @@ -186,7 +214,7 @@ element.symbol.startsWith(ghostfolioScraperApiSymbolPrefix) " (click)=" - onDeleteProfileData({ + onDeleteAssetProfile({ dataSource: element.dataSource, symbol: element.symbol }) diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.module.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.module.ts index 73bf47f7f..87562460a 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.module.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.module.ts @@ -4,6 +4,7 @@ import { GfActivitiesFilterComponent } from '@ghostfolio/ui/activities-filter'; import { CommonModule } from '@angular/common'; import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; import { MatButtonModule } from '@angular/material/button'; +import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatMenuModule } from '@angular/material/menu'; import { MatPaginatorModule } from '@angular/material/paginator'; import { MatSortModule } from '@angular/material/sort'; @@ -25,6 +26,7 @@ import { GfCreateAssetProfileDialogModule } from './create-asset-profile-dialog/ GfCreateAssetProfileDialogModule, GfSymbolModule, MatButtonModule, + MatCheckboxModule, MatMenuModule, MatPaginatorModule, MatSortModule, diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts index 44319a7a3..4ea6dd82e 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts @@ -2,13 +2,13 @@ import { AdminService } from '@ghostfolio/client/services/admin.service'; import { UniqueAsset } from '@ghostfolio/common/interfaces'; import { Injectable } from '@angular/core'; -import { takeUntil } from 'rxjs'; +import { EMPTY, catchError, finalize, forkJoin, takeUntil } from 'rxjs'; @Injectable() export class AdminMarketDataService { public constructor(private adminService: AdminService) {} - public deleteProfileData({ dataSource, symbol }: UniqueAsset) { + public deleteAssetProfile({ dataSource, symbol }: UniqueAsset) { const confirmation = confirm( $localize`Do you really want to delete this asset profile?` ); @@ -23,4 +23,31 @@ export class AdminMarketDataService { }); } } + + public deleteAssetProfiles(uniqueAssets: UniqueAsset[]) { + const confirmation = confirm( + $localize`Do you really want to delete these asset profiles?` + ); + + if (confirmation) { + const deleteRequests = uniqueAssets.map(({ dataSource, symbol }) => { + return this.adminService.deleteProfileData({ dataSource, symbol }); + }); + + forkJoin(deleteRequests) + .pipe( + catchError(() => { + alert($localize`Oops! Could not delete asset profiles.`); + + return EMPTY; + }), + finalize(() => { + setTimeout(() => { + window.location.reload(); + }, 300); + }) + ) + .subscribe(() => {}); + } + } } diff --git a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts index bf8de8ca9..0fbacb815 100644 --- a/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts +++ b/apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.component.ts @@ -176,7 +176,7 @@ export class AssetProfileDialog implements OnDestroy, OnInit { } public onDeleteProfileData({ dataSource, symbol }: UniqueAsset) { - this.adminMarketDataService.deleteProfileData({ dataSource, symbol }); + this.adminMarketDataService.deleteAssetProfile({ dataSource, symbol }); this.dialogRef.close(); } From 0f8dc62c53514315c47f5392def4d0b911f6e2b5 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 30 Jun 2024 09:23:03 +0200 Subject: [PATCH 08/28] Release 2.92.0 (#3532) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 096a8e20e..a7dc7abd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.92.0 - 2024-06-30 ### Added diff --git a/package.json b/package.json index 49402fa3e..7266bc68e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.91.0", + "version": "2.92.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From 0f77169952385d42777d40bdeba14dc8bd5eae6e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Mon, 1 Jul 2024 21:03:15 +0200 Subject: [PATCH 09/28] Fix wording (#3463) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd8af7af2..ba2b6bb9c 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ We provide official container images hosted on [Docker Hub](https://hub.docker.c | ------------------------ | ------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | `ACCESS_TOKEN_SALT` | string | | A random string used as salt for access tokens | | `API_KEY_COINGECKO_DEMO` | string (`optional`) |   | The _CoinGecko_ Demo API key | -| `API_KEY_COINGECKO_PRO` | string (`optional`) | | The _CoinGecko_ Pro API | +| `API_KEY_COINGECKO_PRO` | string (`optional`) | | The _CoinGecko_ Pro API key | | `DATABASE_URL` | string | | The database connection URL, e.g. `postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?sslmode=prefer` | | `HOST` | string (`optional`) | `0.0.0.0` | The host where the Ghostfolio application will run on | | `JWT_SECRET_KEY` | string | | A random string used for _JSON Web Tokens_ (JWT) | From 194aee97dbcacdd4b928c88b175e6bf2f2e9f748 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 2 Jul 2024 11:58:13 +0200 Subject: [PATCH 10/28] Feature/update development instructions to control flow (#3466) --- DEVELOPMENT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 10323e640..19687e8dd 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -10,7 +10,7 @@ Remove permission in `UserService` using `without()` ### Frontend -Use `*ngIf="user?.settings?.isExperimentalFeatures"` in HTML template +Use `@if (user?.settings?.isExperimentalFeatures) {}` in HTML template ## Git From 8227a2d91adbca330c65a3997e05e5a5e6e06164 Mon Sep 17 00:00:00 2001 From: Chang-Yen Tseng <10328757+Summon528@users.noreply.github.com> Date: Wed, 3 Jul 2024 09:16:07 -0700 Subject: [PATCH 11/28] Feature/improve detection of json used via scraper configuration (#3539) * Improve detection of json * Update changelog --- CHANGELOG.md | 6 ++++++ .../api/src/services/data-provider/manual/manual.service.ts | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7dc7abd4..850d2a7a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Changed + +- Improved the detection of REST APIs (`JSON`) used via the scraper configuration + ## 2.92.0 - 2024-06-30 ### Added diff --git a/apps/api/src/services/data-provider/manual/manual.service.ts b/apps/api/src/services/data-provider/manual/manual.service.ts index d2e5bca85..0655d2318 100644 --- a/apps/api/src/services/data-provider/manual/manual.service.ts +++ b/apps/api/src/services/data-provider/manual/manual.service.ts @@ -257,7 +257,7 @@ export class ManualService implements DataProviderInterface { signal: abortController.signal }); - if (headers['content-type'] === 'application/json') { + if (headers['content-type'].includes('application/json')) { const data = JSON.parse(body); const value = String( jsonpath.query(data, scraperConfiguration.selector)[0] From 1c9805bb96929261af4c61ac986b14d546d0996c Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Thu, 4 Jul 2024 20:25:15 +0200 Subject: [PATCH 12/28] Feature/improve allocations by etf holding for impersonation mode (#3534) * Improve allocations by ETF holding for impersonation mode * Update changelog --- CHANGELOG.md | 1 + .../src/app/portfolio/portfolio.service.ts | 12 ++++- .../symbol-profile/symbol-profile.service.ts | 3 +- .../allocations/allocations-page.component.ts | 50 +++++++++---------- 4 files changed, 39 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 850d2a7a1..d158171fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Improved the allocations by ETF holding on the allocations page for the impersonation mode (experimental) - Improved the detection of REST APIs (`JSON`) used via the scraper configuration ## 2.92.0 - 2024-06-30 diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index f088fa7c7..b5443c9cd 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -499,7 +499,17 @@ export class PortfolioService { grossPerformancePercentageWithCurrencyEffect?.toNumber() ?? 0, grossPerformanceWithCurrencyEffect: grossPerformanceWithCurrencyEffect?.toNumber() ?? 0, - holdings: assetProfile.holdings, + holdings: assetProfile.holdings.map( + ({ allocationInPercentage, name }) => { + return { + allocationInPercentage, + name, + valueInBaseCurrency: valueInBaseCurrency + .mul(allocationInPercentage) + .toNumber() + }; + } + ), investment: investment.toNumber(), marketState: dataProviderResponse?.marketState ?? 'delayed', name: assetProfile.name, diff --git a/apps/api/src/services/symbol-profile/symbol-profile.service.ts b/apps/api/src/services/symbol-profile/symbol-profile.service.ts index ae3ecafcd..1d7ea556b 100644 --- a/apps/api/src/services/symbol-profile/symbol-profile.service.ts +++ b/apps/api/src/services/symbol-profile/symbol-profile.service.ts @@ -221,8 +221,9 @@ export class SymbolProfileService { const { name, weight } = holding as Prisma.JsonObject; return { + allocationInPercentage: weight as number, name: (name as string) ?? UNKNOWN_KEY, - valueInBaseCurrency: weight as number + valueInBaseCurrency: undefined }; } ); diff --git a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts index 18c839d10..27c6326e9 100644 --- a/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts +++ b/apps/client/src/app/pages/portfolio/allocations/allocations-page.component.ts @@ -454,30 +454,22 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { if (position.holdings.length > 0) { for (const holding of position.holdings) { - const { name, valueInBaseCurrency } = holding; - - if ( - !this.hasImpersonationId && - !this.user.settings.isRestrictedView - ) { - if (this.topHoldingsMap[name]?.value) { - this.topHoldingsMap[name].value += - valueInBaseCurrency * - (isNumber(position.valueInBaseCurrency) - ? position.valueInBaseCurrency - : position.valueInPercentage); - } else { - this.topHoldingsMap[name] = { - name, - value: - valueInBaseCurrency * - (isNumber(position.valueInBaseCurrency) - ? this.portfolioDetails.holdings[symbol] - .valueInBaseCurrency - : this.portfolioDetails.holdings[symbol] - .valueInPercentage) - }; - } + const { allocationInPercentage, name, valueInBaseCurrency } = + holding; + + if (this.topHoldingsMap[name]?.value) { + this.topHoldingsMap[name].value += isNumber(valueInBaseCurrency) + ? valueInBaseCurrency + : allocationInPercentage * + this.portfolioDetails.holdings[symbol].valueInPercentage; + } else { + this.topHoldingsMap[name] = { + name, + value: isNumber(valueInBaseCurrency) + ? valueInBaseCurrency + : allocationInPercentage * + this.portfolioDetails.holdings[symbol].valueInPercentage + }; } } } @@ -562,6 +554,14 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { this.topHoldings = Object.values(this.topHoldingsMap) .map(({ name, value }) => { + if (this.hasImpersonationId || this.user.settings.isRestrictedView) { + return { + name, + allocationInPercentage: value, + valueInBaseCurrency: null + }; + } + return { name, allocationInPercentage: @@ -570,7 +570,7 @@ export class AllocationsPageComponent implements OnDestroy, OnInit { }; }) .sort((a, b) => { - return b.valueInBaseCurrency - a.valueInBaseCurrency; + return b.allocationInPercentage - a.allocationInPercentage; }); if (this.topHoldings.length > MAX_TOP_HOLDINGS) { From 7067aca04b1da3daa5f3528265badad5195c9c3e Mon Sep 17 00:00:00 2001 From: Achal <106076516+Achal-00@users.noreply.github.com> Date: Fri, 5 Jul 2024 20:56:12 +0530 Subject: [PATCH 13/28] Feature/replace twitter.com with x.com (#3535) * Replace twitter.com with x.com --- README.md | 4 ++-- .../src/services/twitter-bot/twitter-bot.service.ts | 2 +- apps/client/src/app/app.component.html | 2 +- .../pages/about/overview/about-overview-page.html | 4 ++-- .../07/hallo-ghostfolio/hallo-ghostfolio-page.html | 6 +++--- .../07/hello-ghostfolio/hello-ghostfolio-page.html | 5 +++-- .../first-months-in-open-source-page.html | 9 +++++---- .../ghostfolio-meets-internet-identity-page.html | 5 +++-- .../500-stars-on-github-page.html | 13 +++++++------ .../hacktoberfest-2022/hacktoberfest-2022-page.html | 4 ++-- .../ghostfolio-meets-umbrel-page.html | 4 ++-- .../1000-stars-on-github-page.html | 5 +++-- .../ghostfolio-joins-oss-friends-page.html | 2 +- .../2023/09/ghostfolio-2/ghostfolio-2-page.html | 4 ++-- .../hacktoberfest-2023/hacktoberfest-2023-page.html | 2 +- .../app/pages/faq/overview/faq-overview-page.html | 4 ++-- apps/client/src/app/pages/faq/saas/saas-page.html | 2 +- .../pages/faq/self-hosting/self-hosting-page.html | 2 +- 18 files changed, 42 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index ba2b6bb9c..e97f7b789 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ **Open Source Wealth Management Software** [**Ghostfol.io**](https://ghostfol.io) | [**Live Demo**](https://ghostfol.io/en/demo) | [**Ghostfolio Premium**](https://ghostfol.io/en/pricing) | [**FAQ**](https://ghostfol.io/en/faq) | -[**Blog**](https://ghostfol.io/en/blog) | [**Slack**](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg) | [**X**](https://twitter.com/ghostfolio_) +[**Blog**](https://ghostfol.io/en/blog) | [**Slack**](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg) | [**X**](https://x.com/ghostfolio_) [![Shield: Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-Support-yellow?logo=buymeacoffee)](https://www.buymeacoffee.com/ghostfolio) [![Shield: Contributions Welcome](https://img.shields.io/badge/Contributions-Welcome-orange.svg)](#contributing) @@ -275,7 +275,7 @@ Are you building your own project? Add the `ghostfolio` topic to your _GitHub_ r Ghostfolio is **100% free** and **open source**. We encourage and support an active and healthy community that accepts contributions from the public - including you. -Not sure what to work on? We have [some ideas](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22), even for [newcomers](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). Please join the Ghostfolio [Slack](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg) channel or post to [@ghostfolio\_](https://twitter.com/ghostfolio_) on _X_. We would love to hear from you. +Not sure what to work on? We have [some ideas](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22), even for [newcomers](https://github.com/ghostfolio/ghostfolio/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). Please join the Ghostfolio [Slack](https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg) channel or post to [@ghostfolio\_](https://x.com/ghostfolio_) on _X_. We would love to hear from you. If you like to support this project, get [**Ghostfolio Premium**](https://ghostfol.io/en/pricing) or [**Buy me a coffee**](https://www.buymeacoffee.com/ghostfolio). diff --git a/apps/api/src/services/twitter-bot/twitter-bot.service.ts b/apps/api/src/services/twitter-bot/twitter-bot.service.ts index 5a98afaed..163b8e9c3 100644 --- a/apps/api/src/services/twitter-bot/twitter-bot.service.ts +++ b/apps/api/src/services/twitter-bot/twitter-bot.service.ts @@ -70,7 +70,7 @@ export class TwitterBotService { await this.twitterClient.v2.tweet(status); Logger.log( - `Fear & Greed Index has been tweeted: https://twitter.com/ghostfolio_/status/${createdTweet.id}`, + `Fear & Greed Index has been posted: https://x.com/ghostfolio_/status/${createdTweet.id}`, 'TwitterBotService' ); } diff --git a/apps/client/src/app/app.component.html b/apps/client/src/app/app.component.html index 2c745692a..e91818e09 100644 --- a/apps/client/src/app/app.component.html +++ b/apps/client/src/app/app.component.html @@ -138,7 +138,7 @@
  • X (formerly Twitter) community, post to @ghostfolio_ @@ -75,7 +75,7 @@

    diff --git a/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html b/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html index d700b9c56..e0364f747 100644 --- a/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html +++ b/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -131,9 +131,9 @@

    Du erreichst mich per E-Mail unter - hi@ghostfol.io oder auf - Twitter - @ghostfolio_. + hi@ghostfol.io oder auf X + (ehemals Twitter) + @ghostfolio_.

    Ich freue mich, von dir zu hören.
    diff --git a/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html b/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html index 6670e0333..af98b08f6 100644 --- a/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html +++ b/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html @@ -126,8 +126,9 @@

    You can reach me by e-mail at - hi@ghostfol.io or on Twitter - @ghostfolio_. + hi@ghostfol.io or on X + (formerly Twitter) + @ghostfolio_.

    I look forward to hearing from you.
    diff --git a/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html b/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html index d5009a2d1..69da8db2b 100644 --- a/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html +++ b/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html @@ -39,7 +39,7 @@

    At the end of 2021, Ghostfolio reached an important milestone: - 100 stars on GitHub. This is really exciting with almost no marketing. I am a @@ -100,9 +100,10 @@ of users. In the future, I would like to involve more contributors to further extend the functionality of Ghostfolio (e.g. with new reports). Get in touch with me by e-mail at - hi@ghostfol.io or on Twitter - @ghostfolio_ if - you are interested, I’m happy to discuss ideas. + hi@ghostfol.io or on X + (formerly Twitter) + @ghostfolio_ if you are + interested, I’m happy to discuss ideas.

    I would like to say thank you for all your feedback and support diff --git a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html index 0366dd9af..f14a4f32f 100644 --- a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html +++ b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html @@ -90,8 +90,9 @@

    If you would like to provide feedback or get involved in further development of Ghostfolio, please get in touch by e-mail via - hi@ghostfol.io or on Twitter - @ghostfolio_. + hi@ghostfol.io or on X + (formerly Twitter) + @ghostfolio_.

    I look forward to hearing from you.
    diff --git a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html index 9dea1eb2a..50ed7398d 100644 --- a/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html +++ b/apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html @@ -34,9 +34,9 @@ >Slack as well as 100 followers on - Twitter. If you have - not joined yet, this is a good time to make sure you do not miss out - on any future updates. + Twitter. If you have not + joined yet, this is a good time to make sure you do not miss out on + any future updates.

    @@ -91,9 +91,10 @@ engineering to realize the full potential of open source software. If you are a web developer and interested in personal finance, please get in touch by e-mail via - hi@ghostfol.io or on Twitter - @ghostfolio_. We - are happy to discuss ideas. + hi@ghostfol.io or on X + (formerly Twitter) + @ghostfolio_. We are + happy to discuss ideas.

    We would like to say thank you for all your feedback and support diff --git a/apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html b/apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html index 71725e3f6..eeeb41577 100644 --- a/apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html +++ b/apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -84,8 +84,8 @@ href="https://join.slack.com/t/ghostfolio/shared_invite/zt-vsaan64h-F_I0fEo5M0P88lP9ibCxFg" >Slack - community or get in touch on Twitter - @ghostfolio_ or by + community or get in touch on X (formerly Twitter) + @ghostfolio_ or by e-mail via hi@ghostfol.io.

    diff --git a/apps/client/src/app/pages/blog/2023/02/ghostfolio-meets-umbrel/ghostfolio-meets-umbrel-page.html b/apps/client/src/app/pages/blog/2023/02/ghostfolio-meets-umbrel/ghostfolio-meets-umbrel-page.html index 1f4da92b0..9a659e22a 100644 --- a/apps/client/src/app/pages/blog/2023/02/ghostfolio-meets-umbrel/ghostfolio-meets-umbrel-page.html +++ b/apps/client/src/app/pages/blog/2023/02/ghostfolio-meets-umbrel/ghostfolio-meets-umbrel-page.html @@ -90,8 +90,8 @@ target="_blank" >Slack - community or via Twitter - @ghostfolio_. We look forward to hearing from you!

    diff --git a/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html b/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html index 11b05c84c..f217188b0 100644 --- a/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html +++ b/apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html @@ -122,8 +122,9 @@ >Slack community or connect with - @ghostfolio_ on - Twitter. We are happy to discuss ideas and get you involved. + @ghostfolio_ on X + (formerly Twitter). We are happy to discuss ideas and get you + involved.

    Thank you for all your feedback and support.

    diff --git a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.html b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.html index b7ce5b67e..77d4af21c 100644 --- a/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.html +++ b/apps/client/src/app/pages/blog/2023/08/ghostfolio-joins-oss-friends/ghostfolio-joins-oss-friends-page.html @@ -25,7 +25,7 @@

    OSS Friends started as a simple post diff --git a/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html b/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html index d6e9af76a..6db5194b1 100644 --- a/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html +++ b/apps/client/src/app/pages/blog/2023/09/ghostfolio-2/ghostfolio-2-page.html @@ -123,7 +123,7 @@

  • On - X + X (formerly Twitter), over 300 investors and personal finance enthusiasts follow Ghostfolio, keen to stay updated on the latest @@ -151,7 +151,7 @@

    Follow us on X: For release updates and market insights, follow - Ghostfolio on X. It is the perfect place to stay informed and connect with our team. diff --git a/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.html b/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.html index 08aed42db..5003cefa5 100644 --- a/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.html +++ b/apps/client/src/app/pages/blog/2023/09/hacktoberfest-2023/hacktoberfest-2023-page.html @@ -89,7 +89,7 @@ >Slack community or get in touch on X - @ghostfolio_. + @ghostfolio_.

    We look forward to hearing from you.
    diff --git a/apps/client/src/app/pages/faq/overview/faq-overview-page.html b/apps/client/src/app/pages/faq/overview/faq-overview-page.html index 1885952a7..fea3bba55 100644 --- a/apps/client/src/app/pages/faq/overview/faq-overview-page.html +++ b/apps/client/src/app/pages/faq/overview/faq-overview-page.html @@ -122,7 +122,7 @@ > community, @ghostfolio_ @@ -152,7 +152,7 @@ >Slack community, post to @ghostfolio_ diff --git a/apps/client/src/app/pages/faq/saas/saas-page.html b/apps/client/src/app/pages/faq/saas/saas-page.html index 87dac7aab..bcaabfc68 100644 --- a/apps/client/src/app/pages/faq/saas/saas-page.html +++ b/apps/client/src/app/pages/faq/saas/saas-page.html @@ -151,7 +151,7 @@ >Slack community, post to @ghostfolio_ diff --git a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html index 9892d160e..7fbf574e3 100644 --- a/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html +++ b/apps/client/src/app/pages/faq/self-hosting/self-hosting-page.html @@ -186,7 +186,7 @@ >Slack community, post to @ghostfolio_ From 976cc7f243109938648d8e26b9a6257b5570e236 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 6 Jul 2024 22:15:33 +0200 Subject: [PATCH 14/28] Feature/upgrade nx to version 19.4.0 (#3540) * Upgrade Nx to version 19.4.0 * Update changelog --- CHANGELOG.md | 1 + package.json | 22 +-- yarn.lock | 495 ++++++++++++++++++++++++++------------------------- 3 files changed, 266 insertions(+), 252 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d158171fd..c9d7f731e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the allocations by ETF holding on the allocations page for the impersonation mode (experimental) - Improved the detection of REST APIs (`JSON`) used via the scraper configuration +- Upgraded `Nx` from version `19.2.2` to `19.4.0` ## 2.92.0 - 2024-06-30 diff --git a/package.json b/package.json index 7266bc68e..223976492 100644 --- a/package.json +++ b/package.json @@ -150,16 +150,16 @@ "@angular/pwa": "18.0.5", "@nestjs/schematics": "10.0.1", "@nestjs/testing": "10.1.3", - "@nx/angular": "19.2.2", - "@nx/cypress": "19.2.2", - "@nx/eslint-plugin": "19.2.2", - "@nx/jest": "19.2.2", - "@nx/js": "19.2.2", - "@nx/nest": "19.2.2", - "@nx/node": "19.2.2", - "@nx/storybook": "19.2.2", - "@nx/web": "19.2.2", - "@nx/workspace": "19.2.2", + "@nx/angular": "19.4.0", + "@nx/cypress": "19.4.0", + "@nx/eslint-plugin": "19.4.0", + "@nx/jest": "19.4.0", + "@nx/js": "19.4.0", + "@nx/nest": "19.4.0", + "@nx/node": "19.4.0", + "@nx/storybook": "19.4.0", + "@nx/web": "19.4.0", + "@nx/workspace": "19.4.0", "@schematics/angular": "18.0.3", "@simplewebauthn/types": "9.0.1", "@storybook/addon-essentials": "7.6.5", @@ -188,7 +188,7 @@ "jest": "29.4.3", "jest-environment-jsdom": "29.4.3", "jest-preset-angular": "14.1.0", - "nx": "19.2.2", + "nx": "19.4.0", "prettier": "3.3.1", "prettier-plugin-organize-attributes": "1.0.0", "react": "18.2.0", diff --git a/yarn.lock b/yarn.lock index 2f983fd56..8d6caaef2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5516,98 +5516,98 @@ proc-log "^4.0.0" which "^4.0.0" -"@nrwl/angular@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-19.2.2.tgz#4832e8695516f2d6e6596b8381afb8f95f3847f6" - integrity sha512-uPFtRKNXO4nW/PzK+lM6kc7HfwdVEw5f3/K6FyoVu1hUazZgh+bL4Cc+3ezaqLx0HTmLeW7NzirpxfI0WoMK7Q== +"@nrwl/angular@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-19.4.0.tgz#d4009f17202b627b3cae0e8603dfafbb552b00a8" + integrity sha512-c5Cd1GlYhmuxasKmKRDSr4PxR0YpU+H36T0VsPFaHTon/FNUoqAQLEMAjPXdOVJUp7XhB4lEIBI/AH6sd9n3rQ== dependencies: - "@nx/angular" "19.2.2" + "@nx/angular" "19.4.0" tslib "^2.3.0" -"@nrwl/cypress@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-19.2.2.tgz#88c92ad1cf531769e50529c73e5b2264cb53212a" - integrity sha512-JVXD6B5A1Zd0K9rcPYe4HoWcfzPkiofIX6dJAyQdg/j2iPdrsxt5V/27RHadlEOg+uFVYZeXDE5xW5QH2B/ohw== +"@nrwl/cypress@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-19.4.0.tgz#bfc6ed2ca2eefaf70f5247f528fc68af0e2b352b" + integrity sha512-jb4inMOjc/Au8zYWjrvJpH7t0qF+G4WvGTUw7zWSKZhoGYvbmbEy5Y5WuwNkq2Sfv9oVVj+hM1L9LpXmHUrciQ== dependencies: - "@nx/cypress" "19.2.2" + "@nx/cypress" "19.4.0" -"@nrwl/devkit@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-19.2.2.tgz#64bad4d05408f9e12055691ae4bc8d8493d97fee" - integrity sha512-NWB3OAm6/oHaF2h7isUXpK9J2XF097mfaiENHj1GzH9JwjB2YoFaD7v033er6+Hb6FEZtOPZpVH1kEQjVaYJLA== +"@nrwl/devkit@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-19.4.0.tgz#af56bf71fd6d7a78ffc49636bf0e379b19880293" + integrity sha512-YlyxuGLP8ejDGPysGmZhIuXuuMts1yrFdcfuYp00jSND0B8ywWZ7U1v1SK+1AofPOKWl8CsGd4tpCcoZZL4/Ew== dependencies: - "@nx/devkit" "19.2.2" + "@nx/devkit" "19.4.0" -"@nrwl/eslint-plugin-nx@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.2.2.tgz#ece3ee2039c8b687b78862adbb7f6296f36ea44a" - integrity sha512-uw7x9xtFCbVw2xvc10Cb1uw9zUzsWwq5GSplb9g1mQrtVie/iBTcGCVYOIivxm6/mPkc/DhXXlNP5gDwc0HmBQ== +"@nrwl/eslint-plugin-nx@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-19.4.0.tgz#7aa314e1b367bc9fe00ed479462807be8ae02392" + integrity sha512-YJitJG8RAzUIYSDOadfINEccaMxdiZclPyySLHULFEZy/IH7ns69i6pjisO7gUpM+GqKa/iLAVBxAUomMQt8vQ== dependencies: - "@nx/eslint-plugin" "19.2.2" + "@nx/eslint-plugin" "19.4.0" -"@nrwl/jest@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-19.2.2.tgz#09d8066787c6e81a0b0bbdd94508bea1b5749f7e" - integrity sha512-Ii8LnmXLnbSpKoOTY/ZJUovWItt/8ZKFuYPwtGdI4U3p0Sqd3odSQzuYgE/wg6GvZYQd/uFVqGqV5N2PlIRWsA== +"@nrwl/jest@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-19.4.0.tgz#9d6074fdb3cbdcfcce311c1949301225f411dded" + integrity sha512-VKFb6k1z69cTJBweS2FAV+dogbx6/bRMBswoAMq5qFFh3oXd1y5hJSvMnVZypj0IAVFr+1+bLRxLBh8PMtAosw== dependencies: - "@nx/jest" "19.2.2" + "@nx/jest" "19.4.0" -"@nrwl/js@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-19.2.2.tgz#6cccd723f12a64426cc137b3136685d96c156eba" - integrity sha512-001sl0KpRefw1zHfDpYsucbaPYeLybADX18Mxcq6fgbgPZhsEHn5oZmp56y5t4CpSbTrVVqbXFpoLj70NynVRQ== +"@nrwl/js@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/js/-/js-19.4.0.tgz#ec37a9110cf90da31c0f8755b3aa968ff6af9cf1" + integrity sha512-IJfgviKGYna1efNhhL/PsO4lnBLS1Q5okQqvFLhaHme/2EQZX5bovriPlg0C0HeOdTwdA41b14yiVwVGSLJGBA== dependencies: - "@nx/js" "19.2.2" + "@nx/js" "19.4.0" -"@nrwl/nest@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/nest/-/nest-19.2.2.tgz#b7c98ad563ac080a148155851f1aee8bd42c2c68" - integrity sha512-/9+dQqLUhsQET/Of6uVkUFHnjPSKjnC8FD5c2nTAj3w2vhSwDuGy+w/6vF9qjk5+5EIFEKp1qa1Iad6S7Muj5A== +"@nrwl/nest@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/nest/-/nest-19.4.0.tgz#12a4b175aef389244ad7b4cf539acb3f1b2a1655" + integrity sha512-cl1fBdi6xX0uw35W4tSDEl8cbOKK9OSJ57UYj3CAXrxxEgRnitNr2CP/3Q5Aue8HTYuFyO/qWLbF3Y8OzyNU0A== dependencies: - "@nx/nest" "19.2.2" + "@nx/nest" "19.4.0" -"@nrwl/node@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-19.2.2.tgz#4546b64f3578cbe95446cc203cb39ef4185d6721" - integrity sha512-WctyEMVRo8ZMc0d0lYyrLTggjuCeksDid/H7gt4H4Cd0P2L26cGV536TNWlpqDpiJqiqORyLAvcL9HV/mUaC7A== +"@nrwl/node@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/node/-/node-19.4.0.tgz#678daaddf7511c64424475a26784e6d9663d1d2a" + integrity sha512-yq+CJvk9Xe95Ayo7KKnI/mBF36uejb9DFm7siMMYeqtvgYwUnYF2pj/V2U3tu4wv06SK33v2mTEeDOckS7hhVQ== dependencies: - "@nx/node" "19.2.2" + "@nx/node" "19.4.0" -"@nrwl/storybook@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-19.2.2.tgz#7df8777a4f85baa8e7384332300b2ea10e5335dc" - integrity sha512-S7adYiooUK4rS0N2HYABz890Q/kPEjx/ALCZ0u2EVG/YFTrryUAdlEKDS0cA0JnhUIliH9n4XsK0qf3uCP3rvg== +"@nrwl/storybook@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-19.4.0.tgz#d3aa165fadc5ff8d9bac573715eb64af07e04a1a" + integrity sha512-BLvngb2ive7xWz2a6wOUQ0+jlOs/uip+SdisvzRbHNlRIa46RGYW4FjB4VZt34urAIlty7qu7H4sfm0DQigqVA== dependencies: - "@nx/storybook" "19.2.2" + "@nx/storybook" "19.4.0" -"@nrwl/tao@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.2.2.tgz#c1d2ce76d640c382e09f7833e1bd61705d46b6f1" - integrity sha512-G/m3EGXf3m9rM2sQQGpRPD40gfaWR6jFVCsZW66/6FXDo1dMUH5/U5JOBnD6vBdug8txKA1ceWHM74NkAB1QEg== +"@nrwl/tao@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-19.4.0.tgz#6351561a0b86559e678626cfd26472837774134e" + integrity sha512-0nfSmOM9YVNTvOCCR4OiStao96YynHBOlrDdo8zdwVbKUuppD1ZwvrCZmC0xzCcsgYcQVEAgs7G/CTuFNi7Wyg== dependencies: - nx "19.2.2" + nx "19.4.0" tslib "^2.3.0" -"@nrwl/web@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-19.2.2.tgz#b255b990e454a569819cfbaaa2f03946ac97a33d" - integrity sha512-+AnY/OCjZbHl9u8hNm0KYLCViR7TMRGoNTUwiKgur+1ib2TPvW4BP50YS/7aUVNs+BgdWB006rUCSFouQQw1Ig== +"@nrwl/web@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/web/-/web-19.4.0.tgz#fd2738c2604db0fa5567d0fb5c273103882b3ec0" + integrity sha512-54wmxjh0o+rfcycre+0P9oiUehhHN6CJCzugy54XapDmJXIe6g+Ss1vlLhPId93UAN+duTpnemi+8MPmDN0qGA== dependencies: - "@nx/web" "19.2.2" + "@nx/web" "19.4.0" -"@nrwl/webpack@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-19.2.2.tgz#1b8d4f00d6c9db69b1c524f9b97081b2d76d1384" - integrity sha512-6QZXTjI1D1sbBaNf55koat/VTWGPt38M94VbKR2kIEpwLrZafRV6ZNoVTWi2/7p90vCYZqbQ4GVWzCfprJGA5Q== +"@nrwl/webpack@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/webpack/-/webpack-19.4.0.tgz#8f4a2fd677cb0b72c929b2cc16774273a805360e" + integrity sha512-CSldWiGJy9sRxORBpW2jJ8X662qCg4ychg96RJ6kvqbzgGCpktJRU3B0hdpZ5iF7/DH637eNIHBpYVFiRWAzUQ== dependencies: - "@nx/webpack" "19.2.2" + "@nx/webpack" "19.4.0" -"@nrwl/workspace@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-19.2.2.tgz#e86f0ded3a24dd6f50a82c12758544d3f506ae9a" - integrity sha512-uq3WXANVRY4yFsX7TWx0kZ6D/Tuf/BoBX42+LDI5IWUNV59sRzuwRrD18fBfqR88/hckSXWp8/E08CmKvRHIvg== +"@nrwl/workspace@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-19.4.0.tgz#e5d384d909ce213e1399d18eac1c8ada8ff9fed9" + integrity sha512-RXOTed7PWX4Ib0IB84XRCQRmd8C/AkHhS9330qUuRCX+yTR799rOnXybZaQXc7RLl5v/PAevkRET41ptGq7B0A== dependencies: - "@nx/workspace" "19.2.2" + "@nx/workspace" "19.4.0" "@nuxtjs/opencollective@0.3.2": version "0.3.2" @@ -5618,18 +5618,18 @@ consola "^2.15.0" node-fetch "^2.6.1" -"@nx/angular@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/angular/-/angular-19.2.2.tgz#fedee40bc2b9ecd720537f14eff1b2aab3001c8a" - integrity sha512-lPcmOxQL1ZCFU5wGDwGFPugioeaBJW4ROAnFPXgRIMkz10xbzLMzKDph9tEZZOpLkcfYr+EzGyVU2+RKbGON6Q== - dependencies: - "@nrwl/angular" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/eslint" "19.2.2" - "@nx/js" "19.2.2" - "@nx/web" "19.2.2" - "@nx/webpack" "19.2.2" - "@nx/workspace" "19.2.2" +"@nx/angular@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/angular/-/angular-19.4.0.tgz#c53351053e9e387fb22c2c5b5cd1c4beec49bd5d" + integrity sha512-Pk0Bj4tpjpEJewjgp0pl7UDN2wdPztRqo50NREerrrsSRucESdDESbvqQE0gq9OFhJvalUkQTBWQh2Wp11RQhA== + dependencies: + "@nrwl/angular" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/eslint" "19.4.0" + "@nx/js" "19.4.0" + "@nx/web" "19.4.0" + "@nx/webpack" "19.4.0" + "@nx/workspace" "19.4.0" "@phenomnomnominal/tsquery" "~5.0.1" "@typescript-eslint/type-utils" "^7.3.0" chalk "^4.1.0" @@ -5643,25 +5643,25 @@ webpack "^5.80.0" webpack-merge "^5.8.0" -"@nx/cypress@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-19.2.2.tgz#e49631cb6912acca01d73ba192ce0c789c197320" - integrity sha512-5qs02aDas5CGUh5HabHKZ+eNW4UCUFqJf7aS2MO2SNxvrb+c3FqOpKIVGrDYPFCkkwoj/Hp20KPs+SvaZeC6uw== +"@nx/cypress@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/cypress/-/cypress-19.4.0.tgz#0c35c95b2667c431cd1769316257b752ae5bcac7" + integrity sha512-JozURNOW9lOyiGUNATNwKNmFsrWY0ZNlJ/DHO1d2ACjR03E2NGpzn+y0+OhICzRmF/btACIOcULWiOy0w6erxg== dependencies: - "@nrwl/cypress" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/eslint" "19.2.2" - "@nx/js" "19.2.2" + "@nrwl/cypress" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/eslint" "19.4.0" + "@nx/js" "19.4.0" "@phenomnomnominal/tsquery" "~5.0.1" detect-port "^1.5.1" tslib "^2.3.0" -"@nx/devkit@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-19.2.2.tgz#ddc2dfbccd0f160e935d83ed82fe401567b7b91b" - integrity sha512-6y+th5m1qVc+B0lXmKb3WRcfwNYD2B/bqGn1HiKLu8g6DDVJFn0mT+a872e4OtvgHyubZQm3HnPfjXobChpRuw== +"@nx/devkit@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-19.4.0.tgz#fda8be484e190a27eb2a41b58aac25334456c0f9" + integrity sha512-oQaFMky1c9QxRtynhIrajo60uSWjHU8DP0zHz1jSmQxiypDFzFwr6iJ03UYVbV72fqKIVzgN0nyp1oqYQ8UcOw== dependencies: - "@nrwl/devkit" "19.2.2" + "@nrwl/devkit" "19.4.0" ejs "^3.1.7" enquirer "~2.3.6" ignore "^5.0.4" @@ -5671,14 +5671,14 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/eslint-plugin@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-19.2.2.tgz#fda8755bf28aef870c1f6731c854ee2295ea976d" - integrity sha512-LhNapMgw3GzuWVxEtbFDSscJfVELIG8qdcWXXPbYrwuh4uNlz3nr3k8xOETJn1REz3Gfq9Q+zcSgNe0ONsMRwg== +"@nx/eslint-plugin@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/eslint-plugin/-/eslint-plugin-19.4.0.tgz#b3e74a0f05c7af6ea229ad147309a40ef3508e4c" + integrity sha512-X+qba2SSgGVHw2vSac9yqFDsr1bolhHL4T8b15hkSrSY7ncUSqypap5IQxDtoI/J4UsnALoKWBmK8+PM12e4EQ== dependencies: - "@nrwl/eslint-plugin-nx" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/js" "19.2.2" + "@nrwl/eslint-plugin-nx" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/js" "19.4.0" "@typescript-eslint/type-utils" "^7.3.0" "@typescript-eslint/utils" "^7.3.0" chalk "^4.1.0" @@ -5687,28 +5687,28 @@ semver "^7.5.3" tslib "^2.3.0" -"@nx/eslint@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-19.2.2.tgz#29438dbb7b56b05d09a3ca5f63ecd7988fb6a1f4" - integrity sha512-py7esWj3mDZARjukptF6kZj4wmPy//xLVnwUb2n6GiNVqSy1jhhVsv44IJC7UN0+YcItLphmNIBTKNrj3mNU/g== +"@nx/eslint@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/eslint/-/eslint-19.4.0.tgz#901019a80b3eb1a4fe450af75c02bdd81e2be8fe" + integrity sha512-NfTW+RZIdH0dKP2Iyeu8butz720rBtdGMUAJUnTCfzZGrSsTMR01g9D55OmfC1ffWOEqrUI70O36PzQN5vad0g== dependencies: - "@nx/devkit" "19.2.2" - "@nx/js" "19.2.2" - "@nx/linter" "19.2.2" + "@nx/devkit" "19.4.0" + "@nx/js" "19.4.0" + "@nx/linter" "19.4.0" semver "^7.5.3" tslib "^2.3.0" typescript "~5.4.2" -"@nx/jest@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-19.2.2.tgz#03e7580973d05f23093a06b3d3bf4b7bfa1dfe11" - integrity sha512-J65zcSThdVvzyrKhUtBMQb7Z4Jg6M1nN7Y+Pag+Rxb6bGJYRyk6iWfpIRjD0ErP3qOn+uLXiCLMaMYaupOyayg== +"@nx/jest@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/jest/-/jest-19.4.0.tgz#7484e20c6bf2c2f29a48898ec486e8f019846d2b" + integrity sha512-GcHIbmUsQC2B+1HgUY4bqM20RgHHoXnYfHmVpJOF9ZT71oYfvfFBy+WANdMPcEGl6B1hj6pjQZ4OfRbq1y+Pvw== dependencies: "@jest/reporters" "^29.4.1" "@jest/test-result" "^29.4.1" - "@nrwl/jest" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/js" "19.2.2" + "@nrwl/jest" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/js" "19.4.0" "@phenomnomnominal/tsquery" "~5.0.1" chalk "^4.1.0" identity-obj-proxy "3.0.0" @@ -5720,10 +5720,10 @@ tslib "^2.3.0" yargs-parser "21.1.1" -"@nx/js@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/js/-/js-19.2.2.tgz#dd9d36b8f6db6fa3937338c3aba43ee1b62db631" - integrity sha512-eW65g8Qmajcwj63PJIizEGBct1XO6I3z5XG4BSzJHLWMeJLb24uVPk67/aJENnYVXi5dbsQYQubVWYyNIqdGPA== +"@nx/js@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/js/-/js-19.4.0.tgz#cf1d554cbf19a854667c640b0fb6055c58791224" + integrity sha512-0Q2bUgCrwhs+aT4MMohykNKto/ez1U5NH5C+7mby/qQT88I+0aMx6g2deQpEL1k9c4nfJ1aJJgPs76xIEIiiKA== dependencies: "@babel/core" "^7.23.2" "@babel/plugin-proposal-decorators" "^7.22.7" @@ -5732,9 +5732,9 @@ "@babel/preset-env" "^7.23.2" "@babel/preset-typescript" "^7.22.5" "@babel/runtime" "^7.22.6" - "@nrwl/js" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/workspace" "19.2.2" + "@nrwl/js" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/workspace" "19.4.0" babel-plugin-const-enum "^1.0.1" babel-plugin-macros "^2.8.0" babel-plugin-transform-typescript-metadata "^0.3.1" @@ -5755,125 +5755,126 @@ tsconfig-paths "^4.1.2" tslib "^2.3.0" -"@nx/linter@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-19.2.2.tgz#9d0c1a4e0bbcb73bd819c7a20279bf67feda4da5" - integrity sha512-Q7H/Y6W3Xc+Yej1oih6LrBhbL5zSui+eNac6RvKBhj23muQlMwbuQ96bEjm3E4ti2sm0/ldF5Uc8/E4AvkK8qQ== +"@nx/linter@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/linter/-/linter-19.4.0.tgz#7de2f6e881aff6ce5280fa2af030d0a539d8ebb8" + integrity sha512-lKF8P/13Sml1jnp/Tvqdhm/6yl/oZm+N6/cvW9dZHrla1BzAhxg65PnDT/4OFzFmmZnUvyaiaFLms4ZxtVq7Zg== dependencies: - "@nx/eslint" "19.2.2" + "@nx/eslint" "19.4.0" -"@nx/nest@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nest/-/nest-19.2.2.tgz#fdea94ead667523d9f9c21f539c0dff63b61de9f" - integrity sha512-TaFB/qXf8P1EJhzUelStJkatqw/UAu9d6aXLf6tY4rXKSNngz7kKLXwG7+ghxNGbj2JFTp1IZIdfNM8PDlIyew== +"@nx/nest@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nest/-/nest-19.4.0.tgz#c2039f6d5fd79fd46a0455f477abeed566cffd23" + integrity sha512-XAGaGKXZmwhMYK3LILaBBZHhjzC+G02nXW7A6PW6EZ39y7xIYuf+bBLuceT+8fwFL44HKLyER1DxVNVDxDAeCA== dependencies: "@nestjs/schematics" "^9.1.0" - "@nrwl/nest" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/eslint" "19.2.2" - "@nx/js" "19.2.2" - "@nx/node" "19.2.2" + "@nrwl/nest" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/eslint" "19.4.0" + "@nx/js" "19.4.0" + "@nx/node" "19.4.0" "@phenomnomnominal/tsquery" "~5.0.1" tslib "^2.3.0" -"@nx/node@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/node/-/node-19.2.2.tgz#8716924ba4fcb86cc621c762d2cc91b8315d41c7" - integrity sha512-4Wj33PDTJ3uOIZYSar6h0RnpFZ79Bu8KKOuP/ci8LfrAI7zhNxTyENuMrsQA4alxv6gsjqCaRx5wK4d6nQmGSQ== +"@nx/node@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/node/-/node-19.4.0.tgz#7578f086b5b34934fda955a388af4bfb0cd282a0" + integrity sha512-OIUR0yYSzFpsjH0ZM95Oki0j15rPK3iRNvAITlIAXjPdqmfJVjLs4VbV5N3wEwRbv3Y2XNrp30UxG2ee3tJU2g== dependencies: - "@nrwl/node" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/eslint" "19.2.2" - "@nx/jest" "19.2.2" - "@nx/js" "19.2.2" + "@nrwl/node" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/eslint" "19.4.0" + "@nx/jest" "19.4.0" + "@nx/js" "19.4.0" tslib "^2.3.0" -"@nx/nx-darwin-arm64@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.2.2.tgz#d643b79e1e2181f369f5449f62bd2a67cee7162d" - integrity sha512-AgvsZ0iDA0rklH0TqOIiTrbJysn7WfFFzhLYd1JnxS2Z3GAFPRoE6TxRSSqpTBmFqskrZhZyrjHllOoBD5odFQ== - -"@nx/nx-darwin-x64@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.2.2.tgz#231a83ae12be56f1ae93803b87ebd2abe08513bb" - integrity sha512-YPd9Kmn5/YPYolBVYoficQmp8LFTe/PAI3dQ3NebOGFYw49PFmV0cdB8+4m0q70WCBMwyqo1x6a6MO9CvENkTg== - -"@nx/nx-freebsd-x64@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.2.2.tgz#e47331e2f27a4230032cad624b76967e4a13e717" - integrity sha512-43hMzFmYyi0aEiGa/VNXChzotL6nFG9hLSZhtpXAO6qyibSqKwlU5PjNyly/7y5gUGl7YfmdpwWwlOIYPSQoVw== - -"@nx/nx-linux-arm-gnueabihf@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.2.2.tgz#79517e1a7bfdedbdb9c6bc4195b34bd8e097ec0b" - integrity sha512-locP8QQWI4NFb7kVe8Fflkpdnf9kw5o/WMROILJLFWlTy59K+NBQkpxRIhoUghJ6yckDxk1Kf2kmvV+xuX4f8Q== - -"@nx/nx-linux-arm64-gnu@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.2.2.tgz#ccc57e8319600330808b212af5f04b131fe0a4fc" - integrity sha512-uQUZs+56yplEjokgCC3Pv/nUr4v+/bCurc1v/juUH4byqCdvi+Cny7jqws49UELS+QkcTkWGBtajvf8U3JZEbQ== - -"@nx/nx-linux-arm64-musl@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.2.2.tgz#12e947ce4739aceef7229d21a503fb12f4516b00" - integrity sha512-rU6l18ubh0Chv7lkxshgm6o4IKduB+jztUBRR4SuOuTOLJ6okm51AqzdY+vy7esicEL3HnHWSJP/U5PwoAaNsA== - -"@nx/nx-linux-x64-gnu@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.2.2.tgz#44051ad02ec7254dbe4c3b568c68c5a6db30504a" - integrity sha512-rvGP3p0qmzHJu8cUcYnRDyJ1BkVExgmsWmtzyQrHl48+hvNrq805NrP3gTreOxqymRlBEXg7c22fRECI1CV1lA== - -"@nx/nx-linux-x64-musl@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.2.2.tgz#bee4d004ea74b72982e993a81817bee27e1901f4" - integrity sha512-86pfT+z6SWKlJUoRy7MOMjRhrCPgSnAxbcH7jYCkqhokbCIDIv2IFWqMf0zdUqa8HqjRo13X6Jd6PhNYzWwJzw== - -"@nx/nx-win32-arm64-msvc@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.2.2.tgz#7b5fe188144ee1fba1126f47f74a44d0f3c8783b" - integrity sha512-kJ3G0+nyAgBr5RTkNceC9zl2pekFEu0ec6ceLJ0tfcTwil76Ce3Xnlr0CFFNsre4T1v2RfFIDJL3EaRUXYep0w== - -"@nx/nx-win32-x64-msvc@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.2.2.tgz#644564b7ec476ad75adc70ef37d88e0c707b33c9" - integrity sha512-9KKGYFgWfc4jHzHjnIp+DJt750NyG1kA4Q+DWf/UcFA5917UWuAw9rribFPRsqYkcwbu++Uajw5bI5yMLP7ThA== - -"@nx/storybook@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/storybook/-/storybook-19.2.2.tgz#604198a262e6bd97753d90d8c58720ccd5975db8" - integrity sha512-+nRPSyyUeSJtlZ9jDUZzgI7inn7dZc9doWgSTWsUcXWebBHWfyYREK6TJHA/hlm/g5dmL7uliacKmNvowhPpeQ== - dependencies: - "@nrwl/storybook" "19.2.2" - "@nx/cypress" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/eslint" "19.2.2" - "@nx/js" "19.2.2" +"@nx/nx-darwin-arm64@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-19.4.0.tgz#54dc04e24b0c4e8eb5f5c188b02320d90b9d221c" + integrity sha512-7QY/4cdLMi9+Paw5XUBNUUiAmDUBNLq2fp0TGmQvmSmgj3gQNLREjMpkfqHxYji15Z5BqV41mc67+aCSBh0B7w== + +"@nx/nx-darwin-x64@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-19.4.0.tgz#dace080877cb7c7a34b14701edb43a4948418a3d" + integrity sha512-urddRcndmMhZUeqQlc4y3iHe/fb91J+JA6zGZleV1a08XS1XeEHcnIMpDfpsadlarcq5fsItSZISCKC0hFPM2g== + +"@nx/nx-freebsd-x64@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-19.4.0.tgz#b203b779e71e50429a639b73c4f62965c1499ade" + integrity sha512-TvV0SISYfWSu6/fTQStFj67rTSh80NNvF4SZ4tsnde0DdVsnKmWJruySXk7XeZN2Gx8tDwDwmLnBFNLdBb5x4w== + +"@nx/nx-linux-arm-gnueabihf@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-19.4.0.tgz#88efe396787fc93aa9bcf09997968325fda18ee3" + integrity sha512-vAOAnRe+ncSv9gSawstvla5+cOknr+ZrhtIc7kHtpmIakcczTl8TWQ/9sAgX45yHYl8wLYYUCokWogNwn9r7iA== + +"@nx/nx-linux-arm64-gnu@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-19.4.0.tgz#0878e38f9c9ccef30e3b7b12a9515079e88912d9" + integrity sha512-x1+BQRt45ewrOF0YTHSb0u97shGA+eP0opye8AGo0aZALnaXSlJNSCgnMgP/TtPIqtZMFUJPvGUvDJ6vWJDmDQ== + +"@nx/nx-linux-arm64-musl@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-19.4.0.tgz#dde20a3aa6096b0a882c21c8d0153d807bd5f681" + integrity sha512-0mgadMfETyVJJXmxma5hHfhR3o8NbjHmz0+ZLE7wUJSnd9rh9b/Kc6xxuXnXHrm/bNVC+UOFyc/iWv04A5Z5nw== + +"@nx/nx-linux-x64-gnu@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-19.4.0.tgz#4af77173583729e18adb4363bfd76a07ec9ab805" + integrity sha512-7kBM0TCxO6IcwgGFCdkFPb2E+rkfpZZd97xtcQAfJi2mvzlQQtekIbM3J8uNcWveTbqDkVDJaJbpvrekloQfzw== + +"@nx/nx-linux-x64-musl@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-19.4.0.tgz#fd8a7a31d4528c05d6ee0e8fcd80262af98ef7ba" + integrity sha512-AwKsL3HAQVNoa0umEDKdNZEjOaq3H4QlJv3vDRNPk//jKFeswlpr3NCjK34RVCPDfzmtD07OM8DAaIys2MqeNw== + +"@nx/nx-win32-arm64-msvc@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-19.4.0.tgz#7bd4c60934b973a17738dc9c49bafa827dc5785c" + integrity sha512-/Cj2JaK3rwZSs1N3w3bi9WvITN4QnUU2yeb/9sGZm+UzJz3qi5gifvegzVDqWS+cZ6eiaekvfDwUlp1qX4MqxA== + +"@nx/nx-win32-x64-msvc@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-19.4.0.tgz#3848c6d9a4d5d99b25c1206ab450adc8b2e85fa6" + integrity sha512-vU7/+j+8QDSclhaPKZy0qm5W9Jjo8nXJxmgUYbrI+rF9ytfoiL/9e8j0FL9ZYoQ7DScMnEK4JrcrgdtsGLsSRA== + +"@nx/storybook@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/storybook/-/storybook-19.4.0.tgz#bc05767927e9a5a50eec598d683db4954f4f03c2" + integrity sha512-6XM9zn6AbuyR1LqGpDL25RVHqRrgu50jHM22wpO9VylVxy6V7JcFH8Q5anzltjoTJ9EtmrpRcGU6Axb8+cvs9w== + dependencies: + "@nrwl/storybook" "19.4.0" + "@nx/cypress" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/eslint" "19.4.0" + "@nx/js" "19.4.0" "@phenomnomnominal/tsquery" "~5.0.1" semver "^7.5.3" tslib "^2.3.0" -"@nx/web@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/web/-/web-19.2.2.tgz#fb6d6b6e4a3208a654ec830fc617dd91a9b99b88" - integrity sha512-vILTBqXYOvjq2aXL5bHuNtYycQYFS4+geMhVYo3/qo8vz9ZLgc9cJlwLch4UglOpzpR1mWC5USNpILCtWiWV5Q== +"@nx/web@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/web/-/web-19.4.0.tgz#9e458c63c583d0215a0de9425297dd8508fc9044" + integrity sha512-xe0cCcv0Un1PeuDt837eXTRrqCQiAoncmxgC2LVdjFuiBAPCmuYUjU38EfIOdXw+xtLisJydnGCb1ZIe6R+4GA== dependencies: - "@nrwl/web" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/js" "19.2.2" + "@nrwl/web" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/js" "19.4.0" chalk "^4.1.0" detect-port "^1.5.1" http-server "^14.1.0" tslib "^2.3.0" -"@nx/webpack@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-19.2.2.tgz#ffcf48407a1f8a4fb5b30ef7e40edd8b2a129810" - integrity sha512-dFU5UZbQ97eN5t5GdIADhlbIo0xPJizfUX9GvZiHOUsvPD1bT140EXHkVgEqePGmhnA0GQRB2OZ/tk3zRRpeQQ== +"@nx/webpack@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/webpack/-/webpack-19.4.0.tgz#3b583f225249a19fbb5e822f1139cc4e2208aaa7" + integrity sha512-z3gqqsvYDzvXSqvcWKrCJCuhkexq4HNckAbIF+SKUDAflFAIYPCJrhKtHFjeXU60APrANSrWtVnl16rjzwI33g== dependencies: "@babel/core" "^7.23.2" - "@nrwl/webpack" "19.2.2" - "@nx/devkit" "19.2.2" - "@nx/js" "19.2.2" + "@nrwl/webpack" "19.4.0" + "@nx/devkit" "19.4.0" + "@nx/js" "19.4.0" + "@phenomnomnominal/tsquery" "~5.0.1" ajv "^8.12.0" autoprefixer "^10.4.9" babel-loader "^9.1.2" @@ -5908,16 +5909,16 @@ webpack-node-externals "^3.0.0" webpack-subresource-integrity "^5.1.0" -"@nx/workspace@19.2.2": - version "19.2.2" - resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-19.2.2.tgz#f807f7d54b7d768f2b1050b07b86103c72436b9a" - integrity sha512-dD4H/TMZ1RsYe/UJMYh8yGoQ/HCH5qt8686L/o2T7GVPtAUc0a0ldwsmCTr4Y+pxX79ppK/M8W51UHFNLhjR6w== +"@nx/workspace@19.4.0": + version "19.4.0" + resolved "https://registry.yarnpkg.com/@nx/workspace/-/workspace-19.4.0.tgz#647b03c02b0ed57ec44f50cb16a6d416220c576c" + integrity sha512-qoZk4ucyGgiSg+A/wcEfUa8YO5ET/pPOty+xPUpxSjOZSl+/ArowrHV6mofXlEq5KoJ+k4Y5IMgbGMmFdJsejQ== dependencies: - "@nrwl/workspace" "19.2.2" - "@nx/devkit" "19.2.2" + "@nrwl/workspace" "19.4.0" + "@nx/devkit" "19.4.0" chalk "^4.1.0" enquirer "~2.3.6" - nx "19.2.2" + nx "19.4.0" tslib "^2.3.0" yargs-parser "21.1.1" @@ -11709,21 +11710,33 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dotenv-expand@10.0.0, dotenv-expand@^10.0.0, dotenv-expand@~10.0.0: +dotenv-expand@10.0.0, dotenv-expand@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== +dotenv-expand@~11.0.6: + version "11.0.6" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-11.0.6.tgz#f2c840fd924d7c77a94eff98f153331d876882d3" + integrity sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g== + dependencies: + dotenv "^16.4.4" + dotenv@16.1.4: version "16.1.4" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.1.4.tgz#67ac1a10cd9c25f5ba604e4e08bc77c0ebe0ca8c" integrity sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw== -dotenv@^16.0.0, dotenv@~16.3.1: +dotenv@^16.0.0: version "16.3.1" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== +dotenv@^16.4.4, dotenv@~16.4.5: + version "16.4.5" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" + integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== + duplexer@^0.1.1, duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -16583,12 +16596,12 @@ nwsapi@^2.2.2: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== -nx@19.2.2: - version "19.2.2" - resolved "https://registry.yarnpkg.com/nx/-/nx-19.2.2.tgz#a8205681328b36e6487e171724feac41d7313713" - integrity sha512-Tg3REVykwKmVBCsroeCE/KhHAJx3e/m0FgNZWXJhn3EEh01qhdsVfWpM/ecawin73or7YcvB/99S8vVPU1nczg== +nx@19.4.0: + version "19.4.0" + resolved "https://registry.yarnpkg.com/nx/-/nx-19.4.0.tgz#0e6078cf4e399a6b1a32f9f743441d2f53f16fd0" + integrity sha512-tTdKqJ7e9imww6fyx3KrLcMz7oAFIcHFeXTZtdXbyDjIQJaN0HK4hicGVc1t1d1iB81KFfUVpX8/QztdB58Q9A== dependencies: - "@nrwl/tao" "19.2.2" + "@nrwl/tao" "19.4.0" "@yarnpkg/lockfile" "^1.1.0" "@yarnpkg/parsers" "3.0.0-rc.46" "@zkochan/js-yaml" "0.0.7" @@ -16597,8 +16610,8 @@ nx@19.2.2: cli-cursor "3.1.0" cli-spinners "2.6.1" cliui "^8.0.1" - dotenv "~16.3.1" - dotenv-expand "~10.0.0" + dotenv "~16.4.5" + dotenv-expand "~11.0.6" enquirer "~2.3.6" figures "3.2.0" flat "^5.0.2" @@ -16623,16 +16636,16 @@ nx@19.2.2: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nx/nx-darwin-arm64" "19.2.2" - "@nx/nx-darwin-x64" "19.2.2" - "@nx/nx-freebsd-x64" "19.2.2" - "@nx/nx-linux-arm-gnueabihf" "19.2.2" - "@nx/nx-linux-arm64-gnu" "19.2.2" - "@nx/nx-linux-arm64-musl" "19.2.2" - "@nx/nx-linux-x64-gnu" "19.2.2" - "@nx/nx-linux-x64-musl" "19.2.2" - "@nx/nx-win32-arm64-msvc" "19.2.2" - "@nx/nx-win32-x64-msvc" "19.2.2" + "@nx/nx-darwin-arm64" "19.4.0" + "@nx/nx-darwin-x64" "19.4.0" + "@nx/nx-freebsd-x64" "19.4.0" + "@nx/nx-linux-arm-gnueabihf" "19.4.0" + "@nx/nx-linux-arm64-gnu" "19.4.0" + "@nx/nx-linux-arm64-musl" "19.4.0" + "@nx/nx-linux-x64-gnu" "19.4.0" + "@nx/nx-linux-x64-musl" "19.4.0" + "@nx/nx-win32-arm64-msvc" "19.4.0" + "@nx/nx-win32-x64-msvc" "19.4.0" oauth@0.9.x: version "0.9.15" From ffc6309850991a99b3bf298d3e05867e77bd60a8 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 08:25:51 +0200 Subject: [PATCH 15/28] Feature/refactor thresholds of x ray rules (#3545) * Refactor thresholds * Update changelog --- CHANGELOG.md | 1 + .../account-cluster-risk/current-investment.ts | 10 +++++----- .../currency-cluster-risk/current-investment.ts | 10 +++++----- .../rules/emergency-fund/emergency-fund-setup.ts | 14 +++++++------- .../rules/fees/fee-ratio-initial-investment.ts | 10 +++++----- 5 files changed, 23 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c9d7f731e..886e5f927 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the allocations by ETF holding on the allocations page for the impersonation mode (experimental) - Improved the detection of REST APIs (`JSON`) used via the scraper configuration +- Refactored the thresholds of the rules in the _X-ray_ section - Upgraded `Nx` from version `19.2.2` to `19.4.0` ## 2.92.0 - 2024-06-30 diff --git a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts index a9a60f912..3b1433da0 100644 --- a/apps/api/src/models/rules/account-cluster-risk/current-investment.ts +++ b/apps/api/src/models/rules/account-cluster-risk/current-investment.ts @@ -55,10 +55,10 @@ export class AccountClusterRiskCurrentInvestment extends Rule { const maxInvestmentRatio = maxItem?.investment / totalInvestment || 0; - if (maxInvestmentRatio > ruleSettings.threshold) { + if (maxInvestmentRatio > ruleSettings.thresholdMax) { return { evaluation: `Over ${ - ruleSettings.threshold * 100 + ruleSettings.thresholdMax * 100 }% of your current investment is at ${maxItem.name} (${( maxInvestmentRatio * 100 ).toPrecision(3)}%)`, @@ -70,7 +70,7 @@ export class AccountClusterRiskCurrentInvestment extends Rule { evaluation: `The major part of your current investment is at ${ maxItem.name } (${(maxInvestmentRatio * 100).toPrecision(3)}%) and does not exceed ${ - ruleSettings.threshold * 100 + ruleSettings.thresholdMax * 100 }%`, value: true }; @@ -80,12 +80,12 @@ export class AccountClusterRiskCurrentInvestment extends Rule { return { baseCurrency: aUserSettings.baseCurrency, isActive: true, - threshold: 0.5 + thresholdMax: 0.5 }; } } interface Settings extends RuleSettings { baseCurrency: string; - threshold: number; + thresholdMax: number; } diff --git a/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts b/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts index 8ebb24ac0..fa2a8e529 100644 --- a/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts +++ b/apps/api/src/models/rules/currency-cluster-risk/current-investment.ts @@ -41,10 +41,10 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule { const maxValueRatio = maxItem?.value / totalValue || 0; - if (maxValueRatio > ruleSettings.threshold) { + if (maxValueRatio > ruleSettings.thresholdMax) { return { evaluation: `Over ${ - ruleSettings.threshold * 100 + ruleSettings.thresholdMax * 100 }% of your current investment is in ${maxItem.groupKey} (${( maxValueRatio * 100 ).toPrecision(3)}%)`, @@ -56,7 +56,7 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule { evaluation: `The major part of your current investment is in ${ maxItem?.groupKey ?? ruleSettings.baseCurrency } (${(maxValueRatio * 100).toPrecision(3)}%) and does not exceed ${ - ruleSettings.threshold * 100 + ruleSettings.thresholdMax * 100 }%`, value: true }; @@ -66,12 +66,12 @@ export class CurrencyClusterRiskCurrentInvestment extends Rule { return { baseCurrency: aUserSettings.baseCurrency, isActive: true, - threshold: 0.5 + thresholdMax: 0.5 }; } } interface Settings extends RuleSettings { baseCurrency: string; - threshold: number; + thresholdMax: number; } diff --git a/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts b/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts index 20e9502bf..0f56e6e38 100644 --- a/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts +++ b/apps/api/src/models/rules/emergency-fund/emergency-fund-setup.ts @@ -19,16 +19,16 @@ export class EmergencyFundSetup extends Rule { } public evaluate(ruleSettings: Settings) { - if (this.emergencyFund > ruleSettings.threshold) { + if (this.emergencyFund < ruleSettings.thresholdMin) { return { - evaluation: 'An emergency fund has been set up', - value: true + evaluation: 'No emergency fund has been set up', + value: false }; } return { - evaluation: 'No emergency fund has been set up', - value: false + evaluation: 'An emergency fund has been set up', + value: true }; } @@ -36,12 +36,12 @@ export class EmergencyFundSetup extends Rule { return { baseCurrency: aUserSettings.baseCurrency, isActive: true, - threshold: 0 + thresholdMin: 0 }; } } interface Settings extends RuleSettings { baseCurrency: string; - threshold: number; + thresholdMin: number; } diff --git a/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts b/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts index 69db9634d..ba487f819 100644 --- a/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts +++ b/apps/api/src/models/rules/fees/fee-ratio-initial-investment.ts @@ -26,10 +26,10 @@ export class FeeRatioInitialInvestment extends Rule { ? this.fees / this.totalInvestment : 0; - if (feeRatio > ruleSettings.threshold) { + if (feeRatio > ruleSettings.thresholdMax) { return { evaluation: `The fees do exceed ${ - ruleSettings.threshold * 100 + ruleSettings.thresholdMax * 100 }% of your initial investment (${(feeRatio * 100).toPrecision(3)}%)`, value: false }; @@ -37,7 +37,7 @@ export class FeeRatioInitialInvestment extends Rule { return { evaluation: `The fees do not exceed ${ - ruleSettings.threshold * 100 + ruleSettings.thresholdMax * 100 }% of your initial investment (${(feeRatio * 100).toPrecision(3)}%)`, value: true }; @@ -47,12 +47,12 @@ export class FeeRatioInitialInvestment extends Rule { return { baseCurrency: aUserSettings.baseCurrency, isActive: true, - threshold: 0.01 + thresholdMax: 0.01 }; } } interface Settings extends RuleSettings { baseCurrency: string; - threshold: number; + thresholdMax: number; } From 130a9ea0626bf7418695dd967bec7a87c9d1657a Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 09:16:48 +0200 Subject: [PATCH 16/28] Feature/remove obsolete version from docker compose files (#3543) * Remove obsolete version * Update changelog --- CHANGELOG.md | 1 + docker/docker-compose.build.yml | 1 - docker/docker-compose.dev.yml | 1 - docker/docker-compose.yml | 1 - 4 files changed, 1 insertion(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 886e5f927..4a7cfb8da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the allocations by ETF holding on the allocations page for the impersonation mode (experimental) - Improved the detection of REST APIs (`JSON`) used via the scraper configuration - Refactored the thresholds of the rules in the _X-ray_ section +- Removed the obsolete `version` from the `docker-compose` files - Upgraded `Nx` from version `19.2.2` to `19.4.0` ## 2.92.0 - 2024-06-30 diff --git a/docker/docker-compose.build.yml b/docker/docker-compose.build.yml index 7ad52be7d..28990692d 100644 --- a/docker/docker-compose.build.yml +++ b/docker/docker-compose.build.yml @@ -1,4 +1,3 @@ -version: '3.9' services: ghostfolio: build: ../ diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index a61359a53..47944378c 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -1,4 +1,3 @@ -version: '3.9' services: postgres: image: postgres:15 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index d2dbb8112..3e708e918 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3.9' services: ghostfolio: image: ghostfolio/ghostfolio:latest From d49b90d7a5201e2de141d708b327fa957fc759af Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 09:39:29 +0200 Subject: [PATCH 17/28] Feature/refresh cryptocurrencies list 20240706 (#3544) * Refresh cryptocurrencies list * Update changelog --- CHANGELOG.md | 1 + .../cryptocurrencies/cryptocurrencies.json | 1112 +++++++++++++++-- 2 files changed, 1032 insertions(+), 81 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a7cfb8da..0e9a45e04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the allocations by ETF holding on the allocations page for the impersonation mode (experimental) - Improved the detection of REST APIs (`JSON`) used via the scraper configuration +- Refreshed the cryptocurrencies list - Refactored the thresholds of the rules in the _X-ray_ section - Removed the obsolete `version` from the `docker-compose` files - Upgraded `Nx` from version `19.2.2` to `19.4.0` diff --git a/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json b/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json index 972587899..c63ba5c73 100644 --- a/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json +++ b/apps/api/src/assets/cryptocurrencies/cryptocurrencies.json @@ -23,6 +23,7 @@ "00": "ZER0ZER0", "007": "007 coin", "0KN": "0 Knowledge Network", + "0NE": "Stone", "0X1": "0x1.tools: AI Multi-tool Plaform", "0XBTC": "0xBitcoin", "0XDEV": "DEVAI", @@ -31,8 +32,10 @@ "0XL": "0x Leverage", "0XOS": "0xOS AI", "0XSEARCH": "Search", + "0XVOX": "HashVox AI", "0x0": "0x0.ai", "0xDIARY": "The 0xDiary Token", + "0xVPN": "0xVPN.org", "1-UP": "1-UP", "1000SATS": "SATS", "10SET": "Tenset", @@ -47,6 +50,7 @@ "1INCH": "1inch", "1IRST": "1irstcoin", "1MCT": "MicroCreditToken", + "1MDC": "1MDC", "1MIL": "1MillionNFTs", "1MT": "1Move", "1NFT": "1NFT", @@ -73,7 +77,9 @@ "2SHARES": "2SHARE", "2TF": "2TF", "300F": "300FIT", + "314DAO": "Tonken 314 DAO", "32BIT": "32Bitcoin", + "360NS": "360 NOSCOPE INSTASWAP WALLBANG", "37C": "37Protocol", "3AIR": "3air", "3CEO": "FLOKI SHIBA PEPE CEO", @@ -95,6 +101,8 @@ "4MW": "For Meta World", "4RZ": "4REALZA COIN", "4TOKEN": "Ignore Fud", + "4WMM": "4-Way Mirror Money", + "50C": "50Cent", "50X": "50x.com", "5IRE": "5ire", "77G": "GraphenTech", @@ -106,6 +114,7 @@ "8X8": "8X8 Protocol", "9DOGS": "NINE DOGS", "9GAG": "9GAG", + "9MM": "Shigure UI", "A": "Alpha Token", "A2A": "A2A", "A4": "A4 Finance", @@ -130,13 +139,17 @@ "ABC": "ABC Chain", "ABCC": "ABCC Token", "ABCD": "Crypto Inu", + "ABD": "AB DEFI", "ABEL": "Abelian", + "ABET": "Altbet", "ABEY": "Abey", "ABIC": "Arabic", "ABJ": "Abjcoin", "ABL": "Airbloc", + "ABN": "Antofy", "ABO": "Albino", "ABOND": "ApeBond", + "ABONDV1": "ApeSwap", "ABR": "Allbridge", "ABT": "ArcBlock", "ABX": "Arbidex", @@ -159,6 +172,7 @@ "ACETH": "Acether", "ACH": "Alchemy Pay", "ACHC": "AchieveCoin", + "ACHI": "achi", "ACID": "AcidCoin", "ACK": "Arcade Kingdoms", "ACM": "AC Milan Fan Token", @@ -183,6 +197,7 @@ "ADAB": "Adab Solutions", "ADACASH": "ADACash", "ADAI": "Aave DAI", + "ADANA": "Adanaspor Fan Token", "ADAO": "ADADao", "ADAPAD": "ADAPad", "ADAT": "Adadex Tools", @@ -229,7 +244,9 @@ "AERGO": "AERGO", "AERM": "Aerium", "AERO": "Aerodrome Finance", + "AEROBUD": "Aerobud", "AEROCOIN": "Aero Coin", + "AEROT": "AEROTYME", "AES": "Artis Aes Evolution", "AET": "AfterEther", "AETH": "Aave ETH", @@ -250,6 +267,7 @@ "AFNTY": "Affinity", "AFO": "AllForOneBusiness", "AFP": "Animal Farm Pigs", + "AFR": "Afreum", "AFRO": "Afrostar", "AFROX": "AfroDex", "AFTT": "Africa Trading Chain", @@ -287,14 +305,18 @@ "AHOO": "Ahoolee", "AHT": "AhaToken", "AI": "Sleepless", + "AIA": "AIA Chain", "AIAI": "All In AI", "AIAKITA": "AiAkita", "AIAT": "AI Analysis Token", "AIB": "AdvancedInternetBlock", "AIBABYDOGE": "AIBabyDoge", "AIBB": "AiBB", + "AIBCOIN": "AIBLOCK", "AIBK": "AIB Utility Token", + "AIBU": "AIBUZZ TOKEN", "AIC": "AI Crypto", + "AICH": "AIChain", "AICO": "AICON", "AICODE": "AI CODE", "AICORE": "AICORE", @@ -309,9 +331,12 @@ "AIDUS": "AIDUS Token", "AIE": "A.I.Earn", "AIEN": "AIENGLISH", + "AIF": "AI FREEDOM TOKEN", "AIFLOKI": "AI Floki", "AIG": "A.I Genesis", + "AIGPU": "AIGPU Token", "AII": "Artificial Idiot", + "AIINU": "AI INU", "AIKEK": "AlphaKEK.AI", "AILINK": "AiLink Token", "AIM": "ModiHost", @@ -335,14 +360,17 @@ "AIPIN": "AI PIN", "AIR": "Altair", "AIRB": "BillionAir", + "AIRBTC": "AIRBTC", "AIRE": "Tokenaire", "AIRI": "aiRight", "AIRT": "Aircraft", + "AIRTNT": "Tenti", "AIRTOKEN": "AirToken", "AIRX": "Aircoins", "AIS": "AISwap", + "AISCII": "AISCII", "AISHIB": "ARBSHIB", - "AIT": "AIChain Token", + "AIT": "AIT Protocol", "AITECH": "Artificial Intelligence Utility Token", "AITEK": "AI Technology", "AITHEON": "Aitheon", @@ -369,6 +397,7 @@ "ALA": "ALA", "ALAN": "Alan the Alien", "ALB": "Alien Base", + "ALBART": "Albärt", "ALBEDO": "ALBEDO", "ALBT": "AllianceBlock", "ALC": "Arab League Coin", @@ -379,6 +408,7 @@ "ALCX": "Alchemix", "ALD": "AladdinDAO", "ALDIN": "Alaaddin.ai", + "ALE": "Ailey", "ALEPH": "Aleph.im", "ALEX": "ALEX Lab", "ALEXANDRITE": "Alexandrite", @@ -387,6 +417,7 @@ "ALGB": "Algebra", "ALGO": "Algorand", "ALGOBLK": "AlgoBlocks", + "ALGOW": "Algowave", "ALH": "AlloHash", "ALI": "Alethea Artificial Liquid Intelligence Token", "ALIAS": "Alias", @@ -404,6 +435,7 @@ "ALLEY": "NFT Alley", "ALLIN": "All in", "ALM": "Alium Finance", + "ALMC": "Awkward Look Monkey Club", "ALME": "Alita", "ALN": "Aluna", "ALOHA": "Aloha", @@ -413,8 +445,10 @@ "ALPACA": "Alpaca Finance", "ALPH": "Alephium", "ALPHA": "Alpha Finance Lab", + "ALPHAAI": "Alpha AI", "ALPHABET": "Alphabet", "ALPHAC": "Alpha Coin", + "ALPHAS": "Alpha Shards", "ALPHR": "Alphr", "ALPINE": "Alpine F1 Team Fan Token", "ALPS": "Alpenschillling", @@ -426,6 +460,7 @@ "ALTD": "Altitude", "ALTMAN": "SAM", "ALTOCAR": "AltoCar", + "ALTR": "Altranium", "ALU": "Altura", "ALUSD": "Alchemix USD", "ALUX": "Alux Bank", @@ -436,6 +471,7 @@ "ALY": "Ally", "AM": "AeroMe", "AMA": "MrWeb", + "AMADEUS": "AMADEUS", "AMAL": "AMAL", "AMAPT": "Amnis Finance", "AMATEN": "Amaten", @@ -443,13 +479,16 @@ "AMB": "AirDAO", "AMBER": "AmberCoin", "AMBO": "Sheertopia", + "AMBR": "Ambra", "AMBT": "AMBT Token", "AMDC": "Allmedi Coin", "AMDG": "AMDG", "AME": "Amepay", + "AMERICA": "America", "AMERICANCOIN": "AmericanCoin", "AMF": "AddMeFast", "AMG": "DeHeroGame Amazing Token", + "AMI": "AMMYI Coin", "AMIO": "Amino Network", "AMIS": "AMIS", "AMKT": "Alongside Crypto Market Index", @@ -474,14 +513,17 @@ "ANA": "Nirvana ANA", "ANAL": "AnalCoin", "ANALOS": "analoS", + "ANALY": "Analysoor", "ANB": "Angryb", "ANC": "Anchor Protocol", + "ANCHOR": "AnchorSwap", "ANCP": "Anacrypt", "ANCT": "Anchor", "AND": "AndromedaCoin", "ANDC": "Android chain", "ANDR": "Andromeda", "ANDROTTWEILER": "Androttweiler Token", + "ANDWU": "Chinese Andy", "ANDX": "Arrano", "ANDY": "ANDY", "ANGEL": "Crypto Angel", @@ -492,10 +534,11 @@ "ANI": "Animecoin", "ANIM": "Animalia", "ANIMA": "Realm Anima", + "ANIME": "Anime", "ANJ": "Aragon Court", "ANJI": "Anji", "ANK": "AlphaLink", - "ANKA.BITCI": "Ankaragücü Fan Token", + "ANKA": "Ankaragücü Fan Token", "ANKORUS": "Ankorus Token", "ANKR": "Ankr Network", "ANKRBNB": "Ankr Staked BNB", @@ -520,11 +563,13 @@ "ANV": "Aniverse", "ANW": "Anchor Neural World", "ANY": "Anyswap", + "ANYONE": "ANyONe Protocol", "AOC": "Alickshundra Occasional-Cortex", "AOG": "AgeOfGods", "AOK": "AOK", "AOP": "Averopay", "AOS": "AOS", + "AOT": "Age of Tanks", "AP": "AppleSwap AI", "APAD": "Anypad", "APC": "AlpaCoin", @@ -533,9 +578,12 @@ "APE": "ApeCoin", "APECOIN": "Asia Pacific Electronic Coin", "APED": "Baddest Alpha Ape Bundle", + "APES": "Alpha Petto Shells", + "APETARDIO": "Apetardio", "APEWIFHAT": "ApeWifHat", "APEX": "ApeX Protocol", "APEXCOIN": "ApexCoin", + "APEXT": "ApexToken", "APFC": "APF coin", "APH": "Aphelion", "API": "Application Programming Interface", @@ -559,7 +607,10 @@ "APT": "Aptos", "APTCOIN": "Aptcoin", "APTOGE": "Aptoge", - "APU": "Apu", + "APTR": "Aperture Finance", + "APU": "Apu Apustaja", + "APUAPU": "APU", + "APUGURL": "APU GURL", "APW": "APWine", "APX": "ApolloX", "APXP": "APEX Protocol", @@ -589,12 +640,15 @@ "ARBUZ": "ARBUZ", "ARC": "ArcticCoin", "ARCA": "Arca", + "ARCAD": "Arcadeum", "ARCADE": "ARCADE", + "ARCADEF": "arcadefi", "ARCANE": "Arcane Token", "ARCAS": "Arcas", "ARCH": "Archway", "ARCHA": "ArchAngel Token", "ARCHCOIN": "ArchCoin", + "ARCHE": "Archean", "ARCHIVE": "Chainback", "ARCHL": "ArchLoot", "ARCO": "AquariusCoin", @@ -646,6 +700,7 @@ "ARRO": "Arro Social", "ARRR": "Pirate Chain", "ARSL": "Aquarius Loan", + "ARSW": "ArthSwap", "ART": "Maecenas", "ARTC": "Artcoin", "ARTDECO": "ARTDECO", @@ -656,6 +711,7 @@ "ARTEQ": "artèQ", "ARTEX": "Artex", "ARTF": "Artfinity Token", + "ARTFI": "ARTFI", "ARTG": "Goya Giant Token", "ARTH": "ARTH", "ARTI": "Arti Project", @@ -682,8 +738,10 @@ "ASG": "Asgard", "ASGC": "ASG", "ASH": "ASH", + "ASI": "Artificial Superintelligence Alliance", "ASIA": "Asia Coin", "ASIMI": "ASIMI", + "ASIX": "ASIX+", "ASK": "Permission Coin", "ASKO": "Asko", "ASM": "Assemble Protocol", @@ -707,11 +765,13 @@ "ASTRA": "Astra Protocol", "ASTRADAO": "Astra DAO", "ASTRAFER": "Astrafer", + "ASTRAFERV1": "Astrafer v1", "ASTRAL": "Astral", "ASTRO": "AstroSwap", "ASTROC": "Astroport Classic", "ASTROLION": "AstroLion", "ASTRONAUT": "Astronaut", + "ASTROP": "AstroPepeX", "ASTX": "Asterix Labs", "ASUNA": "Asuna Hentai", "ASVA": "Asva", @@ -729,8 +789,10 @@ "ATF": "Alion Tech Food", "ATFI": "Atlantic Finance Token", "ATFS": "ATFS Project", - "ATH": "All Time High Vodka", + "ATH": "Aethir", "ATHE": "Atheios", + "ATHEN": "Athenas AI", + "ATHVODKA": "All Time High Vodka", "ATID": "AstridDAO Token", "ATK": "Attack Wagon", "ATKN": "A-Token", @@ -745,9 +807,11 @@ "ATMOS": "Novusphere", "ATN": "ATN", "ATNT": "Artizen", + "ATO": "Atocha Protocol", "ATOLO": "RIZON", "ATOM": "Cosmos", "ATON": "Further Network", + "ATOPLUS": "ATO+", "ATOR": "ATOR Protocol", "ATOZ": "Race Kingdom", "ATP": "Atlas Protocol", @@ -755,6 +819,7 @@ "ATR": "Ather", "ATRI": "Atari Token", "ATRNO": "AETERNUS", + "ATROFA": "Atrofarm", "ATS": "Atlas DEX", "ATT": "Attila", "ATTR": "Attrace", @@ -774,8 +839,9 @@ "AUNIT": "Aunit", "AUPC": "Authpaper", "AUR": "AUREO", - "AURA": "Aura Finance", + "AURA": "Aura Network", "AURABAL": "Aura BAL", + "AURAF": "Aura Finance", "AURO": "Aurora", "AURORA": "Aurora", "AURORAC": "Auroracoin", @@ -786,6 +852,7 @@ "AUSCM": "Auric Network", "AUSD": "Appeal dollar", "AUSDC": "Aave USDC v1", + "AUSDT": "aUSDT", "AUT": "Autoria", "AUTHORSHIP": "Authorship", "AUTISM": "AUTISM", @@ -826,6 +893,7 @@ "AVXT": "Avaxtars Token", "AWAX": "AWAX", "AWC": "Atomic Wallet Coin", + "AWK": "Awkward Monkey Base", "AWM": "Another World", "AWNEX": "AWNEX token", "AWO": "AiWork", @@ -848,6 +916,7 @@ "AXL": "Axelar", "AXLINU": "AXL INU", "AXLUSDC": "Axelar Wrapped USDC", + "AXLW": "Axel Wrapped", "AXM": "Axiome", "AXN": "Axion", "AXNT": "Axentro", @@ -868,7 +937,9 @@ "AZR": "Azure", "AZU": "Azultec", "AZUKI": "Azuki", + "AZUKIDAO": "AzukiDAO", "AZUM": "Azuma Coin", + "AZUR": "Azuro Protocol", "AZURE": "Azure Wallet", "AZY": "Amazy", "B": "BankCoin", @@ -885,13 +956,17 @@ "B91": "B91", "BA": "BAHA", "BAAS": "BaaSid", + "BAB": "Babacoin", "BABI": "Babylons", "BABL": "Babylon Finance", "BABY": "BabySwap", + "BABYANDY": "Baby Andy", + "BABYB": "Baby Bali", "BABYBINANCE": "BABYBINANCE", "BABYBITC": "BabyBitcoin", "BABYBNB": "BabyBNB", "BABYBNBTIGER": "BabyBNBTiger", + "BABYBO": "BabyBonk", "BABYBOB": "Baby Bob", "BABYBOME": "Book of Baby Memes", "BABYBOMEOW": "Baby of BOMEOW", @@ -900,15 +975,18 @@ "BABYCAT": "Baby Cat Coin", "BABYCATS": "Baby Cat Coin", "BABYCEO": "Baby Doge CEO", + "BABYCRASH": "BabyCrash", "BABYCRAZYT": "BABY CRAZY TIGER", "BABYCUBAN": "Baby Cuban", "BABYDOGE": "BabyDoge", "BABYDOGEINU": "BABY DOGE INU", + "BABYDOGEZILLA": "BabyDogeZilla", "BABYDRAGON": "Baby Dragon", "BABYELON": "BabyElon", "BABYFB": "Baby Floki Billionaire", "BABYFLOKI": "BabyFloki", "BABYFLOKIZILLA": "BabyFlokiZilla", + "BABYGME": "Baby GameStop", "BABYGOLDEN": "Baby Golden Coin", "BABYGROK": "Baby Grok", "BABYGUMMY": "BABY GUMMY", @@ -916,6 +994,7 @@ "BABYHONK": "Baby Honk", "BABYJERRY": "Baby Jerry", "BABYJESUS": "BabyJesusCoin", + "BABYKABOSU": "Baby Kabosu", "BABYKITTY": "BabyKitty", "BABYLONG": "Baby Long", "BABYMAGA": "Baby Maga", @@ -936,6 +1015,7 @@ "BABYSOL": "Baby Solana", "BABYSORA": "Baby Sora", "BABYSWEEP": "BabySweep", + "BABYT": "BABYTRUMP", "BABYTK": "Baby Tiger King", "BABYTOMCAT": "Baby Tomcat", "BABYTOSHI": "Baby Toshi", @@ -951,9 +1031,11 @@ "BADCAT": "Andy’s Alter Ego", "BADGER": "Badger DAO", "BAFC": "BabyApeFunClub", - "BAG": "BondAppetit", + "BAG": "Bag", "BAGS": "Basis Gold Share", + "BAHAMAS": "Bahamas", "BAI": "BearAI", + "BAICA": "Baica", "BAJU": "Bajun Network", "BAK": "BaconCoin", "BAKAC": "Baka Casino", @@ -966,12 +1048,13 @@ "BALIN": "Balin Bank", "BALLZ": "Wolf Wif", "BALPHA": "bAlpha", + "BALT": "Brett's cat", "BALTO": "Balto Token", "BAMA": "BabyAMA", + "BAMBIT": "BAMBIT", "BAMBOO": "BambooDeFi", "BAN": "Banano", - "BANANA": "ApeSwap", - "BANANAG": "Banana Gun", + "BANANA": "Banana Gun", "BANANAS": "Monkey Peepo", "BANC": "Babes and Nerds", "BANCA": "BANCA", @@ -985,10 +1068,12 @@ "BANX": "Banx.gg", "BAO": "Bao Finance", "BAOE": "Business Age of Empires", + "BAOM": "Battle of Memes", "BAOS": "BaoBaoSol", "BAR": "FC Barcelona Fan Token", "BARA": "Capybara", "BARC": "The Blu Arctic Water Company", + "BAREBEARS": "BAREBEARS", "BARK": "Bored Ark", "BARRON": "Time Traveler", "BART": "BarterTrade", @@ -997,6 +1082,7 @@ "BASEAI": "BaseAI", "BASED": "Based Money", "BASEDAI": "BasedAI", + "BASEHEROES": "Baseheroes", "BASH": "LuckChain", "BASHC": "BashCoin", "BASHOS": "Bashoswap", @@ -1009,12 +1095,13 @@ "BAT": "Basic Attention Token", "BATH": "Battle Hero", "BATS": "Batcoin", + "BAVA": "Baklava", "BAX": "BABB", "BAXS": "BoxAxis", "BAY": "BitBay", "BAYSE": "coynbayse", "BAZED": "Bazed Games", - "BB": "Baby Bali", + "BB": "BounceBit", "BB1": "Bitbond", "BBADGER": "Badger Sett Badger", "BBANK": "BlockBank", @@ -1025,6 +1112,7 @@ "BBCT": "TraDove B2BCoin", "BBDC": "Block Beats Network", "BBDT": "BBD Token", + "BBEER": "BABY BEERCOIN", "BBF": "Bubblefong", "BBFT": "Block Busters Tech Token", "BBG": "BigBang", @@ -1037,10 +1125,12 @@ "BBOS": "Blackbox Foundation", "BBP": "BiblePay", "BBR": "Boolberry", + "BBRETT": "Baby Brett", "BBS": "BBSCoin", "BBT": "BitBook", - "BBTC": "BlakeBitcoin", + "BBTC": "Binance Wrapped BTC", "BBTF": "Block Buster Tech Inc", + "BBUSD": "BounceBit USD", "BC": "Bitcoin Confidential", "BCA": "Bitcoin Atom", "BCAC": "Business Credit Alliance Chain", @@ -1048,7 +1138,7 @@ "BCAT": "BitClave", "BCAU": "BetaCarbon", "BCB": "BCB Blockchain", - "BCCOIN": "BitConnect Coin", + "BCCOIN": "BlackCardCoin", "BCD": "Bitcoin Diamond", "BCDN": "BlockCDN", "BCDT": "EvidenZ", @@ -1057,6 +1147,7 @@ "BCG": "BlockChainGames", "BCH": "Bitcoin Cash", "BCHA": "Bitcoin Cash ABC", + "BCHB": "Bitcoin Cash on Base", "BCHC": "BitCherry", "BCHT": "Blockchain Terminal", "BCI": "Bitcoin Interest", @@ -1072,6 +1163,7 @@ "BCNX": "BCNEX", "BCO": "BridgeCoin", "BCOIN": "Bombcrypto", + "BCOINM": "Bomb Crypto (MATIC)", "BCOQ": "BLACK COQINU", "BCP": "BitcashPay", "BCPT": "BlockMason Credit Protocol", @@ -1102,6 +1194,7 @@ "BDP": "Big Data Protocol", "BDPI": "Interest Bearing Defi Pulse Index", "BDR": "BlueDragon", + "BDRM": "Bodrumspor Fan Token", "BDROP": "BlockDrop", "BDX": "Beldex", "BDY": "Buddy DAO", @@ -1110,19 +1203,22 @@ "BEAI": "BeNFT Solutions", "BEAM": "Beam", "BEAMMW": "Beam", - "BEAN": "AzukiDAO", + "BEAN": "Bean", "BEANS": "Moonbeans", "BEAST": "CryptoBeast", "BEAT": "BEAT Token", "BEATLES": "JohnLennonC0IN", + "BEATS": "Sol Beats", "BEBE": "BEBE", "BEC": "Betherchip", "BECH": "Beauty Chain", + "BECN": "Beacon", "BECO": "BecoSwap Token", "BED": "Bankless BED Index", "BEE": "Herbee", "BEEP": "BEEP", - "BEER": "BEER Coin", + "BEER": "BEERCOIN", + "BEERUSCAT": "BeerusCat", "BEET": "BEETroot", "BEETLE": "Beetle Coin", "BEETOKEN": "Bee Token", @@ -1137,6 +1233,7 @@ "BELA": "Bela", "BELR": "Belrium", "BELT": "Belt", + "BELUGA": "Beluga", "BEM": "BEMIL Coin", "BEMD": "Betterment Digital", "BEN": "Ben", @@ -1156,6 +1253,7 @@ "BEPR": "Blockchain Euro Project", "BEPRO": "BEPRO Network", "BERN": "BERNcash", + "BERNIE": "BERNIE SENDERS", "BERRY": "Berry", "BES": "battle esports coin", "BESA": "Besa Gaming", @@ -1173,6 +1271,7 @@ "BETS": "BetSwirl", "BETT": "Bettium", "BETU": "Betu", + "BETZ": "Bet Lounge", "BEX": "BEX token", "BEY": "NBX", "BEYOND": "Beyond Protocol", @@ -1192,7 +1291,7 @@ "BFLOKI": "BurnFloki", "BFLY": "Butterfly Protocol", "BFT": "BF Token", - "BFT.BITCI": "Brazil Fan Token", + "BFTB": "Brazil Fan Token", "BFTC": "BITS FACTOR", "BFX": "BitFinex Tokens", "BG": "BunnyPark Game", @@ -1204,6 +1303,7 @@ "BGONE": "BigONE Token", "BGPT": "BlockGPT", "BGS": "Battle of Guardians Share", + "BGUY": "The Big Guy", "BGVT": "Bit Game Verse Token", "BHAO": "Bithao", "BHAT": "BH Network", @@ -1223,6 +1323,7 @@ "BIBL": "Biblecoin", "BIBO": "Bible of Memes", "BIC": "Bikercoins", + "BICITY": "BiCity AI Projects", "BICO": "Biconomy", "BICS": "Biceps", "BID": "TopBidder", @@ -1239,6 +1340,8 @@ "BIG": "Big Eyes", "BIGBANGCORE": "BigBang Core", "BIGHAN": "BighanCoin", + "BIGLEZ": "THE BIG LEZ SHOW", + "BIGMIKE": "Big Mike", "BIGSB": "BigShortBets", "BIGTIME": "Big Time", "BIGUP": "BigUp", @@ -1247,6 +1350,7 @@ "BIIS": "biis (Ordinals)", "BIKI": "BIKI", "BILL": "TillBilly", + "BILLICAT": "BilliCat", "BIM": "BitminerCoin", "BIND": "Compendia", "BINEM": "Binemon", @@ -1280,8 +1384,10 @@ "BITAIR": "Bitair", "BITASEAN": "BitAsean", "BITB": "BeanCash", + "BITBEDR": "Bitcoin EDenRich", "BITBOOST": "BitBoost", "BITBULL": "Bitbull", + "BITBURN": "Bitburn", "BITC": "BitCash", "BITCAR": "BitCar", "BITCAT": "Bitcat", @@ -1292,6 +1398,7 @@ "BITCOINC": "Bitcoin Classic", "BITCOINP": "Bitcoin Private", "BITCOINV": "BitcoinV", + "BITCONNECT": "BitConnect Coin", "BITCRATIC": "Bitcratic Token", "BITF": "Bit Financial", "BITFLIP": "BitFlip", @@ -1316,6 +1423,7 @@ "BITSZ": "Bitsz", "BITT": "BiTToken", "BITTO": "BITTO", + "BITUNE": "Bitune", "BITUSD": "bitUSD", "BITVOLT": "BitVolt", "BITX": "BitScreener", @@ -1341,14 +1449,19 @@ "BKT": "Blocktrade token", "BKX": "BANKEX", "BLA": "BlaBlaGame", + "BLAC": "Blacksmith Token", "BLACK": "BLACKHOLE PROTOCOL", + "BLACKD": "Blackder AI", "BLACKDRAGON": "Black Dragon", "BLACKROCK": "BlackRock", + "BLACKSALE": "Black Sale", "BLACKSWAN": "BlackSwan AI", "BLADE": "BladeWarrior", + "BLAKEBTC": "BlakeBitcoin", "BLANK": "Blank Token", "BLAS": "BlakeStar", "BLAST": "BLAST", + "BLASTA": "BlastAI", "BLAUNCH": "B-LAUNCH", "BLAZE": "Blaze", "BLAZEX": "BlazeX", @@ -1358,6 +1471,7 @@ "BLCT": "Bloomzed Loyalty Club Ticket", "BLD": "Agoric", "BLENDR": "Blendr Network", + "BLEPE": "Blepe", "BLERF": "BLERF", "BLES": "Blind Boxes", "BLF": "Baby Luffy", @@ -1384,11 +1498,14 @@ "BLOCKPAY": "BlockPay", "BLOCKS": "BLOCKS", "BLOCKSTAMP": "BlockStamp", + "BLOCKT": "Blocktools", + "BLOCKW": "Blockwise", "BLOCM": "BLOC.MONEY", "BLOCX": "BLOCX.", "BLOK": "Bloktopia", "BLOO": "bloo foster coin", "BLOODY": "Bloody Token", + "BLOOM": "BloomBeans", "BLOOMT": "Bloom Token", "BLOVELY": "Baby Lovely Inu", "BLOX": "BLOX", @@ -1435,6 +1552,7 @@ "BMICKEY": "Baby Mickey", "BMK": "Benchmark", "BMON": "Binamon", + "BMONEY": "B-money", "BMP": "Brother Music Platform", "BMT": "BMChain", "BMW": "BMW", @@ -1454,6 +1572,7 @@ "BNBFROG": "BNBFROG", "BNBH": "BnbHeroes Token", "BNBLION": "BNB LION", + "BNBOLYMPIC": "BNB OLYMPIC", "BNBP": "BNBPot", "BNBSNAKE": "BNB SNAKE", "BNBSONGOKU": "BNBsongoku", @@ -1490,13 +1609,17 @@ "BOBA": "Boba Network", "BOBAI": "Bob AI", "BOBAOPPA": "Bobaoppa", + "BOBBY": "Kennedy Coin", + "BOBBYM": "Bobby Moore", "BOBC": "Bobcoin", "BOBE": "BOOK OF BILLIONAIRES", "BOBO": "BOBO", "BOBS": "Bob's Repair", "BOBT": "BOB Token", + "BOBUKI": "Bobuki Neko", "BOC": "BOCOIN", "BOCA": "BookOfPussyCats", + "BOCAC": "BocaChica token", "BOCAT": "BOCAT", "BODA": "Based Yoda", "BODAV2": "BODA Token", @@ -1511,6 +1634,7 @@ "BOGCOIN": "Bogcoin", "BOGE": "Boge", "BOGEY": "Bogey", + "BOGGY": "Boggy Coin", "BOJAK": "Based Wojak", "BOJI": "BOJI Token", "BOK": "Blockium", @@ -1525,6 +1649,7 @@ "BOMB": "BOMB", "BOMBC": "BombCoin", "BOMBM": "Bomb Money", + "BOMBS": "Bomb Shelter Inu", "BOME": "BOOK OF MEME", "BOME2": "Book of Meme 2.0", "BOMEDOGE": "BOOK OF DOGE MEMES", @@ -1534,10 +1659,13 @@ "BON": "Bonpay", "BONA": "Bonafi", "BOND": "BarnBridge", + "BONDAPPETIT": "BondAppetit", "BONDLY": "Bondly", + "BONDLYV1": "Bondly Finance", "BONE": "Bone ShibaSwap", "BONES": "BonesCoin", "BONFIRE": "Bonfire", + "BONG": "BonkWifGlass", "BONIX": "Blockonix", "BONK": "Bonk", "BONKCON": "Bonkcon", @@ -1547,6 +1675,7 @@ "BONKH": "BonkHoneyHNTMobileSOL", "BONKIN": "Bonkinu", "BONKKONG": "BONK KONG", + "BONKONETH": "Bonk On ETH", "BONO": "Bonorum Coin", "BONTE": "Bontecoin", "BONUS": "BonusBlock", @@ -1556,6 +1685,7 @@ "BOOE": "Book of Ethereum", "BOOFI": "Boo Finance", "BOOK": "Solbook", + "BOOKIE": "BookieBot", "BOOM": "BOOM DAO", "BOOMCOIN": "Boom Token", "BOOMER": "Boomer", @@ -1575,11 +1705,13 @@ "BORUTO": "Boruto Inu", "BOS": "BOScoin", "BOSE": "Bitbose", + "BOSHI": "Boshi", "BOSOL": "Book of Solana", "BOSON": "Boson Protocol", "BOSONC": "BosonCoin", "BOSS": "BitBoss", "BOSSBABY": "BossBaby", + "BOSSCOQ": "THE COQFATHER", "BOST": "BoostCoin", "BOSU": "Bosu Inu", "BOT": "Bot Planet", @@ -1600,6 +1732,7 @@ "BOYS": "CRASHBOYS", "BOYSCLUB": "Matt Furie's Boys Club", "BOZO": "BOZO", + "BOZOH": "bozo Hybrid", "BOZY": "Book of Crazy", "BP": "BunnyPark", "BPAD": "BlokPad", @@ -1628,6 +1761,8 @@ "BRACE": "Bitci Racing Token", "BRAIN": "BrainCoin", "BRAINERS": "Brainers", + "BRAINZ": "Brainz Finance", + "BRAM": "Defibox bRAM", "BRANA": "Branaverse", "BRAND": "BrandProtect", "BRAT": "BROTHER", @@ -1636,22 +1771,28 @@ "BRAZ": "Brazio", "BRC": "Baer Chain", "BRCP": "BRCP Token", + "BRCST": "BRCStarter", "BRCT": "BRC App", "BRD": "Bread token", "BRDD": "BeardDollars", "BRDG": "Bridge Protocol", + "BREAD": "Breadchain Cooperative", "BREE": "CBDAO", "BREED": "BreederDAO", "BREPE": "BREPE", "BRETT": "Brett", "BRETTA": "Bretta", + "BRETTBASE": "Brett Base", + "BRETTETH": "Brett ETH", "BREW": "CafeSwap Token", + "BREWERY": "Brewery Consortium Coin", "BREWLABS": "Brewlabs", "BRG": "Bridge Oracle", "BRGE": "OrdBridge", "BRGX": "Bridge$", "BRI": "Baroin", "BRIA": "Briacoin", + "BRIAN": "Brianwifhat", "BRIC": "BrightCoin", "BRICK": "Brickchain FInance", "BRICKS": "MyBricks", @@ -1676,6 +1817,8 @@ "BROCK": "Bitrock", "BROGG": "Brett's Dog", "BRONZ": "BitBronze", + "BROOT": "BROOT", + "BROWN": "BrowniesSwap", "BRRR": "Burrow", "BRS": "Broovs Projects", "BRT": "Bikerush", @@ -1750,13 +1893,16 @@ "BTBS": "BitBase Token", "BTC": "Bitcoin", "BTC2": "Bitcoin 2", + "BTC2XFLI": "BTC 2x Flexible Leverage Index", "BTCA": "BITCOIN ADDITIONAL", + "BTCAB": "Bitcoin Avalanche Bridged", "BTCAS": "BitcoinAsia", "BTCAT": "Bitcoin Cat", "BTCB": "Bitcoin BEP2", "BTCBR": "Bitcoin BR", "BTCC": "Bitcoin Core", "BTCD": "BitcoinDark", + "BTCDRAGON": "BTC Dragon", "BTCE": "EthereumBitcoin", "BTCEX": "BtcEX", "BTCF": "BitcoinFile", @@ -1808,12 +1954,14 @@ "BTPL": "Bitcoin Planet", "BTQ": "BitQuark", "BTR": "BTRIPS", + "BTRC": "Bitro Coin", "BTRFLY": "Redacted Cartel", "BTRL": "BitcoinRegular", "BTRM": "Betrium Token", "BTRN": "Biotron", "BTRS": "Bitball Treasure", "BTRST": "Braintrust", + "BTRU": "Biblical Truth", "BTS": "Bitshares", "BTSC": "BTS Chain", "BTSE": "BTSE Token", @@ -1835,11 +1983,14 @@ "BTZN": "Bitzon", "BU": "BUMO", "BUB": "BUBCAT", + "BUBBA": "Bubba", + "BUBBLE": "Bubble", "BUBO": "Budbo", "BUBU": "BUBU", "BUC": "Beau Cat", "BUCK": "Coinbuck", "BUCKS": "SwagBucks", + "BUCKY": "Bucky", "BUD": "Buddy", "BUDDHA": "Buddha", "BUDG": "Bulldogswap", @@ -1856,6 +2007,7 @@ "BUILDTEAM": "BuildTeam", "BUK": "CryptoBuk", "BUL": "bul", + "BULEI": "Bulei", "BULL": "Bullieverse", "BULLC": "BuySell", "BULLINU": "Bull inu", @@ -1866,6 +2018,7 @@ "BULLSH": "Bullshit Inu", "BULLYINGCAT": "Bullying Cat", "BULT": "Bullit", + "BUM": "WillyBumBum", "BUMN": "BUMooN", "BUMP": "Bumper", "BUN": "BunnyCoin", @@ -1876,9 +2029,10 @@ "BUNNYINU": "Bunny Inu", "BUNNYROCKET": "BunnyRocket", "BURGER": "Burger Swap", - "BURN": "Bitburn", + "BURN": "BurnedFi", "BURNDOGE": "BurnDoge", "BURNIFYAI": "BurnifyAI", + "BURNKING": "BurnKing", "BURNNY": "Burnny Inu", "BURNS": "Burnsdefi", "BURNZ": "BURNZ", @@ -1918,6 +2072,7 @@ "BXH": "BXH", "BXK": "Bitbook Gambling", "BXMI": "Bxmi Token", + "BXN": "BlackFort Exchange Network", "BXR": "Blockster", "BXT": "BitTokens", "BXTB": "BXTB Foundation", @@ -1955,6 +2110,7 @@ "CAB": "CabbageUnit", "CABO": "CatBonk", "CABS": "CryptoABS", + "CACAO": "Maya Protocol", "CACH": "Cachecoin", "CACHE": "Cache", "CACHEGOLD": "CACHE Gold", @@ -1995,6 +2151,7 @@ "CANDY": "UnicornGo Candy", "CANDYLAD": "Candylad", "CANN": "CannabisCoin", + "CANNF": "CANNFINITY", "CANTI": "Cantina Royale", "CANTO": "CANTO", "CANYA": "CanYaCoin", @@ -2003,6 +2160,7 @@ "CAPD": "Capdax", "CAPO": "IL CAPO OF CRYPTO", "CAPP": "Cappasity", + "CAPRI": "Caprisun Monkey", "CAPRICOIN": "CapriCoin", "CAPS": "Ternoa", "CAPT": "Bitcoin Captain", @@ -2015,10 +2173,12 @@ "CARBONGEMS": "Carbon GEMS", "CARD": "Cardstack", "CARDS": "Cardstarter", + "CARDSWAP": "CardSwap", "CARE": "Carebit", "CARES": "CareCoin", "CARLO": "Carlo", "CARO": "Meta Ricaro", + "CAROL": "CAROLToken", "CARPE": "CarpeDiemCoin", "CARR": "Carnomaly", "CARROT": "CarrotSwap", @@ -2048,6 +2208,7 @@ "CATELON": "CatElonMars", "CATEX": "CATEX", "CATFISH": "Catfish", + "CATGAME": "Cookie Cat Game", "CATGIRL": "Catgirl", "CATGPT": "CatGPT", "CATHAT": "catwifhat", @@ -2062,6 +2223,7 @@ "CATS": "CatCoin Token", "CATSHIRA": "Shira Cat", "CATT": "Catex", + "CATVAX": "Catvax", "CATVILLS": "Catvills Coin", "CATWARRIOR": "Cat warrior", "CATWIF": "CatWifHat", @@ -2075,6 +2237,7 @@ "CAW": "A Hunters Dream", "CAWCEO": "CAW CEO", "CB": "COINBIG", + "CBAB": "CreBit", "CBABY": "Cosmo Baby", "CBANK": "Crypto Bank", "CBAT": "Compound Basic Attention Token", @@ -2200,12 +2363,16 @@ "CGS": "Crypto Gladiator Shards", "CGT": "Coin Gabbar Token", "CGU": "Crypto Gaming United", + "CGV": "Cogito Finance", "CHA": "Charity Coin", + "CHACHA": "Chacha", "CHAD": "Chad Coin", + "CHADCAT": "CHAD CAT", "CHADS": "CHADS VC", "CHAIN": "Chain Games", "CHAINCADE": "ChainCade", "CHAL": "Chalice Finance", + "CHAM": "Champion", "CHAMP": "NFT Champions", "CHAMPZ": "Champz", "CHAN": "ChanCoin", @@ -2218,6 +2385,8 @@ "CHARM": "Charm Coin", "CHARS": "CHARS", "CHART": "BetOnChart", + "CHARTA": "CHARTAI", + "CHARTIQ": "ChartIQ", "CHASH": "CleverHash", "CHAT": "Solchat", "CHATGPT": "AI Dragon", @@ -2228,12 +2397,16 @@ "CHECK": "Paycheck", "CHECKR": "CheckerChain", "CHECOIN": "CheCoin", + "CHED": "Giggleched", "CHEDDA": "Chedda", + "CHEEKS": "CHEEKS", "CHEEL": "Cheelee", "CHEEMS": "Cheems", + "CHEEPEPE": "CHEEPEPE", "CHEERS": "DICAPRIO CHEERS", "CHEESE": "CHEESE", "CHEESUS": "Cheesus", + "CHENG": "Chengshi", "CHEQ": "CHEQD Network", "CHER": "Cherry Network", "CHERRY": "CherrySwap", @@ -2250,15 +2423,19 @@ "CHI": "Chi Gastoken", "CHICA": "CHICA", "CHICKS": "SolChicks", + "CHIDO": "Chinese Doge Wow", "CHIEF": "TheChiefCoin", "CHIHUA": "Chihua Token", "CHII": "Chiiper Chain", "CHILD": "ChildCoin", "CHILI": "CHILI", "CHILL": "ChillPill", + "CHIM": "Chimera", "CHINAZILLA": "ChinaZilla", + "CHINGON": "Mexico Chingon", "CHINU": "Chubby Inu", "CHIP": "Chip", + "CHIPPY": "Chippy", "CHIPS": "CHIPS", "CHIRP": "Chirp", "CHITCAT": "ChitCAT", @@ -2272,8 +2449,11 @@ "CHNG": "Chainge Finance", "CHO": "Choise", "CHOKE": "Artichoke Protocol", + "CHOMP": "ChompCoin", + "CHON": "Chonk The Cat", "CHONK": "Chonk", "CHONKY": "CHONKY", + "CHOO": "Chooky", "CHOOF": "ChoofCoin", "CHOPPER": "Chopper Inu", "CHOPPY": "Choppy", @@ -2282,18 +2462,22 @@ "CHOY": "Bok Choy", "CHP": "CoinPoker Token", "CHR": "Chroma", + "CHRETT": "Chinese BRETT", "CHRISPUMP": "Christmas Pump", "CHRP": "Chirpley", "CHS": "Chainsquare", "CHSB": "SwissBorg", "CHT": "Countinghouse Fund", + "CHUANPU": "Chuan Pu", "CHUB": "CallHub", + "CHUC": "CHUCK", "CHUCHU": "CHUCHU", "CHUCK": "Chuck Norris", "CHUMP": "Chump Change", "CHURRO": "CHURRO-The Jupiter Dog", "CHVF": "Chives Finance", "CHW": "Chrysalis Coin", + "CHWY": "CHEWY", "CHX": "Own", "CHY": "Concern Poverty Chain", "CHZ": "Chiliz", @@ -2336,6 +2520,7 @@ "CL": "CoinLancer", "CLA": "ClaimSwap", "CLAM": "CLAMS", + "CLAS": "Classic USDC", "CLASS": "Class Coin", "CLAY": "Clay Nation", "CLB": "Cloudbric", @@ -2399,6 +2584,7 @@ "CML": "Camelcoin", "CMM": "Commercium", "CMN": "Crypto Media Network", + "CMONK": "CRAZY MONKEY", "CMOON": "CryptoMoonShot", "CMOS": "CoinMerge OS", "CMP": "Caduceus", @@ -2454,6 +2640,7 @@ "CODI": "Codi Finance", "CODY": "Coindy", "COE": "CoEval", + "COFEEE": "COFEEE", "COFFEECOIN": "CoffeeCoin", "COFI": "CoinFi", "COFIX": "CoFIX", @@ -2466,11 +2653,13 @@ "COINBT": "CoinBot", "COINDEFI": "Coin", "COING": "Coingrid", + "COINH": "Coinhound", "COINLION": "CoinLion", "COINSCOPE": "Coinscope", "COINSL": "CoinsLoot", "COINVEST": "Coinvest", "COINYE": "Coinye West", + "COK": "Cat Own Kimono", "COKE": "Cocaine Cowboy Shards", "COL": "Clash of Lilliput", "COLA": "Cola", @@ -2494,8 +2683,10 @@ "COMP": "Compound Governance Token", "COMPCOIN": "Compcoin", "COMPD": "Compound Coin", + "COMPU": "Compute Network", "COMT": "Community Token", "CONAN": "Conan", + "CONC": "Concentrator", "CONDENSATE": "Condensate", "CONDO": "CONDO", "CONE": "BitCone", @@ -2507,6 +2698,7 @@ "CONSENTIUM": "Consentium", "CONV": "Convergence", "CONX": "Connex", + "COOCHIE": "Cucci", "COOHA": "CoolHash", "COOK": "Cook", "COOL": "CoolCoin", @@ -2517,7 +2709,7 @@ "COPS": "Cops Finance", "COPYCAT": "Copycat Finance", "COQ": "Coq Inu", - "COR": "Corion", + "COR": "Coreto", "CORAL": "CoralPay", "CORE": "Core", "COREDAO": "coreDAO", @@ -2526,12 +2718,14 @@ "CORGI": "Corgi Inu", "CORGIAI": "CorgiAI", "CORGIB": "The Corgi of PolkaBridge", + "CORION": "Corion", "CORN": "CORN", "CORNELLA": "CORNELLA", "CORX": "CorionX", "COS": "Contentos", "COSHI": "CoShi Inu", "COSM": "CosmoChain", + "COSMI": "Cosmic FOMO", "COSMIC": "CosmicSwap", "COSP": "Cosplay Token", "COSS": "COS", @@ -2562,6 +2756,7 @@ "COZP": "COZPlus", "COZY": "Cozy Pepe", "CP": "CoPuppy", + "CPA": "CryptoPulse AdBot", "CPAD": "Cronospad", "CPAN": "CryptoPlanes", "CPAY": "CryptoPay", @@ -2629,6 +2824,7 @@ "CREA": "CreativeChain", "CREAL": "Celo Brazilian Real", "CREAM": "Cream", + "CREAML": "Creamlands", "CREATIVE": "Creative Token", "CRED": "Verify", "CREDI": "Credefi", @@ -2661,9 +2857,11 @@ "CRNCHY": "Crunchy Network", "CRNK": "CrankCoin", "CRO": "Cronos", + "CROAK": "Croakey", "CROAT": "Croat", "CROB": "Crob Coin", "CROCO": "Croco", + "CRODIE": "Crodie", "CROGE": "Crogecoin", "CROID": "Cronos ID", "CRON": "Cryptocean", @@ -2684,7 +2882,9 @@ "CRTM": "Cryptum", "CRTS": "Cratos", "CRU": "Crust Network", + "CRUD": "CRUDE OIL BRENT", "CRUIZ": "Cruiz", + "CRUMP": "Crypto Trump", "CRUX": "CryptoMines Reborn", "CRV": "Curve DAO Token", "CRVUSD": "crvUSD", @@ -2693,12 +2893,14 @@ "CRWD": "CRWD Network", "CRWNY": "Crowny Token", "CRX": "ChronosCoin", + "CRY": "Crypto News Flash AI", "CRYN": "CRYN", "CRYO": "CryoDAO", "CRYP": "CrypticCoin", "CRYPT": "CryptCoin", "CRYPTOBULLION": "CryptoBullion", "CRYPTOE": "Cryptoenter", + "CRYPTON": "CRYPTON", "CRYPTONITE": "Cryptonite", "CRYPTOPRO": "CryptoProfile", "CRYPTOSDG": "Crypto SDG", @@ -2711,7 +2913,7 @@ "CSAI": "Compound SAI", "CSAS": "csas (Ordinals)", "CSC": "CasinoCoin", - "CSEN": "Consensus", + "CSEN": "Sentient Coin", "CSH": "CashOut", "CSIX": "Carbon Browser", "CSM": "Crust Shadow", @@ -2729,9 +2931,10 @@ "CSTL": "Castle", "CSTR": "CoreStarter", "CSUSHI": "cSUSHI", - "CSWAP": "CardSwap", + "CSWAP": "ChainSwap", "CSX": "Coinstox", "CT": "CryptoTwitter", + "CTA": "Cross The Ages", "CTAG": "CTAGtoken", "CTASK": "CryptoTask", "CTC": "Creditcoin", @@ -2749,6 +2952,7 @@ "CTLX": "Cash Telex", "CTN": "Continuum Finance", "CTO": "Crypto", + "CTOK": "Codyfight", "CTP": "Ctomorrow Platform", "CTPL": "Cultiplan", "CTPT": "Contents Protocol", @@ -2762,15 +2966,18 @@ "CTX": "Cryptex", "CTXC": "Cortex", "CTY": "Connecty", + "CU": "Crypto Unicorns", "CUAN": "CuanSwap.com", "CUB": "Cub Finance", "CUBE": "Cube Network", "CUBEAUTO": "Cube", "CUBEB": "CubeBase", + "CUCCI": "Cat in Gucci", "CUCK": "Cuckadoodledoo", "CUDOS": "Cudos", "CUE": "CUE Protocol", "CUEX": "Cuex", + "CUFF": "Jail Cat", "CULO": "CULO", "CULT": "Cult DAO", "CUM": "Cumbackbears", @@ -2781,6 +2988,7 @@ "CURE": "Curecoin", "CURI": "Curium", "CURIO": "Curio Governance", + "CURR": "Curry", "CURRY": "CurrySwap", "CUSD": "Carbon", "CUSDC": "Compound USD Coin", @@ -2799,6 +3007,7 @@ "CVCOIN": "Crypviser", "CVG": "Convergence", "CVIP": "CVIP", + "CVN": "ConsciousDao", "CVNC": "CovenCoin", "CVNG": "Crave-NG", "CVNT": "Conscious Value Network", @@ -2838,11 +3047,14 @@ "CXP": "Caixa Pay", "CXPAD": "CoinxPad", "CXT": "Coinonat", + "CY97": "Cyclops97", + "CYB": "CYBERTRUCK", "CYBA": "CYBRIA", "CYBER": "CyberConnect", "CYBERC": "CyberCoin", "CYBERD": "Cyber Doge", "CYBERTRUCK": "Cyber Truck", + "CYBERTRUMP": "CyberTrump", "CYBERWAY": "CyberWay", "CYBONK": "CYBONK", "CYBR": "CYBR", @@ -2860,6 +3072,7 @@ "CYMT": "CyberMusic", "CYOP": "CyOp Protocol", "CYP": "CypherPunkCoin", + "CYPEPE": "CyPepe", "CYRS": "Cyrus Token", "CYRUS": "Cyrus Exchange", "CYS": "BlooCYS", @@ -2892,6 +3105,7 @@ "DACXI": "Dacxi", "DAD": "DAD", "DADA": "DADA", + "DADDY": "Daddy Tate", "DADDYDOGE": "Daddy Doge", "DADI": "Edge", "DAF": "DaFIN", @@ -2912,6 +3126,7 @@ "DAM": "Datamine", "DAMEX": "DAMEX", "DAMO": "Coinzen", + "DAMOON": "Damoon Coin", "DAN": "Daneel", "DANA": "Ardana", "DANG": "Guangdang", @@ -2936,6 +3151,7 @@ "DARC": "Konstellation", "DARCRUS": "Darcrus", "DARE": "The Dare", + "DARED": "Daredevil Dog", "DARICO": "Darico", "DARIK": "Darik", "DARK": "Dark", @@ -2998,8 +3214,9 @@ "DCC": "Distributed Credit Chain", "DCCT": "DocuChain", "DCHF": "DeFi Franc", + "DCI": "Decentralized Cloud Infrastructure", "DCIP": "Decentralized Community Investment Protocol", - "DCK": "DickCoin", + "DCK": "DexCheck AI", "DCLOUD": "DecentraCloud", "DCM": "Ducky City", "DCN": "Dentacoin", @@ -3037,6 +3254,7 @@ "DEBASE": "Debase", "DEBT": "The Debt Box", "DEC": "Decentr", + "DECENTRALG": "Decentral Games ICE", "DECHAT": "Dechat", "DECI": "Maximus DECI", "DECL": "Decimal token", @@ -3051,10 +3269,12 @@ "DEEZ": "DEEZ NUTS", "DEFC": "Defi Coin", "DEFEND": "Blockdefend AI", - "DEFI": "Defi", + "DEFI": "DeFi", "DEFI5": "DEFI Top 5 Tokens Index", "DEFIDO": "DeFido", + "DEFIK": "DeFi Kingdoms JADE", "DEFIL": "DeFIL", + "DEFILAB": "Defi", "DEFISCALE": "DeFiScale", "DEFIT": "Digital Fitness", "DEFLA": "Defla", @@ -3078,6 +3298,8 @@ "DEL": "Decimal", "DELCHAIN": "DelChain", "DELFI": "DeltaFi", + "DELI": "NFTDeli", + "DELIGHTPAY": "DelightPay", "DELOT": "DELOT.IO", "DELTA": "Delta Financial", "DELTAC": "DeltaChain", @@ -3086,6 +3308,7 @@ "DEMIR": "Adana Demirspor Token", "DEMOS": "DEMOS", "DENT": "Dent", + "DENTX": "DENTNet", "DEO": "Demeter", "DEOD": "Decentrawood", "DEOR": "Decentralized Oracle", @@ -3195,10 +3418,13 @@ "DICEM": "DICE Money", "DICETRX": "TRONbetDice", "DICK": "adDICKted", + "DICKCOIN": "DickCoin", "DID": "Didcoin", + "DIDID": "Didi Duck", "DIE": "Die Protocol", "DIEM": "Facebook Diem", "DIESEL": "Diesel", + "DIFF": "Diffusion", "DIFI": "Digital Files", "DIFX": "Digital Financial Exchange", "DIG": "DIEGO", @@ -3213,6 +3439,7 @@ "DIGS": "Diggits", "DIKO": "Arkadiko", "DILI": "D Community", + "DILIGENT": "Diligent Pepe", "DILL": "dillwifit", "DIM": "DIMCOIN", "DIME": "DimeCoin", @@ -3222,6 +3449,7 @@ "DINGER": "Dinger Token", "DINGO": "Dingocoin", "DINO": "DinoSwap", + "DINT": "DinarTether", "DINU": "Dogey-Inu", "DINW": "Dinowars", "DIO": "Decimated", @@ -3252,9 +3480,11 @@ "DKKT": "DKK Token", "DKNIGHT": "Dark Knight", "DKS": "DarkShield", + "DKT": "Duelist King", "DKUMA": "KumaDex Token", "DLA": "Dolla", "DLANCE": "DeeLance", + "DLB": "DiemLibre", "DLC": "Diamond Launch", "DLISK": "Dlisk", "DLLR": "Sovryn Dollar", @@ -3271,6 +3501,7 @@ "DLYCOP": "Daily COP", "DMA": "Dragoma", "DMAIL": "DMAIL Network", + "DMAR": "DMarket", "DMC": "Dream21", "DMCC": "DiscoverFeed", "DMCH": "DARMA Cash", @@ -3283,12 +3514,14 @@ "DMOD": "Demodyfi Token", "DMOON": "Dollarmoon", "DMS": "Documentchain", - "DMT": "DMarket", + "DMT": "Dream Machine Token", "DMTC": "Demeter Chain", "DMTR": "Dimitra", "DMX": "Dymmax", + "DMZ": "DeMon Token", "DN8": "Pldgr", "DNA": "Metaverse", + "DND": "Diamond DND", "DNET": "DeNet", "DNF": "DNFT Protocol", "DNFLX": "Netflix Tokenized Stock Defichain", @@ -3304,7 +3537,7 @@ "DNX": "Dynex", "DNXC": "DinoX", "DNY": "Dynasty Coin", - "DNZ.BITCI": "Denizlispor Fan Token", + "DNZ": "Denizlispor Fan Token", "DOBBY": "Dobby", "DOBEN": "dark boden", "DOBO": "DogeBonk", @@ -3319,7 +3552,7 @@ "DODO": "DODO", "DOE": "Dogs Of Elon", "DOFI": "Doge Floki Coin", - "DOG": "The Doge NFT", + "DOG": " DOG•GO•TO•THE•MOON", "DOGA": "Dogami", "DOGACOIN": "DogaCoin", "DOGAI": "Dogai", @@ -3331,6 +3564,7 @@ "DOGE": "Dogecoin", "DOGE1SAT": "DOGE-1SATELLITE", "DOGE20": "Doge 2.0", + "DOGEB": "DogeBonk", "DOGEBNB": "DogeBNB", "DOGEC": "DogeCash", "DOGECEO": "Doge CEO", @@ -3348,19 +3582,26 @@ "DOGEKING": "DogeKing", "DOGELEGION": "DOGE LEGION", "DOGEMETA": "Dogemetaverse", + "DOGEMOB": "DOGEMOB", + "DOGENFT": "The Doge NFT", "DOGEP": "Doge Protocol", "DOGEPAY": "Doge Payment", + "DOGER": "Robotic Doge", "DOGERA": "Dogera", "DOGES": "Dogeswap", "DOGESWAP": "Dogeswap Token (HECO)", "DOGETH": "EtherDoge", + "DOGEVERSE": "DogeVerse", "DOGEWHALE": "Dogewhale", "DOGEX": "DogeHouse Capital", "DOGEY": "Dogey", "DOGEZILLA": "DogeZilla", + "DOGGS": "Doggensnout", "DOGGY": "Doggy", + "DOGH": "a dog in a hoodie", "DOGI": "dogi", "DOGIN": "Doginhood", + "DOGINC": "dog in cats world", "DOGINME": "doginme", "DOGIRA": "Dogira", "DOGMI": "DOGMI", @@ -3371,6 +3612,7 @@ "DOGSROCK": "Dogs Rock", "DOGSWAG": "DogSwaghat", "DOGWIFHAT": "dogwifhat", + "DOGWIFSEAL": "dogwifseal", "DOGY": "DogeYield", "DOGZ": "Dogz", "DOJO": "ProjectDojo", @@ -3386,29 +3628,37 @@ "DON": "Donnie Finance", "DONA": "DONASWAP", "DONALD": "DONALD TRUMP", + "DONALDT": "Donald The Trump", "DONATION": "DonationCoin", "DONG": "DongCoin", "DONGO": "Dongo AI", "DONK": "Don-key", + "DONKE": "DONKE", "DONS": "The Dons", "DONU": "Donu", "DONUT": "Donut", "DONUTS": "The Simpsons", "DOODOO": "Doodoo", + "DOOGLE": "Doogle", "DOOH": "Bidooh", + "DOOMER": "Doomer", "DOOR": "DOOR", "DOPE": "Dopamine App", "DOPECOIN": "DopeCoin", + "DOPU": "DOPU The Dog with A Purpose", "DOR": "Dorado", "DORA": "Dora Factory", + "DORAV1": "Dora Factory v1", "DORK": "DORK", "DORKL": "DORK LORD", + "DORKY": "Dork Lord", "DOS": "DOS Network", "DOSE": "DOSE", "DOSHIB": "DogeShiba", "DOT": "Polkadot", "DOTC": "Dotcoin", "DOTR": "Cydotori", + "DOUG": "Doug The Duck", "DOUGH": "PieDAO v2 (DOUGH)", "DOV": "DOVU", "DOVI": "Dovi(Ordinals)", @@ -3416,12 +3666,13 @@ "DOWS": "Shadows", "DP": "DigitalPrice", "DPAD": "Dpad Finance", - "DPAY": "DelightPay", + "DPAY": "Devour", "DPDBC": "PDBC Defichain", "DPET": "My DeFi Pet", "DPEX": "DPEX", "DPI": "DeFiPulse Index", "DPIE": "DeFiPie", + "DPLAT": "zbyte", "DPLN": "DePlan", "DPLTR": "Palantir Tokenized Stock Defichain", "DPN": "DIPNET", @@ -3438,6 +3689,7 @@ "DRACO": "DT Token", "DRACOO": "DracooMaster", "DRAFTC": "Draftcoin", + "DRAGGY": "Draggy", "DRAGON": "Dragon", "DRAGONGROK": "DragonGROK", "DRAGONKING": "DragonKing", @@ -3447,6 +3699,7 @@ "DRAM": "DRAM", "DRAW": "Drawshop Kingdom Reverse", "DRB": "Digimon Rabbit", + "DRBT": "DeFi-Robot", "DRC": "DRC Mobility", "DRCT": "Ally Direct", "DRE": "DoRen", @@ -3490,6 +3743,7 @@ "DSK": "Darüşşafaka Spor Kulübü Token", "DSLA": "DSLA Protocol", "DSLV": "iShares Silver Trust Defichain", + "DSQ": "Dsquared.finance", "DSR": "Desire", "DSRUN": "Derby Stars", "DST": "Double Swap Token", @@ -3506,6 +3760,7 @@ "DTEP": "DECOIN", "DTG": "Defi Tiger", "DTH": "Dether", + "DTJR": "Donald Trump Jr.", "DTLT": "iShares 20+ Year Treasury Bond ETF Defichain", "DTN": "Datareum", "DTO": "DotOracle", @@ -3528,9 +3783,13 @@ "DUCKD": "DuckDuckCoin", "DUCKER": "Ducker", "DUCKIES": "Yellow Duckies", + "DUCKO": "Duck Off Coin", + "DUCX": "DucatusX", "DUDE": "DuDe", - "DUEL": "Duel Network", + "DUEL": "GameGPT", "DUELERS": "Block Duelers", + "DUELN": "Duel Network", + "DUELV1": "Duel Network v1", "DUET": "Duet Protocol", "DUG": "DUG", "DUGE": "DUGE", @@ -3543,6 +3802,7 @@ "DUO": "ParallelCoin", "DUOT": "DUO Network", "DUREV": "Povel Durev", + "DURTH": "iShares MSCI World ETF Tokenized Stock Defichain", "DUSD": "Decentralized USD", "DUSK": "Dusk Network", "DUST": "DUST Protocol", @@ -3554,6 +3814,7 @@ "DVF": "Rhino.fi", "DVG": "DAOventures", "DVI": "Dvision Network", + "DVINCI": "Davinci Jeremie", "DVK": "Devikins", "DVNQ": "Vanguard Real Estate Tokenized Stock Defichain ()", "DVOO": "Vanguard S&P 500 ETF Tokenized Stock Defichain", @@ -3595,6 +3856,7 @@ "DYNEX": "Dynex GPU", "DYNMT": "Dynamite", "DYNO": "DYNO", + "DYOR": "DYOR Token", "DYP": "Dypius", "DYPV1": "Dypius v1", "DYST": "Dystopia", @@ -3622,6 +3884,7 @@ "EASYF": "EasyFeedback", "EAT": "EDGE Activity Token", "EAURIC": "Eauric", + "EAVE": "EaveAI", "EB3": "EB3coin", "EBA": "Elpis Battle", "EBASE": "EURBASE", @@ -3649,7 +3912,10 @@ "ECG": "EcoSmart", "ECH": "EthereCash", "ECHO": "ECHO BOT", + "ECHOD": "EchoDEX", "ECHT": "e-Chat", + "ECI": "Euro Cup Inu", + "ECL": "ECLAT", "ECLD": "Ethernity Cloud", "ECLIP": "Eclipse", "ECO": "Ormeus Ecosystem", @@ -3689,6 +3955,7 @@ "EDOGE": "ElonDoge", "EDR": "Endor Protocol Token", "EDRC": "EDRCoin", + "EDSE": "Eddie Seal", "EDT": "E-Drive Token", "EDU": "Open Campus", "EDUC": "EducoinV", @@ -3700,6 +3967,7 @@ "EETH": "ether fi", "EFBAI": "EuroFootball AI", "EFC": "Everton Fan Token", + "EFCR": "EFLANCER", "EFFT": "Effort Economy ", "EFI": "Efinity", "EFIL": "Ethereum Wrapped Filecoin", @@ -3710,6 +3978,7 @@ "EG": "EG Token", "EGAME": "Every Game", "EGAS": "ETHGAS", + "EGAX": "Egochain", "EGAZ": "EGAZ", "EGC": "EverGrowCoin", "EGCC": "Engine", @@ -3723,6 +3992,7 @@ "EGI": "eGame", "EGLD": "eGold", "EGO": "EGOcoin", + "EGOD": "EgodCoin", "EGOLD": "EGOLD", "EGON": "EgonCoin", "EGR": "Egoras Rights", @@ -3764,6 +4034,7 @@ "ELET": "Elementeum", "ELF": "aelf", "ELFI": "ELYFI", + "ELFW": "ELF Wallet", "ELG": "EscoinToken", "ELGATO": "el gato", "ELI": "GoCrypto", @@ -3778,6 +4049,7 @@ "ELMO": "ELMOERC", "ELMON": "Elemon", "ELMT": "Element", + "ELO": "ElonPark", "ELON": "Dogelon Mars", "ELON2024": "ELON 2024(BSC)", "ELON404": "Elon404", @@ -3787,6 +4059,7 @@ "ELONGD": "Elongate Deluxe", "ELONGT": "Elon GOAT", "ELONIUM": "Elonium", + "ELONM": "ELON MEME", "ELONMARS": "ELON MARS", "ELONONE": "AstroElon", "ELONPEPE": "Elon Pepe Robot", @@ -3811,10 +4084,13 @@ "EMB": "Overline Emblem", "EMBER": "EmberCoin", "EMBR": "Embr", - "EMC": "Emercoin", + "EMC": "Edge Matrix Computing", "EMC2": "Einsteinium", "EMD": "Emerald", + "EMERCOIN": "Emercoin", "EMIGR": "EmiratesGoldCoin", + "EMILY": "Emily", + "EMIT": "Time Machine NFTs", "EML": "EML Protocol", "EMN.CUR": "Eastman Chemical", "EMOJI": "MOMOJI", @@ -3826,6 +4102,7 @@ "EMPH": "Emphy", "EMPIRE": "Empire Token", "EMPR": "empowr", + "EMR": "Emorya Finance", "EMRLD": "The Emerald Company", "EMRX": "Emirex Token", "EMT": "EasyMine", @@ -3836,6 +4113,7 @@ "ENC": "Encores Token", "ENCD": "Encircled", "ENCN": "EndChain", + "ENCR": "ENCRYPT", "ENCRYPG": "EncrypGen", "ENCS": "ENCOINS", "ENCX": "Encrybit", @@ -3941,9 +4219,10 @@ "ESBC": "ESBC", "ESCE": "Escroco Emerald", "ESCROW": "Cryptegrity DAO", + "ESCU": "EYESECU AI", "ESD": "Empty Set Dollar", "ESE": "Eesee", - "ESES.BITCI": "Eskişehir Fan Tokens", + "ESES": "Eskişehir Fan Tokens", "ESG": "ESG", "ESGC": "ESG Chain", "ESH": "Switch", @@ -3952,6 +4231,7 @@ "ESNC": "Galaxy Arena Metaverse", "ESP": "Espers", "ESPR": "Espresso Bot", + "ESRC": "ESR Coin", "ESS": "Essentia", "EST": "ESports Chain", "ESTATE": "AgentMile", @@ -3964,6 +4244,7 @@ "ETBT": "Ethereum Black", "ETC": "Ethereum Classic", "ETE": "EXTRADECOIN", + "ETER": "Eternal AI", "ETERNAL": "CryptoMines Eternal", "ETERNALC": "Eternal Coin", "ETERNALT": "Eternal Token", @@ -3985,6 +4266,7 @@ "ETHERKING": "Ether Kingdoms Token", "ETHERNITY": "Ethernity Chain", "ETHEROLL": "Etheroll", + "ETHERW": "Ether Wars", "ETHF": "EthereumFair", "ETHFAI": "ETHforestAI", "ETHFI": "Ether.fi", @@ -4024,10 +4306,12 @@ "ETX": "Ethrix", "ETY": "Ethereum Cloud", "ETZ": "EtherZero", + "EU24": "EURO2024", "EUC": "Eurocoin", "EUCOIN": "EU Coin", "EUCX": "EUCX", "EUL": "Euler", + "EULER": "Euler Tools", "EUM": "Elitium", "EUNO": "EUNO", "EURC": "Euro Coin", @@ -4065,10 +4349,12 @@ "EVN": "Evn Token", "EVO": "EvoVerses", "EVOAI": "EvolveAI", + "EVOC": "EVOCPLUS", "EVOL": "EVOL NETWORK", "EVOS": "EVOS", "EVR": "Everus", "EVRICE": "Evrice", + "EVRM": "Evrmore", "EVRT": "Everest Token", "EVRY": "Evrynet", "EVT": "EveriToken", @@ -4132,6 +4418,7 @@ "FAB": "FABRK Token", "FABA": "Faba Invest", "FABRIC": "MetaFabric", + "FAC": "Flying Avocado Cat", "FACE": "FaceDAO", "FACETER": "Faceter", "FACT": "Orcfax", @@ -4147,9 +4434,11 @@ "FAKEAI": "DeepFakeAI", "FAKT": "Medifakt", "FALCONS": "Falcon Swaps", + "FALX": "FalconX", "FAME": "Fame MMA", "FAMEC": "FameCoin", "FAMILY": "The Bitcoin Family", + "FAMOUSF": "Famous Fox Federation", "FAN": "Fanadise", "FAN360": "Fan360", "FANC": "fanC", @@ -4166,13 +4455,14 @@ "FARMC": "FARM Coin", "FARMING": "Farming Bad", "FARMS": "Farmsent", - "FAST": "PodFast", + "FAST": "Fastswap", "FASTMOON": "FastMoon", - "FASTSWAP": "Fastswap", + "FASTV1": "Fastswap v1", "FAT": "Fatcoin", "FATCAKE": "FatCake", "FATHER": "DogeFather", "FATHOM": "Fathom", + "FATMICHI": "FATMICHI", "FAV": "Football At AlphaVerse", "FAVR": "FAVOR", "FAYD": "Fayda", @@ -4195,6 +4485,7 @@ "FCK": "Find & Check", "FCL": "Fractal", "FCN": "FantomCoin", + "FCO": "Fanatico", "FCOIN": "FCoin", "FCON": "SpaceFalcon", "FCP": "FILIPCOIN", @@ -4216,6 +4507,7 @@ "FEED": "Feeder Finance", "FEENIXV2": "ProjectFeenixv2", "FEES": "UNIFEES", + "FEFE": "Fefe", "FEG": "FEG Token", "FEGV1": "FEG Token v1", "FEI": "Fei Protocol", @@ -4249,6 +4541,7 @@ "FGM": "Feels Good Man", "FGT": "Flozo Game Token", "FGZ": "Free Game Zone", + "FHB": "FHB", "FHM": "FantOHM", "FI": "Fideum", "FIA": "FIA Protocol", @@ -4259,6 +4552,7 @@ "FIDA": "Bonfida", "FIDLE": "Fidlecoin", "FIDO": "FIDO", + "FIDU": "Fidu", "FIELD": "Fieldcoin", "FIERO": "Fieres", "FIF": "flokiwifhat", @@ -4276,6 +4570,7 @@ "FIN": "DeFiner", "FINA": "Defina Finance", "FINALE": "Ben's Finale", + "FINB": "Finblox", "FINC": "Finceptor", "FIND": "FindCoin", "FINE": "Refinable", @@ -4284,9 +4579,11 @@ "FINN": "Huckleberry", "FINOM": "Finom FIN Token", "FINS": "AutoShark DEX", + "FINT": "FintraDao", "FINU": "Formula Inu", "FIO": "FIO Protocol", "FIRA": "Defira", + "FIRE": "Matr1x Fire", "FIRECOIN": "FireCoin", "FIRO": "Firo", "FIRSTHARE": "FirstHare", @@ -4306,13 +4603,17 @@ "FJO": "Fjord Foundry", "FJT": "Fuji FJT", "FK": "FK Coin", + "FKBIDEN": "Fkbiden", "FKGARY": "Fuck Gary Gensler", "FKPEPE": "Fuck Pepe", + "FKRPRO": "FlickerPro", + "FKSK": "Fatih Karagümrük SK", "FKX": "FortKnoxster", "FL": "Freeliquid", "FLAG": "Flag Network", "FLAME": "FireStarter", "FLAP": "Flappy Coin", + "FLAPPY": "Flappy", "FLAS": "Flas Exchange Token", "FLASH": "Flashstake", "FLASHC": "FLASH coin", @@ -4323,11 +4624,13 @@ "FLEPE": "Floki VS Pepe", "FLETA": "FLETA", "FLEX": "FLEX Coin", + "FLEXUSD": "flexUSD", "FLG": "Folgory Coin", "FLIBERO": "Fantom Libero Financial", "FLIC": "Skaflic", "FLIGHT": "FLIGHTCLUPCOIN", "FLIK": "FLiK", + "FLIKO": "Fliko Uni", "FLINU": "FLOKI INU", "FLIP": "Chainflip", "FLIX": "OmniFlix Network", @@ -4339,7 +4642,10 @@ "FLN": "Falcon", "FLO": "Flo", "FLOAT": "Float Protocol", + "FLOCHI": "Flochi", + "FLOCKA": "Waka Flocka", "FLOKA": "FLOKA", + "FLOKEI": "FLOKEI", "FLOKI": "Floki Inu", "FLOKIBURN": "FlokiBurn", "FLOKICASH": "Floki Cash", @@ -4382,6 +4688,7 @@ "FLYCOIN": "FlyCoin", "FLZ": "Fellaz", "FM": "Flowmatic", + "FMA": "FLAMA", "FMB": "FREEMOON BINANCE", "FMC": "Fimarkcoin", "FME": "FME", @@ -4399,6 +4706,7 @@ "FNF": "FunFi", "FNK": "FunKeyPay", "FNL": "Finlocale", + "FNLX": "Fignal X", "FNO": "Fonero", "FNP": "FlipNpik", "FNSA": "FINSCHIA", @@ -4463,15 +4771,18 @@ "FOXE": "Foxe", "FOXF": "Fox Finance", "FOXGIRL": "FoxGirl", + "FOXSY": "Foxsy AI", "FOXT": "Fox Trading", "FOXV2": "FoxFinanceV2", - "FOXY": "Famous Fox Federation", + "FOXY": "Foxy", "FP": "Fren Pet", "FPAD": "FantomPAD", "FPC": "Futurepia", + "FPEPE": "Based Father Pepe", "FPFT": "Peruvian National Football Team Fan Token", "FPI": "Frax Price Index", "FPIS": "Frax Price Index Share", + "FQS": "FQSwap V2", "FR": "Freedom Reserve", "FRA": "Findora", "FRAC": "FractalCoin", @@ -4485,13 +4796,17 @@ "FREC": "Freyrchain", "FRECNX": "FreldoCoinX", "FRED": "FREDEnergy", + "FREDDY": "FREDDY", "FREE": "FREE coin", "FREED": "FreedomCoin", + "FREEDO": "Freedom", "FREELA": "DecentralFree", "FREEROSS": "FreeRossDAO", "FREL": "Freela", "FREN": "FREN", + "FRENCH": "French On Base", "FRENS": "Farmer Friends", + "FRESCO": "Fresco", "FRF": "France REV Finance", "FRGST": "Froggies Token", "FRGX": "FRGX", @@ -4506,10 +4821,12 @@ "FRN": "Francs", "FRNT": "Final Frontier", "FROG": "FrogSwap", + "FROGB": "Frog Bsc", "FROGCEO": "Frog Ceo", "FROGE": "Froge Finance", "FROGEX": "FrogeX", "FROGGY": "Froggy", + "FROGLIC": "Pink Hood Froglicker", "FROGO": "Frogo", "FRONK": "Fronk", "FRONT": "Frontier", @@ -4535,6 +4852,7 @@ "FSHN": "Fashion Coin", "FSM": "Floki SafeMoon", "FSN": "Fusion", + "FSO": "FSociety", "FST": "Futureswap", "FSTC": "FastCoin", "FSW": "Falconswap", @@ -4582,9 +4900,11 @@ "FUNDX": "Funder One Capital", "FUNDYOUR": "FundYourselfNow", "FUNDZ": "FundFantasy", + "FUNG": "Fungify", "FUNGI": "Fungi", "FUNK": "Cypherfunks Coin", "FUR": "Furio", + "FURIE": "Matt Furie", "FURU": "Furucombo", "FURY": "Engines of Fury", "FURYX": "Metafury", @@ -4604,11 +4924,13 @@ "FWATCH": "Foliowatch", "FWB": "Friends With Benefits Pro", "FWC": "Qatar 2022", + "FWH": "FigureWifHat", "FWT": "Freeway Token", "FWW": "Farmers World Wood", "FX": "Function X", "FXB": "FxBox", "FXC": "Flexacoin", + "FXD": "Fathom Dollar", "FXDX": "FXDX", "FXF": "Finxflo", "FXI": "FX1 Sports", @@ -4626,6 +4948,7 @@ "G1X": "GoldFinX", "G3": "GAM3S.GG", "G50": "G50", + "G8C": "ONEG8.ONE", "G999": "G999", "GAC": "Green Art Coin", "GAD": "Green App Development", @@ -4637,6 +4960,7 @@ "GAIAPLATFORM": "GAIA Platform", "GAIN": "Gainfy", "GAINS": "Gains", + "GAINSV1": "Gains v1", "GAJ": "Gaj Finance", "GAKH": "GAKHcoin", "GAL": "Galxe", @@ -4644,6 +4968,7 @@ "GALATA": "Galatasaray Fan Token", "GALAV1": "Gala v1", "GALAX": "Galaxy Finance", + "GALAXIS": "Galaxis", "GALAXY": "GalaxyCoin", "GALEON": "Galeon", "GALI": "Galilel", @@ -4653,7 +4978,8 @@ "GAMB": "GAMB", "GAMBIT": "Gambit", "GAMBL": "Metagamble", - "GAME": "Gamestarter", + "GAME": "GameBuild", + "GAMEBUD": "GAMEBUD", "GAMEC": "Game", "GAMECRED": "GameCredits", "GAMEFI": "GameFi Token", @@ -4661,6 +4987,7 @@ "GAMEIN": "Game Infinity", "GAMER": "GameStation", "GAMERFI": "GamerFI", + "GAMES": "Gamestarter", "GAMESTARS": "Game Stars", "GAMEX": "GameX", "GAMI": "GAMI World", @@ -4689,6 +5016,7 @@ "GAT": "GATCOIN", "GATE": "GATENet", "GATEWAY": "Gateway Protocol", + "GATHER": "Gather", "GATSBY": "Gatsby Inu", "GAU": "Gamer Arena", "GAUSS": "Gauss0x", @@ -4712,6 +5040,7 @@ "GBPT": "poundtoken", "GBPU": "Upper Pound", "GBRC": "GBR Coin", + "GBSK": "Gençlerbirliği Fan Token", "GBT": "GameBetCoin", "GBTC": "GigTricks", "GBURN": "GBURN", @@ -4721,6 +5050,7 @@ "GC": "Gric Coin", "GCAKE": "Pancake Games", "GCAT": "Giga Cat on Base", + "GCB": "Global Commercial Business", "GCC": "GuccioneCoin", "GCME": "GoCryptoMe", "GCN": "gCn Coin", @@ -4756,16 +5086,19 @@ "GELO": "Grok Elo", "GEM": "Gemie", "GEMA": "Gemera", + "GEME": "GAMESTUMP", "GEMG": "GemGuardian", "GEMINI": "Gemini Ai", "GEMINIT": "Gemini", "GEMS": "Gems", + "GEMSTON": "GEMSTON", "GEMZ": "Gemz Social", "GEN": "DAOstack", "GENE": "Genopets", "GENESIS": "Genesis Worlds", "GENI": "Genius", "GENIE": "The Genie", + "GENIEC": "GenieCoin", "GENIX": "Genix", "GENO": "GenomeFi", "GENOME": "GenomesDao", @@ -4838,6 +5171,7 @@ "GHT": "Global Human Trust", "GHUB": "GemHUB", "GHX": "GamerCoin", + "GIA": "Gamia", "GIAC": "Gorilla In A Coupe", "GIB": "Bible Coin", "GIC": "Giant", @@ -4846,7 +5180,9 @@ "GIFT": "GiftNet", "GIG": "GigaCoin", "GIGA": "GigaSwap", + "GIGACHAD": "GigaChad", "GIGX": "GigXCoin", + "GIKO": "Giko Cat", "GIM": "Gimli", "GIMMER": "Gimmer", "GIN": "GINcoin", @@ -4857,18 +5193,21 @@ "GIO": "Graviocoin", "GIOT": "Giotto Coin", "GIOVE": "GIOVE", + "GIR": "Girlfriend", "GIV": "Giveth", "GIVE": "GiveCoin", "GIZ": "GIZMOcoin", "GJC": "Global Jobcoin", "GKF": "Galatic Kitty Fighters", "GKI": "GKi", + "GL": "Lemmings", "GLA": "Gladius", "GLAX": "BLOCK GALAXY NETWORK", "GLB": "Golden Ball", "GLC": "GoldCoin", "GLCH": "Glitch", "GLD": "Goldario", + "GLDGOV": "Gold DAO", "GLDR": "Golder Coin", "GLDS": "Gdigit", "GLDX": "Goldex", @@ -4904,7 +5243,11 @@ "GMC": "Gridmaster", "GMCN": "GambleCoin", "GMCOIN": "GMCoin", + "GMDP": "GMD Protocol", + "GME": "GameStop", "GMEE": "GAMEE", + "GMEPEPE": "GAMESTOP PEPE", + "GMETRUMP": "GME TRUMP", "GMEX": "Game Coin", "GMFAM": "GMFAM", "GMFI": "Golden Magfi", @@ -4969,6 +5312,7 @@ "GOLDCAT": "GOLD CAT", "GOLDEN": "Golden Inu", "GOLDENG": "Golden Goose", + "GOLDF": "Gold Fever", "GOLDMIN": "GoldMiner", "GOLDPIECES": "GoldPieces", "GOLDX": "eToro Gold", @@ -4980,6 +5324,7 @@ "GOM2": "GoMoney2", "GOMA": "GOMA Finance", "GOMD": "GOMDori", + "GOME": "Game of Memes", "GOMT": "GoMeat", "GONE": "GONE", "GOO": "Gooeys", @@ -5019,9 +5364,12 @@ "GPO": "GoldPesa Option", "GPPT": "Pluto Project Coin", "GPS": "Triffic", + "GPT": "QnA3.AI", + "GPT4O": "GPT-4o", "GPTG": "GPT Guru", "GPTPLUS": "GPTPlus", "GPTV": "GPTVerse", + "GPU": "Node AI", "GPUCOIN": "GPU Coin", "GPUINU": "GPU Inu", "GPX": "GPEX", @@ -5066,6 +5414,7 @@ "GRND": "SuperWalk", "GRO": "Gro DAO Token", "GROK": "Grok", + "GROK2": "GROK 2.0", "GROKBANK": "Grok Bank", "GROKBOY": "GrokBoy", "GROKCAT": "Grok Cat", @@ -5086,8 +5435,10 @@ "GROKXAI": "Grok X Ai", "GRON": "Gron Digital", "GROOOOOK": "Groooook", + "GROOVE": "GROOVE", "GROW": "GrownCoin", "GROWTH": "GROWTH DeFi", + "GROYPER": "Groyper", "GRP": "Grape", "GRPL": "Golden Ratio Per Liquidity", "GRS": "Groestlcoin", @@ -5109,9 +5460,11 @@ "GSM": "GSM Coin", "GSPI": "GSPI", "GSR": "GeyserCoin", + "GST": "CoinGhost", "GSTBSC": "Green Satoshi Token (BSC)", "GSTC": "GSTCOIN", "GSTETH": "Green Satoshi Token (ETH)", + "GSTOP": "GameStop", "GSTS": "Gunstar Metaverse", "GSTSOL": "Green Satoshi Token (SOL)", "GSTT": "GSTT", @@ -5121,6 +5474,7 @@ "GSY": "GenesysCoin", "GSYS": "Genesys", "GT": "Gatechain Token", + "GTA": "GTA Token", "GTA6": "GTA VI", "GTAI": "GT Protocol", "GTAVI": "GTAVI", @@ -5136,6 +5490,7 @@ "GTN": "GlitzKoin", "GTON": "GTON Capital", "GTR": "Gturbo", + "GTRUMP": "Giga Trump", "GTSE": "Global Tourism Sharing Ecology", "GTTM": "Going To The Moon", "GTX": "GALLACTIC", @@ -5155,9 +5510,11 @@ "GUM": "Gourmet Galaxy", "GUMMIES": "GUMMIES", "GUMMY": "GUMMY", + "GUMSHOOS": "GUMSHOOS TRUMP", "GUN": "GunCoin", "GUNS": "GeoFunders", "GUP": "Guppy", + "GURL": "Gently Used Girl", "GUSD": "Gemini Dollar", "GUSDT": "Global Utility Smart Digital Token", "GUT": "Genesis Universe", @@ -5180,7 +5537,9 @@ "GYM": "GYM Token", "GYMNET": "Gym Network", "GYMREW": "Gym Rewards", + "GYR": "Gyre Token", "GYRO": "Gyro", + "GYROS": "Gyroscope GYD", "GYSR": "GYSR", "GZB": "Gigzi", "GZE": "GazeCoin", @@ -5196,6 +5555,7 @@ "H4TOKEN": "Hold Ignore Fud", "HABIBI": "The Habibiz", "HAC": "Hackspace Capital", + "HACD": "Hacash Diamond", "HACHI": "Hachi", "HACHIKO": "Hachiko Inu Token", "HAHA": "Hasaki", @@ -5213,6 +5573,7 @@ "HALOPLATFORM": "Halo Platform", "HAM": "Hamster", "HAMI": "Hamachi Finance", + "HAMMY": "SAD HAMSTER", "HAMS": "HamsterCoin", "HAMSTR": "Hamster Coin", "HAN": "HanChain", @@ -5222,15 +5583,17 @@ "HANK": "Hank", "HANU": "Hanu Yokia", "HAO": "HistoryDAO", + "HAP": "Happy Train", "HAPI": "HAPI", "HARAM": "HARAM", - "HARAMBE": "Harambe", + "HARAMBE": "Harambe on Solana", "HARD": "Kava Lend", "HARE": "Hare Token", "HAREPLUS": "Hare Plus", "HAROLD": "Harold", "HARRYP": "HarryPotterObamaSonic10Inu (ERC20)", "HART": "HARA", + "HASBIK": "Hasbulla", "HASH": "Provenance Blockchain", "HASHAI": "HashAI", "HASHT": "HASH Token", @@ -5243,6 +5606,7 @@ "HAVOC": "Havoc", "HAVY": "Havy", "HAWK": "Hawksight", + "HAWKTUAH": "Hawk Tuah", "HAY": "Destablecoin HAY", "HAYYA": "GO HAYYA", "HAZ": "Hazza", @@ -5273,6 +5637,7 @@ "HDG": "Hedge Token", "HDN": "Hydranet", "HDRN": "Hedron", + "HDRO": "Hydro Protocol", "HDV": "Hydraverse", "HDX": "HydraDX", "HE": "Heroes & Empires", @@ -5303,6 +5668,7 @@ "HER": "Hero Node", "HERA": "Hero Arena", "HERB": "HerbCoin", + "HERBE": "Herbee", "HERMES": "Hermes Protocol", "HERO": "Metahero", "HEROES": "Dehero Community Token", @@ -5317,6 +5683,7 @@ "HFI": "Holder Finance", "HFIL": "Huobi Fil", "HFT": "Hashflow", + "HGEN": "HGEN DAO", "HGET": "Hedget", "HGHG": "HUGHUG Coin", "HGO": "HireGo", @@ -5347,6 +5714,7 @@ "HIFRIENDS": "hiFRIENDS", "HIGAZERS": "hiGAZERS", "HIGH": "Highstreet", + "HIGHER": "Higher", "HIH": "HiHealth", "HIKARI": "Hikari Protocol", "HILL": "President Clinton", @@ -5362,6 +5730,7 @@ "HINU": "HajiIni", "HIOD": "hiOD", "HIODBS": "hiODBS", + "HIP": "HIPPOP", "HIPENGUINS": "hiPENGUINS", "HIPP": "El Hippo", "HIPUNKS": "hiPUNKS", @@ -5387,6 +5756,7 @@ "HLC": "HalalChain", "HLD": "HyperLending", "HLDY": "HOLIDAY", + "HLG": "Holograph", "HLM": "Helium", "HLN": "Holonus", "HLP": "Purpose Coin", @@ -5428,6 +5798,7 @@ "HOCAI": "Heroes of Crypto AI", "HOD": "HoDooi.com", "HODL": "HOdlcoin", + "HOG": "Hog", "HOGE": "Hoge Finance", "HOHOHO": "Santa Floki v2.0", "HOICHI": "Hoichi", @@ -5447,6 +5818,7 @@ "HON": "SoulSociety", "HONEY": "Hivemapper", "HONEYCOIN": "Honey", + "HONG": "HongKongDAO", "HONK": "Honk", "HONOR": "HonorLand", "HOOF": "Metaderby Hoof", @@ -5493,7 +5865,10 @@ "HRDG": "HRDGCOIN", "HRM": "Honorarium", "HRO": "HEROIC.com", + "HRT": "HIRO", "HRTS": "YellowHeart Protocol", + "HRX": "HorusLayer", + "HSAI": "HealthSci.AI", "HSC": "HashCoin", "HSF": "Hillstone Finance", "HSN": "Hyper Speed Network", @@ -5527,6 +5902,7 @@ "HUGE": "BigCoin", "HUGO": "Hugo Inu", "HUH": "HUH Token", + "HUHCAT": "huhcat", "HUM": "Humanscape", "HUMAI": "Humanoid AI", "HUMP": "Hump", @@ -5571,6 +5947,7 @@ "HYGH": "HYGH", "HYN": "Hyperion", "HYP": "HyperStake", + "HYPC": "HyperCycle", "HYPE": "Hype", "HYPER": "HyperChainX", "HYPERAI": "HyperHash AI", @@ -5613,7 +5990,9 @@ "ICASH": "ICASH", "ICB": "IceBergCoin", "ICC": "Insta Cash Coin", - "ICE": "Decentral Games ICE", + "ICE": "Ice Open Network", + "ICELAND": "ICE LAND", + "ICETH": "Interest Compounding ETH Index", "ICG": "Invest Club Global", "ICH": "IdeaChain", "ICHI": "ICHI", @@ -5629,6 +6008,8 @@ "ICOO": "ICO OpenLedger", "ICOS": "ICOBox", "ICP": "Internet Computer", + "ICPX": "Icrypex token", + "ICS": " ICPSwap Token", "ICSA": "Icosa", "ICST": "ICST", "ICT": "Intrachain", @@ -5638,6 +6019,7 @@ "IDAP": "IDAP", "IDC": "IdealCoin", "IDEA": "Ideaology", + "IDEAL": "Ideal Opportunities", "IDEFI": "Inverse DeFi Index", "IDEX": "IDEX", "IDH": "IndaHash", @@ -5692,6 +6074,8 @@ "ILK": "Inlock", "ILT": "iOlite", "ILV": "Illuvium", + "IMARO": "IMARO", + "IMAYC": "IMAYC", "IMBTC": "The Tokenized Bitcoin", "IMC": "i Money Crypto", "IME": "Imperium Empires", @@ -5707,6 +6091,7 @@ "IMPACTXP": "ImpactXP", "IMPCH": "Impeach", "IMPCN": "Brain Space", + "IMPCOIN": "IMPERIUM", "IMPER": "Impermax", "IMPS": "Impulse Coin", "IMPT": "IMPT", @@ -5774,6 +6159,7 @@ "INSURC": "InsurChain Coin", "INT": "Internet Node token", "INTD": "INTDESTCOIN", + "INTE": "InteractWith", "INTELLIQUE": "KARASOU", "INTER": "Inter Milan Fan Token", "INTERN": "Interns", @@ -5783,6 +6169,7 @@ "INTRO": "1INTRO", "INTX": "Intexcoin", "INU": "INU Token", + "INUGA": "INUGAMI", "INUINU": "Inu Inu", "INUKO": "Inuko Finance", "INUS": "MultiPlanetary Inus", @@ -5798,9 +6185,10 @@ "INXM": "InMax", "INXT": "Internxt", "INXTOKEN": "INX Token", - "IO": "Ideal Opportunities", + "IO": "io.net", "IOC": "IOCoin", "IOEN": "Internet of Energy Network", + "IOETH": "ioETH", "IOEX": "ioeX", "IOI": "IOI Token", "ION": "Ionomy", @@ -5834,6 +6222,7 @@ "IQ": "IQ", "IQ50": "IQ50", "IQC": "IQ.cash", + "IQG": "IQ Global", "IQN": "IQeon", "IQQ": "Iqoniq", "IQT": "IQ Protocol", @@ -5843,7 +6232,8 @@ "IRIS": "IRIS Network", "IRISTOKEN": "Iris Ecosystem", "IRL": "IrishCoin", - "IRON": "Iron BSC", + "IRON": "Iron Fish", + "IRONBSC": "Iron BSC", "IRT": "Infinity Rocket", "IRYDE": "iRYDE COIN", "ISA": "Islander", @@ -5888,8 +6278,10 @@ "IUS": "Iustitia Coin", "IUSD": "Indigo Protocol - iUSD", "IUX": "GeniuX", + "IVANKA": "IVANKA TRUMP", "IVAR": "Ivar Coin", "IVC": "Investy Coin", + "IVEX": "IVEX Financial", "IVI": "IVIRSE", "IVIP": "iVipCoin", "IVN": "IVN Security", @@ -5897,6 +6289,7 @@ "IVY": "IvyKoin", "IVZ": "InvisibleCoin", "IW": "iWallet", + "IWFT": "İstanbul Wild Cats", "IWT": "IwToken", "IX": "X-Block", "IXC": "IXcoin", @@ -5945,6 +6338,7 @@ "JED": "JEDSTAR", "JEDALS": "Yoda Coin Swap", "JEET": "Jeet", + "JEETOLAX": "Jeetolax", "JEFE": "JEFE TOKEN", "JEFF": "Jeff in Space", "JEJUDOGE": "Jejudoge", @@ -5952,8 +6346,11 @@ "JELLY": "Jelly eSports", "JEM": "Jem", "JEN": "JEN COIN", + "JENNER": "Caitlyn Jenner", + "JENSEN": "Jensen Huang", "JERRY": "Jerry Inu", "JERRYINU": "JERRYINU", + "JES": "Jesus", "JESUS": "Jesus Coin", "JET": "Jet Protocol", "JETCOIN": "Jetcoin", @@ -5962,6 +6359,7 @@ "JEW": "Shekel", "JEWEL": "DeFi Kingdoms", "JEX": "JEX Token", + "JF": "Jswap.Finance", "JFI": "JackPool.finance", "JFIN": "JFIN Coin", "JFIVE": "Jonny Five", @@ -5970,6 +6368,7 @@ "JIAOZI": "Jiaozi", "JIB": "Jibbit", "JIF": "JiffyCoin", + "JIG": "Jigen", "JIM": "Jim", "JIND": "JINDO INU", "JINDOGE": "Jindoge", @@ -5978,6 +6377,7 @@ "JIZZ": "JizzRocket", "JIZZLORD": "JizzLord", "JIZZUS": "JIZZUS CHRIST", + "JJ": "JEJE", "JK": "JK Coin", "JKC": "JunkCoin", "JKL": "Jackal Protocol", @@ -5995,16 +6395,19 @@ "JNY": "JNY", "JOB": "Jobchain", "JOBS": "JobsCoin", + "JOC": "Speed Star JOC", "JOE": "JOE", "JOEBIDEN2024 ": "JOEBIDEN2024", "JOEY": "Joey Inu", "JOGECO": "Jogecodog", "JOHM": "Johm lemmon", + "JOHNNY": "Johnny The Bull", "JOINT": "Joint Ventures", "JOJO": "JOJO", "JOK": "JokInTheBox", "JOKER": "JOKER", "JOKERCOIN": "JokerCoin", + "JOL": "Jolofcoin", "JOLT": "Joltify", "JONES": "Jones DAO", "JOOPS": "JOOPS", @@ -6043,11 +6446,14 @@ "JUMBO": "Jumbo Exchange", "JUMP": "Jumpcoin", "JUN": "Jun \"M\" Coin", + "JUNGLE": "JUNGLEDOGE", "JUNKIE": "Junkie Cats", "JUNO": "JUNO", "JUP": "Jupiter", "JUPI": "Jupiter", + "JUPSOL": "Jupiter Staked SOL", "JUR": "Jur", + "JUSD": "JUSD Stable Token", "JUSDC": "Jones USDC", "JUSDT": "TON Bridged USDT", "JUSTICE": "AssangeDAO", @@ -6055,7 +6461,9 @@ "JVL": "Javelin", "JVY": "Javvy", "JW": "Jasan Wellness", + "JWIF": "Jerrywifhat", "JWL": "Jewels", + "JYC": "Joe-Yo Coin", "K21": "K21", "K2G": "Kasko2go", "KAAS": "KAASY.AI", @@ -6063,12 +6471,15 @@ "KABY": "Kaby Arena", "KAC": "KACO Finance", "KACY": "Kassandra", + "KAF": "KAIF Platform", "KAG": "Silver", "KAI": "KardiaChain", + "KAID": "KAIDEX", "KAIJU": "KAIJUNO8", "KAIKEN": "Kaiken Shiba", "KAINET": "KAINET", "KAKA": "KAKA NFT World", + "KAKAXA": "KAKAXA", "KAKI": "Doge KaKi", "KAL": "Kaleido", "KALA": "Kalata Protocol", @@ -6146,15 +6557,19 @@ "KEKE": "KEK", "KEKEC": "THE BALKAN DWARF", "KEL": "KelVPN", + "KELP": "KELP", + "KELPE": "Kelp Earned Points", "KELPIE": "Kelpie Inu", "KEMA": "Kemacoin", "KEN": "Kencoin", + "KENDU": "Kendu Inu", "KENKA": "KENKA METAVERSE", "KENNEL": "Kennel Locker", "KENSHI": "Kenshi", "KEP": "Kepler", "KEPT": "KeptChain", "KERMIT": "KermitTheCoin", + "KETAMINE": "Ketamine", "KETAN": "Ketan", "KEX": "Kira Network", "KEXCOIN": "KexCoin", @@ -6168,6 +6583,7 @@ "KFR": "KING FOREVER", "KFT": "Knit Finance", "KFX": "KnoxFS", + "KGB": "KGB protocol", "KGC": "Krypton Galaxy Coin", "KGO": "Kiwigo", "KGT": "Kaby Gaming Token", @@ -6181,6 +6597,7 @@ "KICKS": "GetKicks", "KIF": "KittenFinance", "KIKO": "KIKO", + "KILLA": "The Bitcoin Killa", "KILLER": "Fat Cat Killer", "KILLSOLANA": "KillSolana", "KILT": "KILT Protocol", @@ -6208,6 +6625,7 @@ "KINGU": "KINGU", "KINGWIF": "King WIF", "KINGY": "KINGYTON", + "KINIC": "Kinic", "KINT": "Kintsugi", "KINU": "Kragger Inu", "KIRA": "Kira the Injective Cat", @@ -6279,9 +6697,10 @@ "KODACHI": "Kodachi Token", "KOGE": "BNB48 Club Token", "KOGECOIN": "KogeCoin.io", - "KOI": "Koi Network", + "KOI": "Koi", "KOIN": "Koinos", "KOINB": "KoinBülteni Token", + "KOINETWORK": "Koi Network", "KOIP": "KoiPond", "KOJI": "Koji", "KOK": "KOK Coin", @@ -6299,6 +6718,7 @@ "KORE": "KORE Vault", "KOREC": "Kore", "KORRA": "KORRA", + "KOSS": "Koss", "KOTO": "Koto", "KOY": "Koyo", "KOZ": "Kozjin", @@ -6329,21 +6749,23 @@ "KRONE": "Kronecoin", "KRP": "Kryptoin", "KRRX": "Kyrrex", + "KRS": "Kingdom Raids", "KRT": "TerraKRW", "KRU": "Kingaru", "KRUGERCOIN": "KrugerCoin", "KRX": "RAVN Korrax", + "KRY": "Krypdraw", "KS2": "Kingdomswap", "KSC": "KStarCoin", "KSH": "Kahsh", "KSHIB": "Kilo Shiba Inu", - "KSK.BITCI": "Karsiyaka Taraftar Token", + "KSK": "Karsiyaka Taraftar Token", "KSM": "Kusama", "KSN": "KISSAN", "KSP": "KlaySwap Protocol", "KSS": "Krosscoin", "KST": "StarKST", - "KSTT.BITCI": "Kocaelispor Fan Token", + "KSTT": "Kocaelispor Fan Token", "KSWAP": "KyotoSwap", "KSYS": "K-Systems", "KT": "Kuai Token", @@ -6412,6 +6834,7 @@ "LABZ": "Insane Labz", "LACCOIN": "LocalAgro", "LACE": "Lovelace World", + "LAD": "LADA", "LADA": "LadderCaster", "LADYF": "Milady Wif Hat", "LADYS": "Milady Meme Coin", @@ -6419,10 +6842,12 @@ "LAELAPS": "Laelaps", "LAI": "LayerAI", "LAIKA": "Laika Protocol", + "LAINESOL": "Laine Staked SOL", "LAKE": "Data Lake", "LALA": "LaLa World", "LAMB": "Lambda", "LAMBO": "LAMBO", + "LAN": "Lanify", "LANA": "LanaCoin", "LANC": "Lanceria", "LAND": "Landshare", @@ -6430,17 +6855,22 @@ "LANDS": "Two Lands", "LANDV1": "Landshare v1", "LANDWOLF": "LANDWOLF", + "LANDWU": "LandWu", "LANE": "LaneAxis", "LAO": "LC Token", + "LAPI": "Lapis Inu", "LAPTOP": "Hunter Biden's Laptop", "LAR": "LinkArt", "LARIX": "Larix", "LARO": "Anito Legends", + "LARR": "larrywifhat", "LARRY": "LarryCoin", "LAS": "LNAsolution Coin", "LAT": "PlatON Network", + "LATOM": "Liquid ATOM", "LATTE": "LatteSwap", "LATX": "Latium", + "LAUGHCOIN": "Laughcoin", "LAUNCH": "Launchblock.com", "LAVA": "Lavaswap", "LAVAX": "LavaX Labs", @@ -6451,6 +6881,7 @@ "LAYER": "UniLayer", "LAZ": "Lazarus", "LAZIO": "Lazio Fan Token", + "LB": "LoveBit", "LBA": "Cred", "LBC": "LBRY Credits", "LBK": "LBK", @@ -6478,6 +6909,7 @@ "LCT": "LendConnect", "LCWP": "LiteCoinW Plus", "LCX": "LCX", + "LD": "Long Dragon", "LDC": "LeadCoin", "LDFI": "LenDeFi Token", "LDM": "Ludum token", @@ -6530,6 +6962,7 @@ "LEVE": "Leve Invest", "LEVELG": "LEVELG", "LEVER": "LeverFi", + "LEVERA": "LeverageInu", "LEVERJ": "Leverj", "LEVL": "Levolution", "LEX": "Elxis", @@ -6539,6 +6972,7 @@ "LF": "Linkflow", "LFC": "BigLifeCoin", "LFG": "Gamerse", + "LFGO": "Lets Fuckin Go", "LFI": "LunaFi", "LFNTY": "Lifinity", "LFT": "Lend Flare Dao", @@ -6561,8 +6995,10 @@ "LIB": "Libellum", "LIBERA": "Libera Financial", "LIBERO": "Libero Financial", + "LIBERTA": "The Libertarian Dog", "LIBFX": "Libfx", - "LIBRA": "Libra Protocol", + "LIBRA": "0L Network", + "LIBRAP": "Libra Protocol", "LIBRE": "Libre", "LIC": "Ligercoin", "LICK": "PetLFG", @@ -6584,6 +7020,7 @@ "LIKEC": "LikeCoin", "LILA": "LiquidLayer", "LILFLOKI": "Lil Floki", + "LILPUMP": "lilpump", "LIME": "iMe Lab", "LIMEX": "Limestone Network", "LIMO": "Limoverse", @@ -6613,6 +7050,7 @@ "LIS": "Realis Network", "LISA": "Lisa Simpson", "LIST": "KList Protocol", + "LISTA": "Lista DAO", "LIT": "Litentry", "LITE": "Lite USD", "LITENETT": "Litenett", @@ -6633,6 +7071,7 @@ "LK7": "Lucky7Coin", "LKC": "LuckyCoin", "LKD": "LinkDao", + "LKI": "Laika AI", "LKN": "LinkCoin Token", "LKSM": "Liquid KSM", "LKT": "Locklet", @@ -6664,6 +7103,7 @@ "LNK": "Ethereum.Link", "LNKC": "Linker Coin", "LNL": "LunarLink", + "LNQ": "LinqAI", "LNR": "Lunar", "LNT": "Lottonation", "LNX": "Lunox Token", @@ -6673,17 +7113,20 @@ "LOBO": "LOBO•THE•WOLF•PUP", "LOBS": "Lobstex", "LOC": "LockTrip", + "LOCAT": "LOVE CAT", "LOCC": "Low Orbit Crypto Cannon", "LOCG": "LOCGame", "LOCI": "LociCoin", "LOCK": "Contracto", "LOCO": "Loco", + "LOCOM": "Locomotir", "LOCUS": "Locus Chain", "LODE": "Lodestar", "LOE": "Legends of Elysium", "LOF": "Land of Fantasy", "LOFI": "LOFI", "LOG": "Wood Coin", + "LOGO": "LOGOS", "LOIS": "Lois Token", "LOKA": "League of Kingdoms", "LOKR": "Polkalokr", @@ -6693,9 +7136,11 @@ "LON": "Tokenlon", "LONG": "Longdrink Finance", "LONGFU": "LONGFU", + "LONGSHINE": "LongShine", "LOOK": "LookCoin", "LOOKS": "LooksRare", "LOOM": "Loom Network", + "LOOMV1": "Loom Network v1", "LOON": "Loon Network", "LOONG": "PlumpyDragons", "LOOP": "LOOP", @@ -6708,17 +7153,20 @@ "LORDZ": "Meme Lordz", "LORGY": "Memeolorgy", "LORY": "Yield Parrot", + "LOS": "Lord Of SOL", "LOST": "Lost Worlds", "LOT": "Lukki Operating Token", "LOTES": "Loteo", "LOTEU": "Loteo", + "LOTT": "Beauty bakery lott", "LOTTO": "LottoCoin", "LOTTY": "Lotty", "LOTUS": "The White Lotus", "LOUD": "Loud Market", "LOV": "LoveChain", "LOVE": "Deesse", - "LOVELY": "Lovely Inu finance", + "LOVELY": "Lovely finance", + "LOVELYV1": "Lovely Inu Finance", "LOVESNOOPY": "I LOVE SNOOPY", "LOWB": "Loser Coin", "LOWQ": "lowq frends", @@ -6759,6 +7207,7 @@ "LSS": "Lossless", "LST": "Lendroid Support Token", "LSTAR": "Learning Star", + "LSTV1": "Lovely Swap Token", "LSV": "Litecoin SV", "LSWAP": "LoopSwap", "LT": "Loctite Assets Token", @@ -6802,6 +7251,7 @@ "LUCK": "Lucky Cat", "LUCKY": "Lucky Lion", "LUCKYB": "LuckyBlocks", + "LUCKYS": "LuckyStar", "LUCKYSLP": "LuckysLeprecoin", "LUCY": "Lucy", "LUDO": "Ludo", @@ -6834,6 +7284,7 @@ "LUTETIUM": "Lutetium Coin", "LUX": "LUXCoin", "LUXO": "Luxo", + "LUXU": "Luxury Travel Token", "LUXY": "Luxy", "LVG": "Leverage Coin", "LVIP": "Limitless VIP", @@ -6860,6 +7311,7 @@ "LYNX": "Lynx", "LYO": "LYO Credit", "LYQD": "eLYQD", + "LYR": "Lyra", "LYRA": "Lyra", "LYTX": "LYTIX", "LYUM": "Layerium", @@ -6873,8 +7325,11 @@ "M1": "SupplyShock", "M2O": "M2O Token", "M87": "MESSIER", + "MAAL": "Maal Chain", "MABA": "Make America Based Again", "MAC": "MachineCoin", + "MACHO": "macho", + "MADA": "MilkADA", "MADANA": "MADANA", "MADC": "MadCoin", "MADOG": "MarvelDoge", @@ -6882,9 +7337,15 @@ "MAEP": "Maester Protocol", "MAF": "MetaMAFIA", "MAG": "Magnet", - "MAGA": "TRUMP", + "MAGA": "MAGA Hat", + "MAGA2024": "MAGA2024", + "MAGAA": "MAGA AGAIN", "MAGACAT": "MAGACAT", + "MAGADOGE": "MAGA DOGE", "MAGAIBA": "Magaiba", + "MAGANOMICS": "Maganomics", + "MAGAPEPE": "MAGA PEPE", + "MAGASHIB": "MAGA SHIB", "MAGATRUMP": "MAGA Trump", "MAGE": "MetaBrands", "MAGIC": "Magic", @@ -6898,23 +7359,31 @@ "MAIA": "Maia", "MAID": "MaidSafe Coin", "MAIL": "CHAINMAIL", + "MAINSTON": "Ston", "MAJO": "Majo", "MAKE": "MAKE", "MAKI": "MakiSwap", + "MALGO": "milkALGO", "MALL": "Metamall", "MALLY": "Malamute Finance", "MAMAI": "MammothAI", + "MAMBA": "Mamba", "MAN": "Matrix AI Network", "MANA": "Decentraland", "MANC": "Mancium", "MANDALA": "Mandala Exchange Token", "MANDOX": "MandoX", "MANE": "MANE", + "MANEKI": "MANEKI", "MANGA": "Manga Token", "MANIA": "ScapesMania", "MANNA": "Manna", + "MANORUKA": "ManoRuka", + "MANT": "Mantle USD", "MANTA": "Manta Network", "MANTLE": "Mantle", + "MANYU": "Little Manyu", + "MAO": "Mao", "MAP": "MAP Protocol", "MAPC": "MapCoin", "MAPE": "Mecha Morphing", @@ -6926,8 +7395,10 @@ "MARGA": "Margaritis", "MARGINLESS": "Marginless", "MARI": "MarijuanaCoin", + "MARIC": "Maricoin", "MARIO": "MARIO CEO", "MARK": "Benchmark Protocol", + "MARKE": "Market Ledger", "MARLEY": "Marley Token", "MARMAJ": "marmaj", "MARO": "Maro", @@ -6937,11 +7408,15 @@ "MARSH": "Unmarshal", "MARSRISE": "MarsRise", "MARSUPILAMI": "MARSUPILAMI INU", + "MARSW": "Marswap", "MART": "Monart", + "MARTIA": "Colonize Mars", "MARTK": "Martkist", + "MARTY": "Marty Inu", "MARU": "marumaruNFT", "MARV": "Marvelous", "MARVIN": "Marvin", + "MARVINB": "Marvin on Base", "MARX": "MarX", "MARXCOIN": "MarxCoin", "MARYJ": "MaryJane Coin", @@ -6965,12 +7440,15 @@ "MATIC": "Polygon", "MATICX": "Stader MaticX", "MATPAD": "MaticPad", + "MATRIX": "Matrix Labs", "MAU": "MAU", + "MAUW": "MAUW", "MAV": "Maverick Protocol", "MAVIA": "Heroes of Mavia", "MAW": "Mountain Sea World", "MAX": "MaxCoin", "MAXI": "Maximus", + "MAXL": "Maxi protocol", "MAXR": "Max Revive", "MAXX": "MAXX Finance", "MAY": "Theresa May Coin", @@ -6984,6 +7462,7 @@ "MB8": "MB8 Coin", "MBAPEPE": "MBAPEPE", "MBASE": "Minebase", + "MBC": "MicroBitcoin", "MBCASH": "MBCash", "MBCC": "Blockchain-Based Distributed Super Computing Platform", "MBD": "MBD Financials", @@ -7000,11 +7479,11 @@ "MBONK": "megaBonk", "MBOT": "MoonBot", "MBOX": "MOBOX", + "MBOYS": "MoonBoys", "MBP": "MobiPad", "MBRS": "Embers", "MBS": "MonkeyBall", "MBT": "Metablackout", - "MBTC": "MicroBitcoin", "MBTX": "MinedBlock", "MBX": "Marblex", "MC": "Merit Circle", @@ -7025,10 +7504,12 @@ "MCHC": "My Crypto Heroes", "MCI": "Musiconomi", "MCIV": "Mars Civ Project", + "MCL": "McLaren F1", "MCLB": "Millennium Club Coin", "MCN": "mCoin", "MCO": "Crypto.com", "MCO2": "Moss Carbon Credit", + "MCOIN": "MCOIN", "MCONTENT": "MContent", "MCP": "My Crypto Play", "MCPC": "Mobile Crypto Pay Coin", @@ -7070,6 +7551,7 @@ "MECHA": "Mechanium", "MECI": "Meta Game City", "MED": "Medibloc", + "MEDAMON": "Medamon", "MEDI": "MediBond", "MEDIA": "Media Network", "MEDIC": "MedicCoin", @@ -7087,14 +7569,17 @@ "MEGAHERO": "MEGAHERO", "MEGALAND": "Metagalaxy Land", "MEGALANDV1": "Metagalaxy Land v1", + "MEGE": "MEGE", "MEH": "meh", "MEL": "MELX", "MELANIA": "Melania Trump", "MELB": "Minelab", - "MELD": "Melodity", + "MELD": "MELD", "MELI": "Meli Games", "MELLO": "Mello Token", + "MELLSTROY": "MELLSTROY", "MELO": "Melo Token", + "MELODITY": "Melodity", "MELON": "cocomELON", "MELOS": "Melos Studio", "MELT": "Defrost Finance", @@ -7103,6 +7588,7 @@ "MEMD": "MemeDAO", "MEME": "Memecoin", "MEMEAI": "Meme Ai", + "MEMECUP": "Meme Cup", "MEMEETF": "Meme ETF", "MEMEFI": "MemeFi", "MEMEINU": "Meme Inu", @@ -7120,6 +7606,8 @@ "MEOW": "Zero Tech", "MEOWG": "MeowGangs", "MEOWIF": "Meowifhat", + "MEOWM": "Meow Meow Coin", + "MEOWME": "MEOW MEOW", "MEPAD": "MemePad", "MER": "Mercurial Finance", "MERCE": "MetaMerce", @@ -7136,6 +7624,7 @@ "MESG": "MESG", "MESH": "MeshBox", "MESSI": "MESSI COIN", + "MESSU": "Loinel Messu", "MET": "Metronome", "META": "Metadium", "METABOT": "Robot Warriors", @@ -7160,6 +7649,7 @@ "METAUFO": "MetaUFO", "METAV": "MetaVPad", "METAVIE": "Metavie", + "METAW": "MetaWorth", "METAX": "MetaverseX", "METEOR": "Meteorite Network", "METER": "Meter Stable", @@ -7175,6 +7665,7 @@ "MEV": "MEVerse", "MEVR": "Metaverse VR", "MEW": "cat in a dogs world", + "MEWC": "Meowcoin", "MEWING": "MEWING", "MEWSWIFHAT": "cats wif hats in a dogs world", "MEWTWO": "Mewtwo Inu", @@ -7250,6 +7741,7 @@ "MILK2": "Spaceswap MILK2", "MILKYWAY": "MilkyWayZone", "MILLI": "Million", + "MILLY": "milly", "MILO": "Milo Inu", "MILOCEO": "Milo CEO", "MILOCOIN": "MiloCoin", @@ -7270,6 +7762,7 @@ "MINE": "SpaceMine", "MINER": "MINER", "MINERALS": "Minerals Coin", + "MINES": "MINESHIELD", "MINETTE": "Vibe Cat", "MINEX": "Minex", "MINI": "Mini", @@ -7293,6 +7786,7 @@ "MIODIO": "MIODIOCOIN", "MIOTA": "IOTA", "MIR": "Mirror Protocol", + "MIRA": "Chains of War", "MIRACLE": "MIRACLE", "MIRC": "MIR COIN", "MIS": "Mithril Share", @@ -7306,12 +7800,15 @@ "MITC": "MusicLife", "MITH": "Mithril", "MITHRIL": "CLIMBERS", + "MITTENS": "Mittens", "MITX": "Morpheus Infrastructure Token", "MIV": "MakeItViral", "MIVA": "Minerva Wallet", "MIVRS": "Minionverse", "MIX": "MIXMARVEL", + "MIXAI": "Mixcash AI", "MIXCOIN": "Mixaverse", + "MIXER": "TON Mixer", "MIY": "Icel Idman Yurdu Token", "MJT": "MojitoSwap", "MK": "Meme Kombat", @@ -7321,7 +7818,7 @@ "MKR": "Maker", "MKT": "MikeToken", "MKUSD": "Prisma mkUSD", - "ML": "Market Ledger", + "ML": "Mintlayer", "MLA": "Moola", "MLD": "MonoLend", "MLGC": "Marshal Lion Group Coin", @@ -7344,6 +7841,7 @@ "MMETA": "Duckie Land Multi Metaverse", "MMF": "MMFinance", "MMG": "Monopoly Millionaire Game", + "MMIP": "Memes Make It Possible", "MMIT": "MangoMan Intelligent", "MMNXT": "MMNXT", "MMO": "MMOCoin", @@ -7381,6 +7879,7 @@ "MNTA": "MantaDAO", "MNTC": "Manet Coin", "MNTG": "Monetas", + "MNTIS": "Mantis", "MNTL": "AssetMantle", "MNTO": "Minato", "MNTP": "GoldMint", @@ -7410,18 +7909,23 @@ "MODA": "MODA DAO", "MODAI": "Modai", "MODC": "Modclub", + "MODE": "Mode", "MODEL": "Model Labs", "MODEX": "Modex", + "MODU": "Modular Wallet", "MODUM": "Modum", "MODX": "MODEL-X-coin", "MOE": "Merchant Moe", "MOETA": "Moeta", + "MOEW": "donotfomoew", "MOF": "Molecular Future (TRC20)", "MOFI": "MobiFi", "MOFOLD": "Molecular Future (ERC20)", "MOG": "Mog Coin", + "MOGE": "Moge", "MOGGO": "MOGGO", "MOGU": "Mogu", + "MOGUL": "Mogul Productions", "MOGX": "Mogu", "MOH": "Medal of Honour", "MOI": "MyOwnItem", @@ -7431,16 +7935,21 @@ "MOL": "Molecule", "MOLA": "MoonLana", "MOLK": "Mobilink Token", + "MOLLARS": "MollarsToken", "MOLLY": "Molly", "MOM": "Mother of Memes", "MOMA": "Mochi Market", - "MON": "Medamon", + "MOMIJI": "MAGA Momiji", + "MOMO": "MOMO 2.0", + "MON": "MON Protocol", "MONA": "MonaCoin", "MONAIZE": "Monaize", "MONARCH": "TRUEMONARCH", "MONAV": "Monavale", + "MONB": "MonbaseCoin", "MONETA": "Moneta", "MONEY": "MoneyCoin", + "MONEYBEE": "MONEYBEE", "MONEYBYTE": "MoneyByte", "MONEYIMT": "MoneyToken", "MONF": "Monfter", @@ -7451,6 +7960,7 @@ "MONI": "Monsta Infinite", "MONIE": "Infiblue World", "MONK": "Monkey Project", + "MONKAS": "Monkas", "MONKE": "Monkecoin", "MONKEY": "Monkey", "MONKEYS": "Monkeys Token", @@ -7463,7 +7973,9 @@ "MONT": "Monarch Token", "MONTE": "Monte", "MOO": "MooMonster", + "MOOCAT": "MooCat", "MOOI": "Moonai", + "MOOLA": "Degen Forest", "MOOLYA": "moolyacoin", "MOON": "r/CryptoCurrency Moons", "MOONARCH": "Moonarch", @@ -7484,6 +7996,7 @@ "MOOV": "dotmoovs", "MOOX": "Moox Protocol", "MOPS": "Mops", + "MOR": "Morpheus", "MORA": "Meliora", "MORE": "More Coin", "MORFEY": "Morfey", @@ -7492,9 +8005,11 @@ "MORRA": "Morra", "MORSE": "Morse", "MOS": "MOS Coin", + "MOST": "MOST Global", "MOT": "Olympus Labs", "MOTA": "MotaCoin", "MOTG": "MetaOctagon", + "MOTHER": "Mother Iggy", "MOTI": "Motion", "MOTO": "Motocoin", "MOUTAI": "Moutai", @@ -7511,12 +8026,14 @@ "MOZ": "Mozik", "MP": "Membership Placeholders", "MP3": "MP3", + "MPAD": "MultiPad", "MPAY": "Menapay", "MPC": "Metaplace", "MPD": "Metapad", "MPG": "Max Property Group", "MPH": "Morpher", "MPI": "MetaPioneers", + "MPIX": "Megapix", "MPL": "Maple", "MPLUS": "M+Plus", "MPLX": "Metaplex", @@ -7530,6 +8047,7 @@ "MQL": "MiraQle", "MQST": "MonsterQuest", "MR": "Meta Ruffy", + "MRBASED": "MrBased", "MRBOB": "MR BOB COIN", "MRCH": "MerchDAO", "MRCR": "Mercor Finance", @@ -7548,7 +8066,8 @@ "MRUN": "Metarun", "MRV": "Macroverse", "MRX": "Metrix Coin", - "MRXB": "Wrapped Metrix", + "MRXB": "Wrapped BNB Metrix", + "MRXE": "Wrapped ETH Metrix", "MRY": "MurrayCoin", "MSA": "My Shiba Academia", "MSB": "Misbloc", @@ -7584,10 +8103,12 @@ "MTD": "Minted", "MTEL": "MEDoctor", "MTG": "MagnetGold", + "MTGT": "MTG Token", "MTGX": "Montage Token", "MTH": "Monetha", "MTHD": "Method Finance", "MTHN": "MTH Network", + "MTIK": "MatikaToken", "MTIX": "Matrix Token", "MTK": "Moya Token", "MTL": "Metal", @@ -7600,6 +8121,7 @@ "MTRA": "MetaRare", "MTRC": "ModulTrade", "MTRG": "Meter", + "MTRK": "Matrak Fan Token", "MTRM": "Materium", "MTRX": "Metarix", "MTS": "Metastrike", @@ -7616,6 +8138,7 @@ "MTZ": "Monetizr", "MU": "Miracle Universe", "MUBI": "Multibit", + "MUC": "Multi Universe Central", "MUDOL2": "Hero Blaze: Three Kingdoms", "MUDRA": "MudraCoin", "MUE": "MonetaryUnit", @@ -7626,10 +8149,12 @@ "MUMU": "Mumu", "MUN": "MUNcoin", "MUNCH": "Munch Token", + "MUNCHY": "Boys Club Munchy", "MUNITY": "Metahorse Unity", "MUNK": "Dramatic Chipmunk", "MURA": "Murasaki", "MURATIAI": "MuratiAI", + "MUSCAT": "MusCat", "MUSD": "mStable USD", "MUSDCOIN": "MUSDcoin", "MUSE": "Muse DAO", @@ -7644,6 +8169,7 @@ "MUT": "Mutual Coin", "MUTE": "Mute", "MUU": "MilkCoin", + "MUZKI": "Muzki", "MUZZ": "MuzzleToken", "MV": "GensoKishi Metaverse", "MVC": "MileVerse", @@ -7657,6 +8183,7 @@ "MVP": "MAGA VP", "MVPC": "MVP Coin", "MVRS": "Meta MVRS", + "MVS": "Multiverse", "MVU": "meVu", "MVX": "Metavault Trade", "MW": "MasterWin Coin", @@ -7667,6 +8194,7 @@ "MWCC": "Metaworld", "MX": "MX Token", "MXC": "Machine Xchange Coin", + "MXGP": "MXGP Fan Token", "MXM": "Maximine", "MXNT": "Tether MXNt", "MXRP": "Monsta XRP", @@ -7714,6 +8242,7 @@ "NADA": "NADA Protocol Token", "NAFT": "Nafter", "NAH": "Strayacoin", + "NAI": "Nuklai", "NAKA": "Nakamoto Games", "NALA": "Not a lion, a...", "NALS": "NALS (Ordinals)", @@ -7731,6 +8260,7 @@ "NAOS": "NAOS Finance", "NAP": "Napoli Fan Token", "NARCO": "Mr. Narco", + "NARS": "Num ARS v2", "NAS": "Nebulas", "NAS2": "Nas2Coin", "NASADOGE": "Nasa Doge", @@ -7739,6 +8269,7 @@ "NASTR": "Liquid ASTR", "NAT": "Natmin", "NATION": "Nation3", + "NATIX": "NATIX Network", "NAUSICAA": "Nausicaa-Inu", "NAUT": "Nautilus Coin", "NAV": "NavCoin", @@ -7750,6 +8281,7 @@ "NAVY": "BoatPilot Token", "NAWA": "Narwhale.finance", "NAX": "NextDAO", + "NAZ": "NAZDAQ", "NAZA": "NAZA", "NAZAR": "NAZAR PROTOCOL", "NBABSC": "NBA BSC", @@ -7767,8 +8299,11 @@ "NBR": "Niobio Cash", "NBS": "New BitShares", "NBT": "NanoByte", + "NBXC": "Nibble", "NC": "Nayuta Coin", + "NCA": "NeuroCrypto Ads", "NCASH": "Nucleus Vision", + "NCAT": "Neuracat", "NCC": "NeuroChain", "NCDT": "Nuco.Cloud", "NCO": "Nexacore", @@ -7781,6 +8316,7 @@ "NCT": "PolySwarm", "ND": "Nemesis Downfall", "NDAU": "ndau", + "NDB": "NDB", "NDC": "NeverDie", "NDLC": "NeedleCoin", "NDN": "NDN Link", @@ -7791,6 +8327,7 @@ "NEADRAM": "The Ennead", "NEAL": "Coineal Token", "NEAR": "Near", + "NEARX": "Stader NearX", "NEAT": "NEAT", "NEBL": "Neblio", "NEBU": "Nebuchadnezzar", @@ -7826,17 +8363,22 @@ "NESS": "Ness LAB", "NEST": "Nest Protocol", "NESTREE": "Nestree", + "NESTV1": "Nest Protocol v1", "NET": "NetCoin", + "NETA": "Negative Tax", "NETC": "NetworkCoin", "NETCOIN": "Netcoincapital", "NETKO": "Netko", + "NETRUM": "Netrum", "NETT": "Netswap", + "NETVR": "Netvrk", "NETZ": "MainnetZ", "NETZ1": "NETZERO", "NEU": "Neumark", "NEURA": "Neurahub", "NEURAL": "NeuralAI", "NEURALINK": "Neuralink", + "NEURON": "Cerebrum DAO", "NEURONI": "Neuroni AI", "NEUROS": "Shockwaves", "NEUTR": "Neutrinos", @@ -7850,10 +8392,12 @@ "NEWM": "NEWM", "NEWO": "New Order", "NEWOS": "NewsToken", - "NEWS": "NewsTokens", + "NEWS": "PUBLISH", + "NEWSTOKENS": "NewsTokens", "NEWTON": "Newtonium", "NEX": "Nash Exchange", "NEXA": "Nexa", + "NEXAI": "NexAI", "NEXBOX": "NexBox", "NEXBT": "Native XBTPro Exchange Token", "NEXM": "Nexum", @@ -7881,6 +8425,7 @@ "NFTI": "NFT Index", "NFTL": "NFTLaunch", "NFTLOOT": "NFTLootBox", + "NFTM": "NFTMart Token", "NFTN": "NFTNetwork", "NFTP": "NFT", "NFTS": "NFT STARS", @@ -7895,7 +8440,7 @@ "NGA": "NGA Tiger", "NGC": "NagaCoin", "NGIN": "Ngin", - "NGL": "Gold Fever", + "NGL": "Entangle", "NGM": "e-Money", "NGMI": "NGMI Coin", "NHCT": "Nano Healthcare Token", @@ -7909,6 +8454,9 @@ "NIF": "Unifty", "NIFT": "Niftify", "NIFTSY": "Envelop", + "NIGELLA": "Nigella coin", + "NIGHT": "Midnight", + "NIGI": "Nigi", "NIHAO": "NiHao", "NII": "nahmii", "NIIFI": "NiiFi", @@ -7939,10 +8487,12 @@ "NKCLC": "NKCL Classic", "NKN": "NKN", "NKT": "NakomotoDark", + "NKYC": "NKYC Token", "NLC": "NoLimitCoin", "NLC2": "NoLimitCoin", "NLG": "Gulden", "NLINK": "Neuralink", + "NLK": "NuLink", "NLS": "Nolus", "NLX": "Nullex", "NMB": "Nimbus Coin", @@ -7955,7 +8505,7 @@ "NMR": "Numeraire", "NMS": "Numus", "NMSP": "Nemesis PRO", - "NMT": "NFTMart Token", + "NMT": "NetMind Token", "NMX": "Nominex Token", "NNB": "NNB Token", "NNC": "NEO Name Credit", @@ -7970,6 +8520,8 @@ "NODE": "Whole Network", "NODIS": "Nodis", "NODL": "Nodle Network", + "NOGS": "Noggles", + "NOHAT": "DogWifNoHat", "NOIA": "Syntropy", "NOIS": "Nois Network", "NOIZ": "NOIZ", @@ -7984,11 +8536,14 @@ "NORA": "SnowCrash Token", "NORD": "Nord Finance", "NORMIE": "Normie", + "NORMUS": "NORMUS", "NOS": "Nosana", "NOSN": "nOS", "NOSO": "Noso", + "NOT": "Notcoin", "NOTE": "Notional Finance", "NOTHING": "NOTHING", + "NOTINU": "NOTCOIN INU", "NOV": "Novara Calcio Fan Token", "NOVA": "Nova Finance", "NOW": "NOW Token", @@ -8001,10 +8556,11 @@ "NPLC": "Plus Coin", "NPM": "Neptune Mutual", "NPT": "Neopin", + "NPTX": "NeptuneX", "NPX": "Napoleon X", "NPXS": "Pundi X", "NPXSXEM": "Pundi X NEM", - "NR1.BITCI": "Number 1 Token", + "NR1": "Number 1 Token", "NRB": "NoirBits", "NRC": "Neurocoin", "NRCH": "EnreachDAO", @@ -8028,6 +8584,7 @@ "NSFW": "xxxNifty", "NSH": "NOSHIT", "NSI": "nSights DeFi Trader", + "NSIMPSON": "NeuraSimpson", "NSK": "NSKSwap", "NSO": "NeverSurrenderOne's", "NSP": "NOMAD.space", @@ -8087,6 +8644,7 @@ "NVZN": "INVIZION", "NWC": "Newscrypto Coin", "NWCN": "NowCoin", + "NWG": "NotWifGary", "NWP": "NWPSolution", "NWS": "Nodewaves", "NXC": "Nexium", @@ -8096,6 +8654,7 @@ "NXM": "Nexus Mutual", "NXMC": "NextMindCoin", "NXN": "Naxion", + "NXQ": "NexQloud", "NXRA": "AllianceBlock Nexera", "NXS": "Nexus", "NXT": "Nxt", @@ -8103,6 +8662,7 @@ "NXTT": "Next Earth", "NXTTY": "NXTTY", "NYAN": "NyanCoin", + "NYANDOGE": "NyanDOGE International", "NYANTE": "Nyantereum International", "NYBBLE": "Nybble", "NYC": "NewYorkCoin", @@ -8112,6 +8672,7 @@ "NYM": "Nym Token", "NYN": "NYNJA", "NYX": "NYXCOIN", + "NYXC": "Nyxia AI", "NYZO": "Nyzo", "NZC": "NewZealandCoin", "NZDX": "eToro New Zealand Dollar", @@ -8181,6 +8742,7 @@ "OFC": "$OFC Coin", "OFCR": "CryptoPolice", "OFE": "Ofero", + "OFF": "BlastOff", "OFN": "Openfabric AI", "OG": "OG Fan Token", "OGCINU": "The OG Cheems Inu", @@ -8209,6 +8771,7 @@ "OJA": "Ojamu", "OJX": "Ojooo", "OK": "OKCash", + "OKAYEG": "Okayeg", "OKB": "OKB", "OKG": "Ookeenga", "OKINAMI": "Kanagawa Nami", @@ -8222,6 +8785,7 @@ "OLDSF": "OldSafeCoin", "OLE": "OpenLeverage", "OLEA": "Olea Token", + "OLEV1": "OpenLeverage v1", "OLIVE": "Olive", "OLOID": "OLOID", "OLT": "OneLedger", @@ -8232,6 +8796,7 @@ "OM": "MANTRA", "OMA": "OmegaCoin", "OMAX": "Omax", + "OMAXV1": "Omax v1", "OMC": "Omchain", "OMD": "OneMillionDollars", "OME": "o-mee", @@ -8244,6 +8809,7 @@ "OMMI": "Ommniverse", "OMNI": "Omni", "OMNIA": "OmniaVerse", + "OMNIC": "OmniCat", "OMNICRON": "OmniCron", "OMNINET": "Omni Network", "OMNIR": "Omni Real Estate Token", @@ -8259,6 +8825,7 @@ "ONDO": "Ondo", "ONE": "Harmony", "ONES": "OneSwap DAO", + "ONET": "ONE Token", "ONEX": "ONE TECH", "ONG": "SoMee.Social", "ONGAS": "Ontology Gas", @@ -8290,12 +8857,14 @@ "OPC": "OP Coin", "OPCAT": "OPCAT", "OPCT": "Opacity", - "OPEN": "Open Platform", + "OPEN": "Open Custody Protocol", "OPENAI": "OpenAI ERC", "OPENCHAT": "OpenChat", "OPENDAO": "OpenDAO", "OPENGO": "OPEN Governance Token", + "OPENP": "Open Platform", "OPENRI": "Open Rights Exchange", + "OPENSOURCE": "Open Source Network", "OPENX": "OpenSwap Optimism Token", "OPEPE": "Optimism PEPE", "OPES": "Opes", @@ -8305,13 +8874,14 @@ "OPINU": "Optimus Inu", "OPIUM": "Opium", "OPMND": "Open Mind Network", - "OPN": "Open Source Network", + "OPN": "OPEN Ticketing Ecosystem", "OPNN": "Opennity", "OPP": "Opporty", "OPS": "Octopus Protocol", "OPSC": "OpenSourceCoin", "OPSEC": "OpSec", "OPT": "Opus", + "OPTA": "Opta Global", "OPTC": "Open Predict Token", "OPTCM": "Optimus", "OPTI": "Optimus AI", @@ -8324,6 +8894,7 @@ "OPXVEVELO": "OpenX Locked Velo", "ORACLE": "Oracle AI", "ORACLECHAIN": "OracleChain", + "ORACUL": "Oracul Ai", "ORAI": "Oraichain Token", "ORAIX": "OraiDEX", "ORAO": "ORAO Network", @@ -8363,6 +8934,7 @@ "OROP": "ORO", "OROX": "Cointorox", "ORS": "ORS Group", + "ORT": "Okratech Token", "ORV": "Orvium", "ORYX": "OryxCoin", "OS": "Ethereans", @@ -8374,9 +8946,11 @@ "OSEAN": "OSEAN", "OSETH": "StakeWise Staked ETH", "OSF": "One Solution", + "OSH": "OSHI", "OSHI": "Oshi Token", "OSIS": "OSIS", "OSK": "OSK", + "OSKDAO": "OSK DAO", "OSL": "OSL AI", "OSMO": "Osmosis", "OSQTH": "Opyn Squeeth", @@ -8438,17 +9012,19 @@ "PAAL": "PAAL AI", "PAALV1": "PAAL AI v1", "PABLO": "PABLO DEFI", - "PAC": "PAC Protocol", + "PAC": "PacMoon", "PACE": "3space Art", "PACM": "Pacman Blastoff", "PACMAN": "Pac Man", "PACOCA": "Pacoca", + "PACP": "PAC Protocol", "PACT": "impactMarket", "PAD": "NearPad", "PAF": "Pacific", "PAGE": "Page", "PAI": "Project Pai", "PAID": "PAID Network", + "PAIDV1": "PAID Network v1", "PAINT": "MurAll", "PAIRED": "PairedWorld", "PAJAMAS": "The First Youtube Cat", @@ -8458,9 +9034,12 @@ "PALET": "Palette", "PALG": "PalGold", "PALLA": "Pallapay", - "PALM": "PalmPay", + "PALM": "PaLM AI", + "PALMP": "PalmPay", + "PALMV1": "PaLM AI v1", "PALMY": "Palmy", "PAM": "PAM", + "PAMBI": "Pambicoin", "PAMP": "PAMP Network", "PAN": "Pantos", "PAND": "Panda Finance", @@ -8477,13 +9056,16 @@ "PAPER": "Dope Wars Paper", "PAPI": "Papi", "PAPPAY": "PAPPAY", + "PAPU": "Papu Token", "PAPUSHA": "Papusha", "PAR": "Parachute", "PARA": "Paralink Network", "PARAB": "Parabolic", "PARADOX": "The Paradox Metaverse", + "PARAG": "Paragon Network", "PARAL": "Parallel", "PARALL": "Parallel Finance", + "PARAM": "Param", "PARANOIA": "ParanoiaCoin", "PARAS": "Paras", "PARAW": "Para", @@ -8503,6 +9085,7 @@ "PATEK": "Silly Patek", "PATEX": "Patex", "PATH": "PathDAO", + "PATTON": "Patton", "PAVIA": "Pavia", "PAVO": "Pavocoin", "PAW": "PAWSWAP", @@ -8541,10 +9124,12 @@ "PC": "Promotion Coin", "PCC": "PCORE", "PCCM": "Poseidon Chain", + "PCD": " Phecda", "PCE": "PEACE COIN", "PCH": "POPCHAIN", "PCHS": "Peaches.Finance", "PCI": "PayProtocol Paycoin", + "PCKB": "pCKB (via Godwoken Bridge from CKB)", "PCL": "Peculium", "PCM": "Procom", "PCN": "PeepCoin", @@ -8565,20 +9150,25 @@ "PDOG": "Polkadog", "PDOGE": "PolkaDoge", "PDRAGON": "Phoenix Dragon", + "PDRIP": "Pulse Drip", "PDT": "ParagonsDAO", "PDX": "PDX Coin", "PEA": "Pea Farm", "PEACH": "Based Peaches", "PEACHY": "Peachy", "PEAK": "PEAKDEFI", + "PEANIE": "Peanie", "PEAR": "Pear Swap", "PEARL": "Pearl Finance", "PEAS": "Peapods Finance", "PEC": "PeaceCoin", "PECL": "PECland", + "PED": "PEDRO", + "PEDRO": "Pedro The Raccoon", "PEEL": "Meta Apes", "PEEP": "Peepo", "PEEPA": "Peepa", + "PEEPEE": "Peepee", "PEEPO": "PEEPO", "PEEPS": "The People’s Coin", "PEEZY": "Young Peezy AKA Pepe", @@ -8588,27 +9178,36 @@ "PEIPEI": "PEIPEI", "PEKA": "PEKA", "PEKC": "Peacock Coin", + "PEKINU": "PEKI INU", "PEKO": "Pepe Neko", "PEL": "Propel Token", + "PELF": "PELFORT", "PEM": "Pembrock", "PENC": "PenCoin", "PENDLE": "Pendle", - "PENG": "PENG", + "PENG": "Peng", + "PENGCOIN": "PENG", "PENGYX": "PengyX", "PENIS": "PenisGrow", + "PENP": "Penpie", + "PENR": "Penrose Finance", "PENTA": "Penta", "PEOPLE": "ConstitutionDAO", - "PEOS": "pEOS", + "PEOSONE": "pEOS", + "PEP": "Pepechain", "PEPA": "Pepa Inu", "PEPC": "Pepe Classic", "PEPE": "Pepe", "PEPE2": "Pepe 2.0", "PEPE20V1": "Pepe 2.0 v1", + "PEPEA": "Pepeandybrettlandwolf", "PEPEAI": "Pepe Analytics", "PEPEARMY": "PEPEARMY", + "PEPEB": "PEPEBOMB", "PEPEBNB": "Pepe The Frog", "PEPEBRC": "PEPE (Ordinals)", "PEPEBURN": "Pepeburn", + "PEPEC": "Pepe Chain", "PEPECASH": "Pepe Cash", "PEPECAT": "PEPE CAT", "PEPECEO": "REAL PEPE CEO", @@ -8619,23 +9218,37 @@ "PEPEDERP": "PepeDerp", "PEPEE": "Pepe the pepe", "PEPEF": "PEPEFLOKI", + "PEPEFC": "Pepe FC", "PEPEFLOKI": "PEPE FLOKI", + "PEPEG": "Pepe Girl", "PEPEGA": "Pepe GEM AI", "PEPEGAINS": "PepeGains", + "PEPEGOAT": "pepeGOAT", "PEPEGRINCH": "Pepe Grinch", "PEPEINU": "PEPE inu", "PEPEKING": "PEPEKING", "PEPELON": "Pepelon", + "PEPEMAGA": "Trump Pepe", "PEPEMO": "PepeMo", "PEPEMOON": "PEPEMOON", "PEPEPI": "PEPEPi", + "PEPER": "Baby Pepe", "PEPERA": "PEPERA", + "PEPESOL": "PEPE SOL", "PEPESORA": "Pepe Sora AI", + "PEPESWAP": "PEPE Swap", + "PEPET": "PepeTrump", "PEPEW": "PEPEPOW", "PEPEWIFHAT": "Pepewifhat", + "PEPEWO": "PEPE World", "PEPEX": "pepeX", + "PEPEYE2": "PEPEYE 2.0", "PEPEZILLA": "PEPEZilla", "PEPI": "PEPI", + "PEPINU": "Pepinu", + "PEPIT": "Pepito", + "PEPLO": "Peplo Escobar", + "PEPO": "Peepo", "PEPPA": "PEPPA", "PEPPER": "Pepper Token", "PEPS": "PEPS Coin", @@ -8653,6 +9266,7 @@ "PERU": "PeruCoin", "PERX": "PeerEx Network", "PESA": "Credible", + "PESHI": "PESHI", "PESOBIT": "PesoBit", "PET": "Hello Pets", "PETF": "PEPE ETF", @@ -8661,9 +9275,11 @@ "PETL": "Petlife", "PETN": "Pylon Eco Token", "PETO": "Petoverse", + "PETOSHI": "Petoshi", "PETS": "PolkaPets", "PETT": "Pett Network", "PEUSD": "peg-eUSD", + "PEW": "pepe in a memes world", "PEX": "Pexcoin", "PFI": "PrimeFinance", "PFID": "Pofid Dao", @@ -8679,6 +9295,7 @@ "PGL": "Prospectors", "PGN": "Pigeoncoin", "PGOLD": " Polkagold", + "PGPT": "PrivateAI", "PGROK": "Papa Grok", "PGT": "Polyient Games Governance Token", "PGTS": "Puregold token", @@ -8687,6 +9304,7 @@ "PHA": "Phala Network", "PHAE": "Phaeton", "PHALA": "Phalanx", + "PHAME": "PHAME", "PHAUNTEM": "Phauntem", "PHB": "Phoenix Global [v2]", "PHBD": "Polygon HBD", @@ -8704,6 +9322,7 @@ "PHOON": "Typhoon Cash", "PHORE": "Phore", "PHR": "Phreak", + "PHRYGE": "PHRYGES", "PHS": "PhilosophersStone", "PHT": "Photon Token", "PHTC": "Photochain", @@ -8734,6 +9353,7 @@ "PIN": "Pin", "PINCHI": "Da Pinchi", "PINE": "Pine", + "PINETWORKDEFI": "Pi Network DeFi", "PING": "CryptoPing", "PINK": "PinkCoin", "PINKSALE": "PinkSale", @@ -8741,13 +9361,15 @@ "PINMO": "Pinmo", "PINO": "Pinocchu", "PINU": "Piccolo Inu", + "PINU100X": "Pi INU 100x", "PIO": "Pioneershares", "PIP": "Pip", "PIPA": "Pipa Coin", "PIPI": "Pippi Finance", "PIPL": "PiplCoin", "PIPT": "Power Index Pool Token", - "PIRATE": "PirateCash", + "PIRATE": "Pirate Nation", + "PIRATECASH": "PirateCash", "PIRATECOIN": "Pirate Coin Games", "PIRB": "PIRB", "PIRI": "Pirichain", @@ -8762,6 +9384,7 @@ "PIXEL": "Pixels", "PIXELV": "PixelVerse", "PIZA": "Half Pizza", + "PIZPEPE": "Pepe Pizzeria", "PIZZA": "PizzaSwap", "PIZZACOIN": "PizzaCoin", "PJM": "Pajama.Finance", @@ -8780,6 +9403,7 @@ "PLAI": "Plair", "PLAN": "Plancoin", "PLANE": "Paper Plane", + "PLANET": "PLANET", "PLANETCOIN": "PlanetCoin", "PLANETS": "PlanetWatch", "PLASTIK": "Plastiks", @@ -8808,6 +9432,7 @@ "PLGR": "Pledge Finance", "PLI": "Plugin", "PLM": "Plasmonics", + "PLMC": "Polimec", "PLMT": "Pallium", "PLNC": "PLNCoin", "PLNX": "Planumex", @@ -8828,6 +9453,7 @@ "PLU": "Pluton", "PLUG": "PL^Gnet", "PLUGCN": "Plug Chain", + "PLUP": "PoolUp", "PLURA": "PluraCoin", "PLUS1": "PlusOneCoin", "PLUTUS": "PlutusDAO", @@ -8836,6 +9462,7 @@ "PLY": "Aurigami", "PLZ": "PLUNZ", "PMA": "PumaPay", + "PMD": "Pandemic Multiverse", "PME": "DogePome", "PMEER": "Qitmeer", "PMG": "Pomerium Ecosystem Token", @@ -8846,7 +9473,9 @@ "PMOON": "Pookimoon", "PMPY": "Prometheum Prodigy", "PMR": "Pomerium Utility Token", + "PMT": "POWER MARKET", "PMTN": "Peer Mountain", + "PNB": "Pink BNB", "PNC": "PlatiniumCoin", "PND": "PandaCoin", "PNDC": "Pond Coin", @@ -8864,16 +9493,19 @@ "POA": "Poa Network", "POAI": "Port AI", "POC": "POC Blockchain", + "POCAT": "Polite Cat", "POCC": "POC Chain", "POCKET": "XPocket", "POCO": "Pocoland", "POD": "Podo Point", + "PODFAST": "PodFast", "PODIUM": "Smart League", "PODO": "Power Of Deep Ocean", "POE": "Po.et", "POG": "PolygonumOnline", "POGAI": "POGAI", "POGS": "POG", + "POINT": "SportPoint", "POINTS": "Cryptsy Points", "POK": "Pokmonsters", "POKEGROK": "PokeGROK", @@ -8886,6 +9518,7 @@ "POKT": "Pocket Network", "POL": "Polygon Ecosystem Token", "POLA": "Polaris Share", + "POLAO": "Pola On Base", "POLAR": "Polaris", "POLC": "Polka City", "POLI": "Polinate", @@ -8894,7 +9527,9 @@ "POLK": "Polkamarkets", "POLKER": "Polker", "POLL": "Pollchain", + "POLLUK": "Jasse Polluk", "POLNX": "eToro Polish Zloty", + "POLO": "NftyPlay", "POLS": "Polkastarter", "POLVEN": "Polka Ventures", "POLX": "Polylastic", @@ -8959,6 +9594,7 @@ "POTS": "Moonpot", "POTTER": "POTTER", "POU": "Pou", + "POW": "PowBlocks", "POWELL": "Jerome Powell", "POWER": "UniPower", "POWR": "Power Ledger", @@ -8969,6 +9605,7 @@ "PPAY": "Plasma Finance", "PPBLZ": "Pepemon Pepeballs", "PPC": "PeerCoin", + "PPFT": "Papparico Finance", "PPI": "Primpy", "PPIZZA": "P Pizza", "PPL": "Pink Panther Lovers", @@ -8999,15 +9636,19 @@ "PREMIA": "Premia", "PRES": "President Trump", "PRESALE": "Presale.World", + "PRESI": "Turbo Trump", + "PRESID": "President Ron DeSantis", "PRFT": "Proof Suite Token", "PRG": "Paragon", "PRI": "PRIVATEUM INITIATIVE", "PRIA": "PRIA", + "PRICK": "Pickle Rick", "PRIDE": "Nomad Exiles", "PRIMAL": "PRIMAL", "PRIMATE": "Primate", "PRIME": "Echelon Prime", "PRIMECHAIN": "PrimeChain", + "PRIMEETH": "Prime Staked ETH", "PRINT": "Printer.Finance", "PRINTERIUM": "Printerium", "PRINTS": "FingerprintsDAO", @@ -9027,12 +9668,15 @@ "PROOF": "PROVER", "PROP": "Propeller", "PROPC": "Propchain", + "PROPEL": "PayRue (Propel)", "PROPHET": "PROPHET", - "PROPS": "Props", + "PROPS": "Propbase", + "PROPSPROJECT": "Props", "PROS": "Prosper", "PROT": "PROT", "PROTEO": "Proteo DeFi", "PROTO": "Protocon", + "PROTOCOLZ": "Protocol Zero", "PROTON": "Proton", "PROUD": "PROUD Money", "PROXI": "PROXI", @@ -9043,6 +9687,7 @@ "PRS": "PressOne", "PRT": "Parrot Protocol", "PRTC": "Protectorate Protocol", + "PRTCLE": "Particle", "PRTG": "Pre-Retogeum", "PRV": "PrivacySwap", "PRVC": "PrivaCoin", @@ -9084,12 +9729,14 @@ "PTF": "PowerTrade Fuel", "PTH": "PlasticHero", "PTI": "Paytomat", + "PTM": "Potentiam", "PTN": "PalletOneToken", "PTO": "Patentico", "PTON": "Foresting", "PTOY": "Patientory", "PTP": "Platypus Finance", "PTR": "Petro", + "PTRUMP": "Pepe Trump", "PTT": "Pink Taxi Token", "PTU": "Pintu Token", "PTX": "PlatinX", @@ -9097,6 +9744,7 @@ "PUFETH": "pufETH", "PUFF": "Puff", "PUFFIN": "Puffin Global", + "PUFFT": "Puff The Dragon", "PUGAI": "PUG AI", "PUGL": "PugLife", "PULI": "Puli", @@ -9109,9 +9757,12 @@ "PUNCH": "PUNCHWORD", "PUNDIX": "Pundi X", "PUNDU": "Pundu", - "PUNK": "SteamPunk", + "PUNK": "PunkCity", "PUNKAI": "PunkAI", + "PUNKV": "Punk Vault (NFTX)", + "PUP": "Puppy Coin", "PUPA": "PupaCoin", + "PUPPER": "Pupper", "PUPPETS": "Puppets Coin", "PUPPIES": "I love puppies", "PUPS": "PUPS (Ordinals)", @@ -9120,12 +9771,14 @@ "PUREALT": "Pure", "PURR": "SpartaCats", "PURSE": "Pundi X PURSE", + "PUS": "Pussy Cat", "PUSD": "PegsUSD", "PUSH": "Ethereum Push Notification Service", "PUSHI": "Pushi", "PUSSY": "Pussy Financial", "PUSSYINBIO": "Pussy In Bio", "PUT": "PutinCoin", + "PUUSH": "puush da button", "PUX": "pukkamex", "PVC": "PVC Meta", "PVFYBO": "JRVGCUPVSC", @@ -9133,6 +9786,7 @@ "PVT": "Pivot Token", "PVU": "Plant vs Undead Token", "PWAR": "PolkaWar", + "PWC": "PixelWorldCoin", "PWH": "pepewifhat", "PWINGS": "JetSwap pWings", "PWON": "Personal Wager", @@ -9191,17 +9845,20 @@ "QCO": "Qravity", "QCX": "QuickX Protocol", "QDC": "Quadrillion Coin", + "QDFI": "Qudefi", "QDROP": "QuizDrop", "QDT": "QCHAIN", "QDX": "Quidax", "QFI": "QFinance", "QI": "BENQI", "QIE": "QI Blockchain", + "QINGWA": "ShangXin QingWa", "QISWAP": "QiSwap", "QKC": "QuarkChain", "QKNTL": "Quick Intel", "QLC": "Kepple [OLD]", "QLINDO": "QLINDO", + "QLIX": "QLix", "QMALL": "QMALL TOKEN", "QNT": "Quant", "QNTR": "Quantor", @@ -9216,7 +9873,6 @@ "QQQ": "Poseidon Network", "QQQF": "Standard Crypto Fund", "QR": "Qrolli", - "QRDO": "Qredo", "QRK": "QuarkCoin", "QRL": "Quantum Resistant Ledger", "QRO": "Querio", @@ -9226,9 +9882,11 @@ "QSLV": "Quicksilver coin", "QSP": "Quantstamp", "QSR": "Quasar", + "QSWAP": "Quantum Network", "QTC": "Qitcoin", "QTCON": "Quiztok", "QTF": "Quantfury", + "QTK": "QuantCheck", "QTL": "Quatloo", "QTO": "QToken", "QTUM": "QTUM", @@ -9238,6 +9896,7 @@ "QUAM": "Quam Network", "QUANT": "Quant Finance", "QUARASHI": "Quarashi Network", + "QUARK": "Quark", "QUARTZ": "Sandclock", "QUASA": "Quasacoin", "QUB": "Qubism", @@ -9248,10 +9907,12 @@ "QUICK": "Quickswap", "QUICKOLD": "Quickswap", "QUIDD": "Quidd", + "QUIL": "Wrapped QUIL", "QUIN": "QUINADS", "QUINT": "Quint", "QUIPU": "QuipuSwap Governance Token", "QUIZ": "Quizando", + "QUNT": "Quants", "QUO": "Quoll Finance", "QUROZ": "Qfora", "QUSD": "QUSD", @@ -9269,6 +9930,7 @@ "R3T": "Real Estate Token", "R4RE": "R4RE Token", "RAB": "Rabbit", + "RABB": "Rabbit INU", "RABBIT": "Rabbit Finance", "RABI": "Rabi", "RAC": "RAcoin", @@ -9280,7 +9942,9 @@ "RADI": "RadicalCoin", "RADIO": "RadioShack", "RADR": "CoinRadr", + "RADX": "Radx AI", "RAFF": "Ton Raffles", + "RAFFLES": "Degen Raffles", "RAFL": "RAFL", "RAFT": "Raft", "RAGE": "Rage Fan", @@ -9299,6 +9963,7 @@ "RAK": "Rake Finance", "RAKE": "Rake Coin", "RAKU": "RAKUN", + "RALLY": "Trump Rally", "RAM": "Ramifi Protocol", "RAMA": "Ramestta", "RAMEN": "RamenSwap", @@ -9310,6 +9975,7 @@ "RARE": "SuperRare", "RARI": "Rarible", "RASTA": "ZionLabs Token", + "RAT": "RatCoin", "RATECOIN": "Ratecoin", "RATING": "DPRating", "RATIO": "Ratio", @@ -9339,6 +10005,7 @@ "RBNB": "StaFi Staked BNB", "RBP": "Rare Ball Potion", "RBR": "Ribbit Rewards", + "RBRETT": "ROARING BRETT", "RBT": "Rabet", "RBTC": "Smart Bitcoin", "RBUNNY": "Rocket Bunny", @@ -9367,6 +10034,7 @@ "RDGX": "R-DEE Protocol", "RDN": "Raiden Network Token", "RDNT": "Radiant Capital", + "RDNTV1": "Radiant Capital v1", "RDO": "Rodeo Finance", "RDPX": "Dopex Rebate Token", "RDR": "Rise of Defenders", @@ -9386,6 +10054,7 @@ "REBL": "REBL", "REBUS": "Rebuschain", "REC": "Rec Token (REC)", + "RECA": "The Resistance Cat", "RECKOON": "Reckoon", "RECOM": "Recom", "RED": "RED TOKEN", @@ -9400,8 +10069,11 @@ "REDLUNA": "Redluna", "REDN": "Reden", "REDO": "Resistance Dog", + "REDP": "Red Ponzi Gud", "REDPEPE": "Red Pepe", + "REDZILLA": "REDZILLA COIN", "REE": "ReeCoin", + "REEE": "REEE", "REEF": "Reef", "REELT": "Reel Token", "REF": "Ref Finance", @@ -9411,7 +10083,9 @@ "REFTOKEN": "RefToken", "REFUND": "Refund", "REGALCOIN": "Regalcoin", + "REGEN": "Regen Network", "REGENT": "REGENT COIN", + "REHA": "Resistance Hamster", "REHAB": "NFT Rehab", "REI": "REI Network", "REIGN": "Reign of Terror", @@ -9443,12 +10117,15 @@ "REPUX": "Repux", "REQ": "Request Network", "RES": "Resistance", + "RESCUE": "Rescue", "REST": "Restore", "RET": "RealTract", "RETA": "Realital Metaverse", "RETAIL": "Retail.Global", + "RETARDIO": "RETARDIO", "RETH": "Rocket Pool ETH", "RETH2": "rETH2", + "RETIK": "Retik Finance", "RETIRE": "Retire Token", "REU": "REUCOIN", "REUNI": "Reunit Wallet", @@ -9481,6 +10158,7 @@ "RGAME": "RGAMES", "RGC": "RG Coin", "RGEN": "Paragen", + "RGOAT": "RealGOAT", "RGOLD": "Royal Gold", "RGP": "Rigel Protocol", "RGT": "Rari Governance Token", @@ -9496,6 +10174,7 @@ "RICE": "RiceFarm", "RICECOIN": "RiceCoin", "RICH": "Richie", + "RICHOFME": "Rich Of Memes", "RICK": "Infinite Ricks", "RICKMORTY": "Rick And Morty", "RIDE": "Holoride", @@ -9530,6 +10209,7 @@ "RIVUS": "RivusDAO", "RIYA": "Etheriya", "RIZE": "Rizespor Token", + "RIZO": "Rizo", "RJV": "Rejuve.AI", "RKC": "Royal Kingdom Coin", "RKI": "RAKHI", @@ -9566,11 +10246,14 @@ "RNX": "ROONEX", "ROAD": "ROAD", "ROAR": "Alpha DEX", + "ROARINGCAT": "Roaring Kitty", "ROB": "ROB", "ROBET": "RoBet", "ROBIN": "Robin of Da Hood", + "ROBINH": "ROBIN HOOD", "ROBO": "RoboHero", "ROC": "Rasputin Online Coin", + "ROCCO": "Just A Rock", "ROCK": "Bedrock", "ROCK2": "Ice Rock Mining", "ROCKET": "Team Rocket", @@ -9584,6 +10267,7 @@ "ROG": "ROGin AI", "ROI": "ROIcoin", "ROK": "Rockchain", + "ROKM": "Rocket Ma", "ROKO": "Roko", "ROLS": "RollerSwap", "ROM": "ROMCOIN", @@ -9596,11 +10280,14 @@ "ROOBEE": "ROOBEE", "ROOK": "KeeperDAO", "ROOM": "OptionRoom", + "ROON": "Raccoon", "ROOST": "Roost Coin", + "ROOSTV1": "Roost Coin v1", "ROOT": "The Root Network", "ROOTCOIN": "RootCoin", "ROOTS": "RootProject", "ROS": "ROS Coin", + "ROSA": "Rosa Inu", "ROSE": "Oasis Labs", "ROSN": "Roseon Finance", "ROSX": "Roseon", @@ -9614,16 +10301,19 @@ "ROW": "Rage On Wheels", "ROWAN": "Sifchain", "ROX": "Robotina", + "ROXY": "ROXY FROG", "ROY": "Crypto Royale", "ROYA": "Royale", "ROYAL": "RoyalCoin", "RPB": "Republia", "RPC": "RonPaulCoin", "RPD": "Rapids", + "RPEPEc": "RoaringPepe", "RPG": "Rangers Protocol", "RPILL": "Red Pill", "RPK": "RepubliK", "RPL": "RocketPool", + "RPLAY": "Replay", "RPM": "Render Payment", "RPR": "The Reaper", "RPS": "Rps League", @@ -9634,6 +10324,7 @@ "RRB": "Renrenbit", "RRC": "Recycling Regeneration Chain", "RRT": "Recovery Right Tokens", + "RS": "ReadySwap", "RSC": "ResearchCoin", "RSETH": "Kelp DAO Restaked ETH", "RSF": "Royal Sting", @@ -9643,6 +10334,7 @@ "RSPN": "Respan", "RSR": "Reserve Rights", "RSRV": "Reserve", + "RSRV1": "Reserve Rights v1", "RSS3": "RSS3", "RST": "REGA Risk Sharing Token", "RSTK": "Restake Finance", @@ -9655,6 +10347,7 @@ "RTE": "Rate3", "RTF": "Ready to Fight", "RTH": "Rotharium", + "RTK": "RetaFi", "RTM": "Raptoreum", "RTT": "Restore Truth Token", "RU": "RIFI United", @@ -9666,20 +10359,26 @@ "RUC": "Rush", "RUFF": "Ruff", "RUG": "Rug", + "RUGA": "RUGAME", "RUGZ": "pulltherug.finance", "RULER": "Ruler Protocol", + "RUM": "RUM Pirates of The Arrland Token", + "RUN": "Run", "RUNE": "Thorchain", "RUNY": "Runy", "RUP": "Rupee", "RUPX": "Rupaya", "RUSD": "Reflecto USD", "RUSH": "RUSH COIN", + "RUSHCMC": "RUSHCMC", "RUST": "RustCoin", "RUSTBITS": "Rustbits", + "RUTH": "RUTH", "RUUF": "RuufCoin", "RUX": "Gacrux NFT", "RVC": "Revenue Coin", "RVF": "RocketX exchange", + "RVL": "Revolotto", "RVLNG": "RevolutionGames", "RVLT": "Revolt 2 Earn", "RVM": "Realvirm", @@ -9697,6 +10396,7 @@ "RWE": "Real-World Evidence", "RWN": "Rowan Token", "RWS": "Robonomics Web Services", + "RWT": "RWT TOKEN", "RXCG": "RXCGames", "RXD": "Radiant", "RXO": "RocketXRP Official", @@ -9712,6 +10412,7 @@ "RZR": "RazorCoin", "RedFlokiCEO": "Red Floki CEO", "S2K": "Sports 2K75", + "S315": "SWAP315", "S4F": "S4FE", "S8C": "S88 Coin", "SA": "Superalgos", @@ -9726,8 +10427,10 @@ "SAFECOIN": "SafeCoin", "SAFEGROK": "SafeGrok", "SAFEHAMSTERS": "SafeHamsters", + "SAFELIGHT": "SafeLight", "SAFELUNAR": "SafeLunar", "SAFEMARS": "Safemars", + "SAFEMOO": "SafeMoo", "SAFEMOON": "SafeMoon", "SAFEMOONCASH": "SafeMoonCash", "SAFEMUUN": "Safemuun", @@ -9739,7 +10442,8 @@ "SAFLE": "Safle", "SAFTP": "Simple Agreement for Future Tokens", "SAFUU": "SAFUU", - "SAGA": "SagaCoin", + "SAGA": "Saga", + "SAGACOIN": "SagaCoin", "SAI": "SAI", "SAIL": "SAIL", "SAITA": "SaitaChain", @@ -9756,6 +10460,7 @@ "SALD": "Salad", "SALE": "DxSale Network", "SALLY": "SALAMANDER", + "SALMAN": "Mohameme Bit Salman", "SALMON": "Salmon", "SALT": "Salt Lending", "SAM": "Samsunspor Fan Token", @@ -9806,10 +10511,12 @@ "SB": "DragonSB", "SBA": "simplyBrand", "SBABE": "SNOOPYBABE", + "SBAE": "Salt Bae For The People", "SBC": "StableCoin", "SBCC": "Smart Block Chain City", "SBE": "Sombe", "SBEFE": "BEFE", + "SBET": "SBET", "SBF": "SBF In Jail", "SBGO": "Bingo Share", "SBIO": "Vector Space Biosciences, Inc.", @@ -9824,6 +10531,7 @@ "SCA": "SiaClassic", "SCALE": "Scalia Infrastructure", "SCAM": "Scam Coin", + "SCAMP": "ScamPump", "SCANS": "0xScans", "SCAP": "SafeCapital", "SCAPE": "Etherscape", @@ -9837,11 +10545,14 @@ "SCFX": "Shui CFX", "SCH": "SoccerHub", "SCHO": "Scholarship Coin", + "SCHR": "Schrodinger", + "SCHRODI": "Schrödi", "SCIA": "Stem Cell", "SCIVIVE": "sciVive", "SCIX": "Scientix", "SCK": "Space Corsair Key", "SCL": "Sociall", + "SCLASSIC": "Solana Classic", "SCLP": "Scallop", "SCM": "ScamFari token", "SCN": "Swiscoin", @@ -9859,6 +10570,7 @@ "SCPT": "Script Network", "SCRAP": "Scrap", "SCRAPPY": "Scrappy", + "SCRAT": "Scrat", "SCRATCH": "Scratch", "SCREAM": "Scream", "SCRIBE": "Scribe Network", @@ -9907,6 +10619,8 @@ "SECOND": "MetaDOS", "SECRT": "SecretCoin", "SECT": "SECTBOT", + "SECTO": "Sector Finance", + "SEDA": "SEDA Protocol", "SEED": "Superbloom", "SEEDS": "SeedShares", "SEEDV": "Seed Venture", @@ -9921,12 +10635,14 @@ "SEKAI": "Sekai DAO", "SEL": "SelenCoin", "SELF": "SELFCrypto", + "SELFIE": "SelfieDogCoin", "SELLC": "Sell Token", "SEM": "Semux", "SEN": "Sentaro", "SENATE": "SENATE", "SENC": "Sentinel Chain", "SEND": "Social Send", + "SENK": "Senk", "SENNO": "SENNO", "SENSE": "Sense Token", "SENSI": "Sensi", @@ -9945,11 +10661,13 @@ "SERSH": "Serenity Shield", "SERV": "Serve", "SERVE": "Metavice", + "SESE": "Simpson Pepe", "SESSIA": "SESSIA", "SETH": "sETH", "SETH2": "sETH2", "SETHER": "Sether", "SETS": "Sensitrust", + "SEW": "simpson in a memes world", "SEX": "SEX Odyssey", "SEXY": "EthXY", "SFARM": "SolFarm", @@ -9968,12 +10686,14 @@ "SFP": "SafePal", "SFR": "SaffronCoin", "SFRC": "Safari Crush", + "SFRXETH": "Frax Staked Ether", "SFT": "SportsFix", "SFTMX": "Stader sFTMX", "SFTY": "Stella Fantasy", "SFU": "Saifu", "SFUEL": "SparkPoint Fuel", "SFUND": "Seedify.fund", + "SFV2": "ShibaFameV2", "SFX": "SUBX FINANCE LAB", "SG": "SocialGood", "SGB": "Songbird", @@ -10004,6 +10724,7 @@ "SHARECHAIN": "ShareChain", "SHARES": "shares.finance", "SHARK": "Sharky", + "SHARKC": "Shark Cat", "SHARPE": "Sharpe Capital", "SHAUN": "SHAUN INU", "SHB4": "Super Heavy Booster 4", @@ -10020,7 +10741,7 @@ "SHEPE": "Shiba V Pepe", "SHERA": "Shera Tokens", "SHEZMU": "Shezmu", - "SHFL": "SHUFFLE!", + "SHFL": "Shuffle", "SHFT": "Shyft Network", "SHG": "Shib Generating", "SHI": "Shirtum", @@ -10029,12 +10750,14 @@ "SHIB05": "Half Shiba Inu", "SHIB1": "Shib1", "SHIB2": "SHIB2", + "SHIBA": "Shibaqua", "SHIBAAI": "SHIBAAI", "SHIBAC": "SHIBA CLASSIC", "SHIBACASH": "ShibaCash", "SHIBAI": "AiShiba", "SHIBAKEN": "Shibaken Finance", "SHIBAMOM": "Shiba Mom", + "SHIBAR": "Shibarium Name Service", "SHIBARMY": "Shib Army", "SHIBAY": "Shiba Inu Pay", "SHIBAZILLA": "ShibaZilla2.0", @@ -10064,6 +10787,8 @@ "SHIL": "Shila Inu", "SHILL": "SHILL Token", "SHILLD": "SHILLD", + "SHILLG": "Shill Guard Token", + "SHIN": "Shin Chan", "SHINA": "Shina Inu", "SHINJA": "Shibnobi", "SHINO": "ShinobiVerse", @@ -10090,14 +10815,17 @@ "SHOW": "ShowCoin", "SHPING": "Shping Coin", "SHR": "ShareToken", + "SHRA": "Shrapnel", "SHRAP": "Shrapnel", "SHRED": "ShredN", "SHREK": "ShrekCoin", "SHRIMP": "SHRIMP", "SHROOM": "Shroom.Finance", "SHROOMFOX": "Magic Shroom", + "SHRUB": "Shrub", "SHS": "SHEESH", "SHUB": "SimpleHub", + "SHUFFLE": "SHUFFLE!", "SHVR": "Shivers", "SHX": "Stronghold Token", "SHYTCOIN": "ShytCoin", @@ -10105,6 +10833,7 @@ "SIB": "SibCoin", "SIBA": "SibaInu", "SIC": "Swisscoin", + "SID": "Sid", "SIDE": "Side.xyz", "SIDESHIFT": "SideShift Token", "SIDUS": "Sidus", @@ -10132,6 +10861,7 @@ "SIMPSON": "Homer", "SIMPSON6900": "Simpson6900 ", "SIMPSONSINU": "The Simpsons Inu", + "SIMSOL": "SimSol", "SIN": "Sinverse", "SINE": "Sinelock", "SING": "SingularFarm", @@ -10139,6 +10869,7 @@ "SINS": "SafeInsure", "SINSO": "SINSO", "SINX": "SINX Token", + "SION": "FC Sion", "SIP": "Space SIP", "SIPHER": "Sipher", "SIPHON": "Siphon Life Spell", @@ -10155,6 +10886,7 @@ "SIZ": "Sizlux", "SIZE": "SIZE", "SJCX": "StorjCoin", + "SKAI": "Skillful AI", "SKB": "SkullBuzz", "SKC": "Skeincoin", "SKCS": "Staked KCS", @@ -10166,11 +10898,14 @@ "SKID": "Success Kid", "SKILL": "CryptoBlades", "SKIN": "Skincoin", + "SKING": "Solo King", "SKINS": "Coins & Skins", + "SKIPUP": "SKI MASK PUP", "SKL": "SKALE Network", "SKLAY": "sKLAY", "SKM": "Skrumble Network", "SKO": "Sugar Kingdom Odyssey", + "SKOP": "Skulls of Pepe Token", "SKPEPE": "Sheikh Pepe", "SKR": "Sakuracoin", "SKRB": "Sakura Bloom", @@ -10182,6 +10917,7 @@ "SKU": "Sakura", "SKULL": "Pirate Blocks", "SKY": "Skycoin", + "SKYA": "Sekuya Multiverse", "SKYFT": "SKYFchain", "SKYM": "SkyMap", "SKYRIM": "Skyrim Finance", @@ -10221,15 +10957,18 @@ "SLS": "SaluS", "SLST": "SmartLands", "SLT": "Social Lending Network", + "SLUMBO": "SLUMBO", "SLVX": "eToro Silver", "SLX": "Slate", "SMA": "Soma Network", "SMAC": "Social Media Coin", + "SMAK": "Smartlink", "SMARS": "SafeMars", "SMART": "SmartCash", "SMARTB": "Smart Coin", "SMARTCREDIT": "SmartCredit Token", "SMARTLOX": "SmartLOX", + "SMARTM": "SmartMesh", "SMARTMEME": "SmartMEME", "SMARTNFT": "SmartNFT", "SMARTO": "smARTOFGIVING", @@ -10246,6 +10985,7 @@ "SMG": "Smaugs NFT", "SMH": "Spacemesh", "SMI": "SafeMoon Inu", + "SMIDGE": "Smidge", "SMILE": "Smile Token", "SMILEK": "Smilek to the Bank", "SMILEY": "SMILEY", @@ -10266,7 +11006,7 @@ "SMRT": "SmartMoney", "SMRTR": "SmarterCoin", "SMSR": "Samsara Coin", - "SMT": "SmartMesh", + "SMT": "Swarm Markets", "SMTF": "SmartFi", "SMTY": "Smoothy", "SMU": "SafeMoneyUP", @@ -10290,8 +11030,9 @@ "SNEK": "Snek", "SNEKE": "Snek on Ethereum", "SNET": "Snetwork", - "SNFT.BITCI": "Spanish National Team Fan Token", + "SNFT": "Spanish National Team Fan Token", "SNFTS": "Seedify NFT Space", + "SNG": "SINERGIA", "SNGLS": "SingularDTV", "SNIP": "LyrnAI", "SNIPPEPE": "SNIPING PEPE", @@ -10304,10 +11045,13 @@ "SNOB": "Snowball", "SNOOP": "SnoopDAO", "SNOOPY": "Snoopy", + "SNORK": "Snork", "SNORT": "SNORT", "SNOV": "Snovio", "SNOW": "Snowswap", + "SNOWBALL": "Simpson Cat", "SNOWMANTASTIC": "Snowmantastic", + "SNPAD": "SNP adverse", "SNPC": "SnapCoin", "SNPS": "Snaps", "SNRG": "Synergy", @@ -10358,12 +11102,14 @@ "SOLARFARM": "SolarFarm", "SOLARIX": "SOLARIX", "SOLAV": "SOLAV TOKEN", + "SOLBET": "SOL STREET BETS", "SOLBULL": "SOLBULL", "SOLC": "SolCard", "SOLCASH": "SOLCash", "SOLCAT": "SOLCAT", "SOLCEX": "SolCex", "SOLE": "SoleCoin", + "SOLETF": "SOL ETF", "SOLEX": "Solex Launchpad", "SOLFI": "SoliDefi", "SOLGOAT": "SOLGOAT", @@ -10371,6 +11117,9 @@ "SOLID": "Solidified", "SOLIDSEX": "SOLIDsex: Tokenized veSOLID", "SOLKIT": "Solana Kit", + "SOLLY": "Solly", + "SOLMATES": "SOLMATES", + "SOLMEME": "TrumpFFIEGMEBidenCAT2024AMC", "SOLNAV": "SOLNAV AI", "SOLNIC": "Solnic", "SOLO": "Sologenic", @@ -10382,6 +11131,7 @@ "SOLSCC": "sols", "SOLSPONGE": "Solsponge", "SOLVE": "SOLVE", + "SOLWIF": "Solwif", "SOLX": "SolarX", "SOLY": "Solamander", "SOLZILLA": "Solzilla", @@ -10400,10 +11150,12 @@ "SOON": "Soonaverse", "SOONCOIN": "SoonCoin", "SOP": "SoPay", + "SOPHON": "Sophon (Atomicals)", "SOR": "Sorcery", "SORA": "Sora Validator Token", "SORACEO": "SORA CEO", "SORADOGE": "Sora Doge", + "SORAETH": "SORA", "SORAI": "Sora AI", "SORAPORN": "Sora Porn", "SOSNOVKINO": "Sosnovkino", @@ -10414,10 +11166,12 @@ "SOULS": "Soulsaver", "SOUND": "Sound Coin", "SOURCE": "ReSource Protocol", + "SOUTH": "DeepSouth AI", "SOV": "Sovryn", "SOVE": "Soverain", "SOVI": "Sovi Finance", "SOWA": "Sowa AI", + "SOX": "Nobby Game", "SOY": "Soy Finance", "SP": "Sex Pistols", "SP8DE": "Sp8de", @@ -10442,12 +11196,14 @@ "SPDX": "Speedex", "SPE": "SavePlanetEarth", "SPEC": "SpecCoin", + "SPECT": "Spectral", "SPECTRE": "SPECTRE AI", "SPEEDY": "Speedy", "SPELL": "Spell Token", "SPELLFIRE": "Spellfire", "SPEND": "Spend", "SPENDC": "SpendCoin", + "SPENT": "Espento", "SPEPE": "SolanaPepe", "SPEX": "StepEx", "SPF": "SportyCo", @@ -10460,6 +11216,10 @@ "SPHRI": "Spherium", "SPHTX": "SophiaTX", "SPHYNX": "Sphynx Token", + "SPHYNXV1": "Sphynx Token v1", + "SPHYNXV2": "Sphynx Token v2", + "SPHYNXV3": "Sphynx Token v3", + "SPHYNXV4": "Sphynx Token v4", "SPI": "Shopping.io", "SPICE": "Spice", "SPIDER": "Spider Man", @@ -10473,6 +11233,7 @@ "SPK": "SparksPay", "SPKL": "SpokLottery", "SPKTR": "Ghost Coin", + "SPL": "SocialPal", "SPLA": "SmartPlay", "SPM": "Supreme", "SPN": "Sapien Network", @@ -10487,6 +11248,7 @@ "SPOOL": "Spool DAO Token", "SPORE": "Enoki Finance", "SPORT": "SportsCoin", + "SPORTS": "ZenSports", "SPOTS": "Spots", "SPOX": "Sports Future Exchange Token", "SPRING": "Spring", @@ -10495,6 +11257,7 @@ "SPRT": "Sportium", "SPRTS": "Sprouts", "SPRTZ": "SpritzCoin", + "SPRX": "Sprint Coin", "SPS": "Splinterlands", "SPT": "SPECTRUM", "SPUME": "Spume", @@ -10520,6 +11283,7 @@ "SQUID": "Squid Game", "SQUID2": "Squid Game 2.0", "SQUIDGROW": "SquidGrow", + "SQUIDGROWV1": "SquidGrow v1", "SQUOGE": "DogeSquatch", "SRBP": "Super Rare Ball Potion", "SRC": "SecureCoin", @@ -10556,6 +11320,7 @@ "SSU": "Sunny Side up", "SSV": "ssv.network", "SSVCOIN": "SSVCoin", + "SSVV1": "Blox", "SSWP": "Suiswap", "SSX": "SOMESING", "ST": "Skippy Token", @@ -10580,7 +11345,8 @@ "STARLAUNCH": "StarLaunch", "STARLY": "Starly", "STARP": "Star Pacific Coin", - "STARS": "Mogul Productions", + "STARRI": "starri", + "STARS": "Stargaze", "STARSH": "StarShip Token", "STARSHI": "Starship", "STARSHIP": "STARSHIP", @@ -10588,6 +11354,7 @@ "START": "StartCoin", "STARTA": "Starta", "STARWARS": "Star Wars", + "STARX": "STARX TOKEN", "STASH": "BitStash", "STAT": "STAT", "STATE": "New World Order", @@ -10605,6 +11372,7 @@ "STDYDX": "Stride Staked DYDX", "STEAK": "SteakHut Finance", "STEALTH": "StealthPad", + "STEAMPUNK": "SteamPunk", "STEEM": "Steem", "STEEMD": "Steem Dollars", "STEEP": "SteepCoin", @@ -10636,7 +11404,10 @@ "STKAAVE": "Staked Aave", "STKATOM": "pSTAKE Staked ATOM", "STKBNB": "pSTAKE Staked BNB", + "STKC": "Streakk Chain", + "STKHUAHUA": "pSTAKE Staked HUAHUA", "STKK": "Streakk", + "STKSTARS": "pSTAKE Staked STARS", "STKXPRT": "pSTAKE Staked XPRT", "STLE": "Saint Ligne", "STMAN": "Stickman Battleground", @@ -10645,8 +11416,10 @@ "STND": "Standard Protocol", "STNEAR": "Staked NEAR", "STO": "Save The Ocean", + "STOG": "Stooges", "STOGE": "Stoner Doge Finance", - "STON": "Ston", + "STOIC": "stoicDAO", + "STON": "STON", "STONE": "Stone Token", "STONK": "STONK", "STONKS": "HarryPotterObamaWallStreetBets10Inu", @@ -10681,18 +11454,24 @@ "STRONGX": "StrongX", "STRP": "Strips Finance", "STRS": "STARS", + "STRUMP": "Super Trump", "STRX": "StrikeX", "STS": "SBank", "STSOL": "Lido Staked SOL", + "STSOMM": "Stride Staked SOMM", "STSR": "SatelStar", "STSTARS": "Stride Staked Stars", "STSW": "Stackswap", "STT": "Statter Network ", + "STTAO": "Tensorplex Staked TAO", + "STTIA": "Stride Staked TIA", "STTON": "bemo staked TON", "STU": "BitJob", "STUART": "Stuart Inu", + "STUCK": "mouse in pasta", "STUD": "Studyum", "STUDENTC": "Student Coin", + "STUMEE": "Stride Staked UMEE", "STUSDT": "Staked USDT", "STV": "Sativa Coin", "STWEMIX": "Staked WEMIX", @@ -10713,6 +11492,7 @@ "SUI": "Sui", "SUIA": "SUIA", "SUIP": "SuiPad", + "SUISHIB": "SuiShiba", "SUKU": "SUKU", "SULFERC": "SULFERC", "SUM": "SumSwap", @@ -10744,7 +11524,9 @@ "SUTER": "Suterusu", "SUZUME": "Shita-kiri Suzume", "SVD": "savedroid", + "SVL": "Slash Vision Labs", "SVN": "Savanna", + "SVNN": "Savanna Haus", "SVPN": "Shadow Node", "SVS": "GivingToServices SVS", "SVT": "Solvent", @@ -10759,7 +11541,6 @@ "SWAPP": "SWAPP Protocol", "SWAPZ": "SWAPZ.app", "SWARM": "SwarmCoin", - "SWARMM": "Swarm Markets", "SWASH": "Swash", "SWAY": "Sway Social", "SWC": "Scanetchain Token", @@ -10780,6 +11561,7 @@ "SWIN": "SwinCoin", "SWING": "SwingCoin", "SWINGBY": "Swingby", + "SWIPES": "BNDR", "SWIRL": "Swirl Social", "SWIRLX": "SwirlToken", "SWISE": "StakeWise", @@ -10797,9 +11579,11 @@ "SWTH": "Carbon", "SWTS": "SWEETS", "SWU": "Smart World Union", + "SWY": "Swype", "SWYFTT": "SWYFT", "SX": "SX Network", "SXC": "SexCoin", + "SXCH": "SolarX", "SXDT": "SPECTRE Dividend Token", "SXM": "saxumdao", "SXP": "SXP", @@ -10812,14 +11596,17 @@ "SYC": "SynchroCoin", "SYL": "XSL Labs", "SYLO": "Sylo", + "SYLV": "Sylvester", "SYM": "SymVerse", "SYN": "Synapse", - "SYNC": "Sync Network", + "SYNC": "Syncus", "SYNCC": "SyncCoin", + "SYNCN": "Sync Network", "SYNCO": "Synco", "SYNLEV": "SynLev", "SYNO": "Synonym Finance", "SYNR": "MOBLAND", + "SYNT": "Synthetix Network", "SYNTH": "Synthswap", "SYNX": "Syndicate", "SYPOOL": "Sypool", @@ -10837,7 +11624,8 @@ "TADA": "Ta-da", "TAF": "TAF", "TAGR": "Think And Get Rich Coin", - "TAI": "tBridge Token", + "TAI": "TARS Protocol", + "TAIKO": "Taiko", "TAIKULA": "TAIKULA COIN", "TAIL": "Tail", "TAIYO": "Taiyo", @@ -10854,6 +11642,7 @@ "TANGYUAN": "TangYuan", "TANK": "CryptoTanks", "TANPIN": "Tanpin", + "TANUKI": "Tanuki", "TAO": "Bittensor", "TAONU": "TAO INU", "TAP": "TAP FANTASY", @@ -10863,8 +11652,10 @@ "TAPT": "Tortuga Staked Aptos", "TARA": "Taraxa", "TARAL": "TARALITY", + "TARD": "Tard", "TARI": "Tari World", "TAROT": "Tarot", + "TAROTV1": "Tarot v1", "TARP": "Totally A Rug Pull", "TAS": "TARUSH", "TASH": "Smart Trip Platform", @@ -10887,16 +11678,21 @@ "TBCC": "TBCC", "TBCI": "tbci", "TBCX": "TrashBurn", + "TBD": "THE BIG DEBATE", "TBE": "TrustBase", + "TBFT": "Türkiye Basketbol Federasyon Token", "TBIS": "TBIS token", "TBL": "Tombola", + "TBRIDGE": "tBridge Token", "TBT": "T-BOT", "TBTC": "tBTC", + "TBTCV1": "tBTC v1", "TBX": "Tokenbox", "TCANDY": "TripCandy", "TCAP": "Total Crypto Market Cap", "TCAT": "The Currency Analytics", "TCC": "The ChampCoin", + "TCG": "Today's Crypto", "TCG2": "TCG Coin 2.0", "TCGC": "TCG Verse", "TCH": "Thorecash", @@ -10913,7 +11709,9 @@ "TCX": "T-Coin", "TCY": "The Crypto You", "TD": "Trade Chain", + "TDAN": "TDAN", "TDE": "Trade Ecology Token", + "TDEFI": "Token Teknoloji A.S. Token DeFi", "TDFB": "TDFB", "TDFY": "Tidefi", "TDP": "TrueDeck", @@ -10931,6 +11729,7 @@ "TEDDYV1": "Teddy Doge", "TEE": "Guarantee", "TEER": "Integritee", + "TEITEI": "TeiTei", "TEK": "TekCoin", "TEL": "Telcoin", "TELE": "Miracle Tele", @@ -10942,6 +11741,7 @@ "TEM": "Temtum", "TEMCO": "TEMCO", "TEMP": "Tempus", + "TEMPLE": "TempleDAO", "TEN": "Tokenomy", "TEND": "Tendies", "TENDIE": "TendieSwap", @@ -10959,7 +11759,9 @@ "TERAWATT": "Terawatt", "TERN": "Ternio", "TERN.ETH": "Ternio ERC20", - "TERRA": "TERRABYTE AI", + "TERR": "Terrier", + "TERRA": "Terraport", + "TERRAB": "TERRABYTE AI", "TERZ": "SHELTERZ", "TES": "TeslaCoin", "TESLA": "TeslaCoilCoin", @@ -10971,6 +11773,7 @@ "TETHYS": "Tethys", "TETRA": "Tetra", "TETU": "TETU", + "TEW": "Trump in a memes world", "TFBX": "Truefeedback Token", "TFC": "The Freedom Coin", "TFI": "TrustFi Network Token", @@ -10995,6 +11798,7 @@ "THECA": "Theca", "THECITADEL": "The Citadel", "THEDAO": "The DAO", + "THEHARAMBE": "Harambe", "THEMIS": "Themis", "THEN": "THENA", "THEO": "Theopetra", @@ -11065,6 +11869,7 @@ "TIUSD": "TiUSD", "TIX": "Blocktix", "TKA": "Tokia", + "TKAI": "TAIKAI", "TKB": "TokenBot", "TKC": "TurkeyChain", "TKG": "Takamaka Green Coin", @@ -11086,15 +11891,19 @@ "TLOS": "Telos", "TLP": "TulipCoin", "TLW": "TILWIKI", + "TMANIA": "Trump Mania", "TME": "Timereum", "TMED": "MDsquare", + "TMFT": "Turkish Motorcycle Federation", "TMN": "TranslateMe", "TMNG": "TMN Global", "TMNT": "TMNT", "TMON": "Two Monkey Juice Bar", "TMRW": "TMRW Coin", + "TMSH": "Bursaspor Fan Token", "TMT": "Tamy Token", "TMTG": "The Midas Touch Gold", + "TMWH": "Tom Wif Hat", "TN": "TurtleNetwork", "TNB": "Time New Bank", "TNC": "TNC Coin", @@ -11106,8 +11915,11 @@ "TOA": "TOA Coin", "TOAD": "TOAD", "TOB": "Tom On Base", + "TOBI": "MOTO DOG", + "TOBY": "toby", "TOC": "TouchCon", "TODAY": "TodayCoin", + "TODD": "TURBO TODD", "TOK": "Tokenplace", "TOKA": "Tonka Finance", "TOKAU": "Tokyo AU", @@ -11115,6 +11927,7 @@ "TOKE": "Tokemak", "TOKEN": "TokenFi", "TOKENSTARS": "TokenStars", + "TOKERO": "TOKERO LevelUP Token", "TOKKI": "CRYPTOKKI", "TOKO": "ToKoin", "TOKU": "TokugawaCoin", @@ -11170,6 +11983,7 @@ "TOWER": "Tower", "TOWN": "Town Star", "TOX": "INTOverse", + "TOXI": "ToxicGarden.finance SEED", "TOYBOX": "Memefi Toybox 404", "TOZ": "Tozex", "TP": "Token Swap", @@ -11188,10 +12002,13 @@ "TRA": "Trabzonspor Fan Token", "TRAC": "OriginTrail", "TRACE": "Trace Network Labs", + "TRACEA": "Trace AI", "TRACN": "trac (Ordinals)", "TRADE": "Polytrade", + "TRADEBOT": "TradeBot", "TRADEX": "TradeX AI", "TRAID": "Traid", + "TRAIN": "Trump Train", "TRAK": "TrakInvest", "TRANQ": "Tranquil Finance", "TRANS": "Trans Pepe", @@ -11214,7 +12031,7 @@ "TRECENTO": "Trecento Blockchain Capital", "TREE": "HyperionX", "TREEB": "Retreeb", - "TREMP": "MEGE", + "TREMP": "Doland Tremp", "TRESTLE": "TRESTLE", "TRET": "Tourist Review", "TRG": "The Rug Game", @@ -11237,6 +12054,7 @@ "TRL": "Triall", "TRMX": "TourismX Token", "TRNDZ": "Trendsy", + "TROG": "Trog", "TROLL": "Trollcoin", "TROLLHEIM": "Trollheim", "TROLLMODE": "TROLL MODE", @@ -11256,17 +12074,27 @@ "TRUE": "True Chain", "TRUEBIT": "Truebit Protocol", "TRUF": "Truflation", + "TRUM": "TrumpBucks", + "TRUMAGA": "TrumpMAGA", + "TRUMATIC": "TruFin Staked MATIC", "TRUMP": "MAGA", "TRUMP2024": "Donald Trump", "TRUMPARMY": "Trump Army", + "TRUMPBIDEN": "Trump vs Biden", "TRUMPCAT": "TRUMPCAT", "TRUMPCOIN": "TrumpCoin", + "TRUMPDO": "TRUMP", "TRUMPDOGE": "Trump Doge", + "TRUMPE": "Trump Pepe", "TRUMPEPE": "Trump Pepe", + "TRUMPHAT": "Trump Hat", "TRUMPINU": "Trump Inu", "TRUMPJR": "TrumpJr", "TRUMPSHIBA": "Trump Shiba", "TRUMPTECH": "Trump Tech", + "TRUMPTITANS": "TrumpTitans", + "TRUMPX": "Trump X-Maga", + "TRUMPZ": "Trump Zhong", "TRUNK": "Elephant Money", "TRUST": "TrustDAO", "TRUSTNFT": "TrustNFT", @@ -11278,6 +12106,7 @@ "TRX": "TRON", "TRXC": "TRONCLASSIC", "TRXDICE": "TRONdice", + "TRXS": "Staked TRX", "TRXWIN": "TronWin", "TRYB": "BiLira", "TRYC": "TRYC", @@ -11301,6 +12130,7 @@ "TSX": "TradeStars", "TT": "ThunderCore", "TTC": "TTC PROTOCOL", + "TTF": "TurboTrix Finance", "TTK": "The Three Kingdoms", "TTM": "To The Moon", "TTN": "Titan Coin", @@ -11308,6 +12138,7 @@ "TTU": "TaTaTu", "TTV": "TV-TWO", "TUBE": "BitTube", + "TUBES": "TUBES", "TUCKER": "TUCKER CARLSON", "TUDA": "Tutor's Diary", "TUF": "TUF Token", @@ -11319,10 +12150,14 @@ "TUR": "Turron", "TURBO": "Turbo Wallet", "TURBOS": "Turbos Finance", + "TURBOT": "Turbo", "TURT": "TurtSat", "TUS": "Treasure Under Sea", "TUSD": "True USD", + "TUSDV1": "True USD v1", "TUT": "Tutellus", + "TUTTER": "Tutter", + "TUZKI": "Tuzki", "TUZLA": "Tuzlaspor Token", "TVK": "Terra Virtua Kolect", "TVNT": "TravelNote", @@ -11334,11 +12169,13 @@ "TWEETY": "Tweety", "TWELVE": "TWELVE ZODIAC", "TWEP": "The Web3 Project", + "TWIFB": "TrumpWifBiden", "TWIN": "Twinci", "TWIST": "TwisterCoin", "TWLV": "Twelve Coin", "TWOCAT": "TwoTalkingCats", "TWOGE": "Twoge Inu", + "TWP": "TrumpWifPanda", "TWT": "Trust Wallet Token", "TX": "Tradix", "TX20": "Trex20", @@ -11349,12 +12186,14 @@ "TXG": "TRUSTxGAMING", "TXL": "Autobahn Network", "TXT": "TuneTrade", + "TYBENG": "TYBENG", "TYBG": "Base God", "TYBGSc": "Base Goddess", "TYC": "Tycoon", "TYCOON": "CryptoTycoon", "TYOGHOUL": "TYO GHOUL", - "TYPE": "Typerium", + "TYPE": "TypeAI", + "TYPERIUM": "Typerium", "TYRANT": "Fable Of The Dragon", "TYRION": "Tyrion", "TYT": "Tianya Token", @@ -11363,13 +12202,16 @@ "U": "Unidef", "U8D": "Universal Dollar", "UAEC": "United Arab Emirates Coin", + "UAHG": "UAHg", "UAT": "UltrAlpha", + "UB": "UBit Token", "UBA": "Unbox.Art", "UBC": "Ubcoin", "UBDN": "UBD Network", "UBEX": "Ubex", "UBI": "Universal Basic Income", "UBIQ": "Ubiqoin", + "UBIT": "UBIT", "UBQ": "Ubiq", "UBT": "UniBright", "UBTC": "UnitedBitcoin", @@ -11390,8 +12232,10 @@ "UCOIN": "Ucoin", "UCON": "YouCoin Metaverse", "UCORE": "UnityCore Protocol", + "UCR": "Ultra Clear", "UCT": "UnitedCrowd", "UCX": "UCX", + "UDAO": "UDAO", "UDO": "Unido", "UDOO": "Hyprr", "UDS": "Undeads Games", @@ -11422,12 +12266,15 @@ "UIS": "Unitus", "UJENNY": "Jenny Metaverse DAO Token", "UKG": "UnikoinGold", + "ULD": "Unlighted", "ULT": "Ultiledger", "ULTC": "Umbrella", "ULTGG": "UltimoGG", + "ULTI": "Ultiverse", "ULTIMA": "Ultima", "ULTIMATEBOT": "Ultimate Tipbot", "ULTRA": "Ultra", + "ULTRAP": "ULTRA Prisma Finance", "ULX": "ULTRON", "UM": "UncleMine", "UMA": "UMA", @@ -11478,6 +12325,7 @@ "UNITY": "SuperNET", "UNIVRS": "Universe", "UNIX": "UniX", + "UNIXCOIN": "UNIX", "UNLEASH": "UnleashClub", "UNM": "UNIUM", "UNMD": "Utility Nexusmind", @@ -11531,6 +12379,7 @@ "USDAP": "Bond Appetite USD", "USDB": "USD Bancor", "USDBC": "Bridged USDC", + "USDBLAST": "USDB Blast", "USDC": "USD Coin", "USDCASH": "USDCASH", "USDD": "USDD", @@ -11547,6 +12396,7 @@ "USDN": "Neutrino USD", "USDO": "USD Open Dollar", "USDP": "Pax Dollar", + "USDPLUS": "Overnight.fi USD+", "USDQ": "USDQ", "USDR": "Real USD", "USDS": "StableUSD", @@ -11592,11 +12442,13 @@ "UTT": "United Traders Token", "UTU": "UTU Protocol", "UTX": "UTIX", + "UTYAB": "Utya Black", "UUSD": "Utopia USD", "UUU": "U Network", "UVT": "UvToken", "UW3S": "Utility Web3Shot", - "UWU": "uwu", + "UWU": "UwU Lend", + "UWUCOIN": "uwu", "UX": "Umee", "UXOS": "UXOS", "UXP": "UXD Protocol", @@ -11653,6 +12505,7 @@ "VCNT": "ViciCoin", "VCORE": "VCORE", "VCX": "VaultCraft", + "VDA": "Verida", "VDG": "VeriDocGlobal", "VDL": "Vidulum", "VDO": "VidioCoin", @@ -11665,12 +12518,14 @@ "VDZ": "Voidz", "VEC": "VECTOR", "VEC2": "VectorCoin 2.0", + "VECT": "Vectorium", "VEE": "BLOCKv", "VEED": "VEED", "VEEN": "LIVEEN", "VEG": "BitVegan", "VEGA": "Vega Protocol", "VEGAS": "Vegasino", + "VEGASI": "Vegas Inu Token", "VEGE": "Vege Token", "VEIL": "VEIL", "VEKTOR": "VEKTOR", @@ -11694,6 +12549,7 @@ "VERA": "Vera", "VERI": "Veritaseum", "VERIC": "VeriCoin", + "VERO": "VEROPAD", "VERSA": "Versa Token", "VERSACE": "VERSACE", "VERSE": "Verse", @@ -11725,6 +12581,7 @@ "VICA": "ViCA Token", "VICEX": "ViceToken", "VICS": "RoboF", + "VICT": "Victory Impact Coin", "VICTORIUM": "Victorium", "VID": "VideoCoin", "VIDA": "Vidiachange", @@ -11749,6 +12606,7 @@ "VIRES": "Vires Finance", "VIRTU": "VIRTUCLOUD", "VIRTUAL": "Virtual Protocol", + "VIRTUM": "VIRTUMATE", "VIS": "Vigorus", "VISIO": "Visio", "VISION": "VisionGame", @@ -11765,6 +12623,7 @@ "VIVID": "Vivid Coin", "VIVO": "VIVO Coin", "VIX": "VIXCO", + "VIXV1": "VIXCO v1", "VIZ": "Vision City", "VIZION": "ViZion Protocol", "VIZSLASWAP": "VizslaSwap", @@ -11812,6 +12671,7 @@ "VOLTV1": "Volt Inu v1", "VOLTV2": "Volt Inu v2", "VOLTZ": "Voltz", + "VOLX": "VolumeX", "VONE": "Vone", "VONSPEED": "Andrea Von Speed", "VOOT": "VootCoin", @@ -11829,6 +12689,7 @@ "VPP": "Virtue Poker Points", "VPR": "VaporWallet", "VPRC": "VapersCoin", + "VPS": "VPS AI", "VR": "Victoria", "VRA": "Verasity", "VRC": "Virtual Coin", @@ -11855,6 +12716,7 @@ "VSHARE": "V3S Share", "VSL": "vSlice", "VSO": "Verso", + "VSOL": "VSolidus", "VSP": "Vesper Finance", "VSTA": "Vesta Finance", "VSUI": "Volo Staked SUI", @@ -11868,7 +12730,9 @@ "VTM": "Victorieum", "VTN": "Voltroon", "VTOS": "VTOS", + "VTRA": " E.C. Vitoria Fan Token", "VTRO": "Vitruveo DEX", + "VTRUMP": "Vote Trump", "VTRX": "Venus TRX", "VTS": "Veritise", "VTU": "Virtu", @@ -11902,12 +12766,15 @@ "W8BIT": "8Bit Chain", "WAB": "WABnetwork", "WABI": "WABI", + "WACME": "Wrapped Accumulate", "WACO": "Waste Digital Coin", "WAD": "WardenSwap", "WADA": "Wrapped Cardano", + "WAFFLES": "Waffles Davincij15's Cat", "WAG": "WagyuSwap", "WAGE": "Digiwage", "WAGG": "Waggle Network", + "WAGIE": "Wagie", "WAGIEBOT": "Wagie Bot", "WAGMI": "Wagmi Coin", "WAGMIGAMES": "WAGMI Game", @@ -11921,6 +12788,7 @@ "WALK": "Walk Token", "WALLET": "Ambire Wallet", "WALLY": "Wally Bot", + "WALTER": "walter", "WALV": "Alvey Chain", "WAM": "Wam", "WAMPL": "Wrapped Ampleforth", @@ -11942,12 +12810,15 @@ "WASH": "WashingtonCoin", "WASSIE": "WASSIE", "WASTR": "Wrapped Astar", + "WAT": "Wat", "WATER": "doginwotah", + "WAVAX": "Wrapped AVAX", "WAVES": "Waves", "WAXE": "WAXE", "WAXL": "Wrapped Axelar", "WAXP": "Worldwide Asset eXchange", "WAY": "WayCoin", + "WAZ": "MikeAI", "WBB": "Wild Beast Coin", "WBBC": "Wibcoin", "WBCH": "Wrapped Bitcoin Cash", @@ -11955,6 +12826,7 @@ "WBET": "Wavesbet", "WBETH": "Wrapped Beacon ETH", "WBIND": "Wrapped BIND", + "WBLT": "Wrapped BMX Liquidity Token", "WBN": "Wisdom Bank Network", "WBNB": "Wrapped BNB", "WBOND": "War Bond Token", @@ -12006,9 +12878,12 @@ "WECO": "WECOIN", "WED": "Wednesday Inu", "WEETH": "Wrapped eETH", + "WEF": "DOG WIF CHINESE HAT", "WEFI": "WeFi", "WEGEN": "WeGen Platform", + "WEGI": "Wegie", "WEGLD": "Wrapped EGLD", + "WEIRDO": "Weirdo", "WELA": "Wrapped Elastos", "WELD": "Weld", "WELL": "Moonwell", @@ -12017,6 +12892,7 @@ "WELT": "Fabwelt", "WELUPS": "Welups Blockchain", "WEMIX": "WEMIX", + "WEMIXUSD": "WEMIX", "WEN": "Wen", "WENLAMBO": "Wenlambo", "WEOS": "Wrapped EOS", @@ -12032,11 +12908,13 @@ "WEXO": "Wexo", "WEXPOLY": "WaultSwap Polygon", "WFAI": "WaifuAI", + "WFBTC": "Wrapped Fantom Bitcoin", "WFIL": "Wrapped Filecoin", "WFLAMA": "WIFLAMA", "WFLOW": "Wrapped Flow", "WFO": "WoofOracle", "WFT": "Windfall Token", + "WFTN": "Wrapped FTN", "WFUSE": "Wrapped Fuse", "WFX": "WebFlix", "WGC": "Green Climate World", @@ -12057,6 +12935,8 @@ "WHEN": "WhenHub", "WHEX": "Whale Exploder", "WHIRL": "Whirl Finance", + "WHISK": "Whiskers", + "WHISKEY": "WHISKEY", "WHITE": "Whiteheart", "WHL": "WhaleCoin", "WHO": "Truwho", @@ -12069,8 +12949,12 @@ "WIC": "Wi Coin", "WICC": "WaykiChain", "WIF": "dogwifhat", + "WIF2": "DogWif2.0", + "WIFB": "dogwifball", + "WIFE": "Wifejak", "WIFEDOGE": "Wifedoge", - "WIFI": "Wifi Coin", + "WIFI": "WiFi Map", + "WIFICOIN": "Wifi Coin", "WIFS": "dogwifscarf", "WIFSA": "dogwifsaudihat", "WIGO": "WigoSwap", @@ -12103,6 +12987,8 @@ "WITCH": "Witch", "WITCOIN": "Witcoin", "WIX": "Wixlar", + "WIZA": "Wizardia", + "WJD": "WJD", "WJEWEL": "WJEWEL", "WJXN": "Jax.Network", "WKAI": "Wrapped KardiaChain", @@ -12116,6 +13002,7 @@ "WLK": "Wolk", "WLKN": "Walken", "WLO": "WOLLO", + "WLTH": "Common Wealth", "WLUNA": "Wrapped LUNA Token", "WLUNC": "Wrapped LUNA Classic", "WLXT": "Wallex Token", @@ -12125,6 +13012,7 @@ "WMEMO": "Wonderful Memories", "WMF": "Whale Maker Fund", "WMINIMA": "Wrapped Minima", + "WMLX": "Millix", "WMN": "WebMind Network", "WMNT": "Wrapped Mantle", "WMOXY": "Moxy", @@ -12140,6 +13028,7 @@ "WNET": "Wavesnode.net", "WNK": "The Winkyverse", "WNOW": "WalletNow", + "WNRG": "Wrapped-Energi", "WNRZ": "WinPlay", "WNT": "Wicrypt", "WNXM": "Wrapped NXM", @@ -12153,11 +13042,13 @@ "WOJ": "Wojak Finance", "WOJAK": "Wojak", "WOJAK2": "Wojak 2.0 Coin", + "WOKB": "Wrapped OKB", "WOKT": "Wrapped OKT", "WOL": "World of Legends", "WOLF": "Landwolf", "WOLFILAND": "Wolfiland", "WOLFOF": "Wolf of Wall Street", + "WOLFP": "Wolfpack Coin", "WOLFY": "WOLFY", "WOLVERINU": "WOLVERINU", "WOM": "WOM", @@ -12200,6 +13091,7 @@ "WQT": "Work Quest", "WRC": "Worldcore", "WRK": "BlockWRK", + "WRKX": "NFT Workx", "WRLD": "NFT Worlds", "WRONG": "The Wrong Token", "WROSE": "Wrapped Rose", @@ -12209,10 +13101,13 @@ "WRZ": "Weriz", "WSB": "WallStreetBets DApp", "WSBABY": "Wall Street Baby", + "WSBC": "WSB Coin", "WSBS": "Wall Street Bets Solana", "WSCRT": "Secret ERC20", + "WSDM": "Wisdomise AI", "WSDOGE": "Doge of Woof Street", "WSG": "Wall Street Games", + "WSGV1": "Wall Street Games v1", "WSHIB": "wShiba", "WSI": "WeSendit", "WSIENNA": "Sienna ERC20", @@ -12239,7 +13134,9 @@ "WTT": "Giga Watt", "WTWOOL": "Wolf Town Wool", "WUF": "WUFFI", + "WUSD": "Worldwide USD", "WUST": "Wrapped UST Token", + "WVTRS": "Vitreus", "WW3": "WW3", "WWAN": "Wrapped WAN", "WWB": "Wowbit", @@ -12260,7 +13157,7 @@ "WZENIQ": "Wrapped Zeniq (ETH)", "WZETA": "Wrapped Zeta", "WZM": "Woozoo Music", - "WZRD": "Wizardia", + "WZRD": "Bitcoin Wizards", "X": "AI-X", "X2": "X2Coin", "X2Y2": "X2Y2", @@ -12274,6 +13171,7 @@ "XAH": "Xahau", "XAI": "Xai", "XALGO": "Wrapped ALGO", + "XALPHA": "XAlpha AI", "XAMP": "Antiample", "XANK": "Xank", "XAP": "Apollon", @@ -12285,6 +13183,7 @@ "XAUT": "Tether Gold", "XAVA": "Avalaunch", "XAYA": "XAYA", + "XB": "XBANKING", "XBASE": "ETERBASE", "XBB": "BrickBlock", "XBC": "BitcoinPlus", @@ -12292,6 +13191,7 @@ "XBG": "BitGrin", "XBI": "Bitcoin Incognito", "XBL": "Billionaire Token", + "XBLAZE": "Trailblaze", "XBN": "Elastic BNB", "XBNB": "PhoenixBNB", "XBOND": "Bitacium", @@ -12309,6 +13209,7 @@ "XCAL": "3xcalibur", "XCASH": "X-CASH", "XCASTR": "Astar", + "XCB": "Crypto Birds", "XCDOT": "xcDOT", "XCE": "Cerium", "XCEL": "XcelTrip", @@ -12370,11 +13271,13 @@ "XETA": "Xana", "XETH": "Xplosive Ethereum", "XFC": "Football Coin", - "XFI": "Xfinance", + "XFI": "CrossFi", + "XFINANCE": "Xfinance", "XFIT": "Xfit", "XFLOKI": "XFLOKI", "XFT": "Fantasy Cash", "XFTC": "Offshift", + "XFUEL": "XFUEL", "XFUND": "xFund", "XFYI": "XCredit", "XG": "XG Sports", @@ -12389,6 +13292,7 @@ "XGRO": "Growth DeFi", "XGT": "Xion Finance", "XHI": "HiCoin", + "XHP": "XHYPE", "XHT": "HollaEx", "XHV": "Haven Protocol", "XI": "Xi", @@ -12417,6 +13321,7 @@ "XLQ": "Alqo", "XLR": "Solaris", "XLT": "Nexalt", + "XM": "xMooney", "XMARK": "xMARK", "XMAS": "Elon Xmas", "XMASGROK": "Xmas Grok", @@ -12444,6 +13349,7 @@ "XNL": "Chronicle", "XNN": "Xenon", "XNO": "Xeno Token", + "XNODE": "XNODE", "XNP": "ExenPay Token", "XNS": "Insolar", "XNT": "Exenium", @@ -12506,10 +13412,12 @@ "XRP": "XRP", "XRP2": "XRP2.0", "XRP20": "XRP20", + "XRP8": "HarryPotterObamaPacMan8Inu", "XRPAYNET": "XRPayNet", "XRPC": "Xrp Classic", "XRPCHAIN": "Ripple Chain", "XRPH": "XRP Healthcare", + "XRS": "Xrius", "XRT": "Robonomics Network", "XRUN": "XRun", "XRUNE": "Thorstarter", @@ -12549,8 +13457,11 @@ "XTRA": "ExtraCredit", "XTRACK": "Xtrack AI", "XTREME": "ExtremeCoin", + "XTRM": "XTRM COIN", + "XTT": "XSwap Treasure", "XTTB20": "XTblock", "XTUSD": "XT Stablecoin XTUSD", + "XTV": "XTV", "XTX": "Xtock", "XTZ": "Tezos", "XUC": "Exchange Union", @@ -12583,6 +13494,7 @@ "YACHT": "YachtingVerse", "YAE": "Cryptonovae", "YAG": "Yaki Gold", + "YAI": "Ÿ", "YAK": "Yield Yak", "YAKS": "YakDAO", "YAKU": "Yaku", @@ -12603,19 +13515,22 @@ "YCE": "MYCE", "YCO": "Y Coin", "YCT": "Youclout", + "YDA": "YadaCoin", "YDF": "Yieldification", "YDOGE": "Yorkie Doge", "YDR": "YDragon", "YEC": "Ycash", "YEE": "Yeeco", "YEED": "Yggdrash", + "YEEHAW": "YEEHAW", "YEFI": "YeFi", "YEL": "Yel.Finance", "YEON": "Yeon", "YEPE": "Yellow Pepe", - "YES": "Yes World", + "YES": "YES Money", "YESCOIN": "YesCoin", "YESP": "Yesports", + "YESW": "Yes World", "YETI": "Yeti Finance", "YETU": "Yetucoin", "YFARM": "YFARM Token", @@ -12672,6 +13587,7 @@ "YSEC": "Yearn Secure", "YSR": "Ystar", "YTA": "YottaChain", + "YTJIA": "Jia Yueting", "YTN": "YENTEN", "YTS": "YetiSwap", "YU": "BOUNTYKINDS", @@ -12697,6 +13613,7 @@ "YYFI": "YYFI.Protocol", "Z3": "Z-Cubed", "ZABAKU": "Zabaku Inu", + "ZACK": "Zack Morris", "ZAFI": "ZakumiFi", "ZAI": "Zero Collateral Dai", "ZAIF": "Zaif Token", @@ -12705,17 +13622,20 @@ "ZANO": "Zano", "ZAO": "zkTAO", "ZAP": "Zap", + "ZAPI": "Zapicorn", "ZARP": "ZARP Stablecoin", "ZARX": "eToro South African Rand", "ZASH": "ZIMBOCASH", "ZAT": "ZatGo", "ZB": "ZB", "ZBC": "Zebec Protocol", + "ZBCN": "Zebec Network", "ZBIT": "zbit", "ZBU": "Zeebu", "ZCC": "ZCC Coin", "ZCC1": "ZeroCarbon", "ZCG": "ZCashGOLD", + "ZCHF": "Frankencoin", "ZCHN": "Zichain", "ZCL": "ZClassic", "ZCN": "Züs", @@ -12725,12 +13645,14 @@ "ZCR": "ZCore", "ZCULT": "Zkcult", "ZCX": "Unizen", + "ZDAI": "Zydio AI", "ZDEX": "Zeedex", "ZDR": "Zloadr", "ZEBU": "ZEBU", "ZEC": "ZCash", "ZECD": "ZCashDarkCoin", "ZED": "ZedCoins", + "ZEDD": "ZedDex", "ZEDTOKEN": "Zed Token", "ZEDX": "ZEDXION", "ZEDXION": "Zedxion", @@ -12739,7 +13661,7 @@ "ZEFU": "Zenfuse", "ZEIT": "ZeitCoin", "ZEL": "Zelcash", - "ZELIX ": "ZELIX", + "ZELIX": "ZELIX", "ZEN": "Horizen", "ZENC": "Zenc Coin", "ZEND": "zkLend", @@ -12747,18 +13669,20 @@ "ZENI": "Zennies", "ZENIQ": "Zeniq Coin", "ZENITH": "Zenith Chain", + "ZENT": "Zentry", "ZEON": "Zeon Network", "ZEP": "Zeppelin Dao", "ZEPH": "Zephyr Protocol", "ZER": "Zero", - "ZERO": "Analysoor", "ZEROB": "ZeroBank", "ZEROEX": "0.exchange", "ZES": "Zetos", + "ZESH": "Zesh", "ZEST": "ZestCoin", "ZET": "ZetaCoin", "ZET2": "Zeta2Coin", "ZETA": "ZetaChain", + "ZETH": "Zethan", "ZETRIX": "Zetrix", "ZEUM": "Colizeum", "ZEUS": "Zeus Network", @@ -12769,8 +13693,12 @@ "ZFM": "ZFMCOIN", "ZGD": "ZambesiGold", "ZGEM": "GemSwap", + "ZHC": "ZHC : Zero Hour Cash", + "ZIBU": "Zibu", "ZIG": "Zignaly", + "ZIGAP": "ZIGAP", "ZIK": "Ziktalk", + "ZIKC": "Zik coin", "ZIL": "Zilliqa", "ZILBERCOIN": "Zilbercoin", "ZILLIONXO": "ZILLION AAKAR XO", @@ -12778,19 +13706,30 @@ "ZINC": "ZINC", "ZINU": "Zombie Inu", "ZIP": "Zipper", + "ZIPPYSOL": "Zippy Staked SOL", "ZIPT": "Zippie", "ZIRVE": "Zirve Coin", + "ZIV4": "Ziv4 Labs", "ZIX": "ZIX Token", + "ZIZLE": "Zizle", "ZIZY": "ZIZY", "ZJLT": "ZJLT Distributed Factoring Network", - "ZK": "Polyhedra Network", + "ZJOE": "zJOE", + "ZK": "zkSync", "ZKARCH": "zkArchive", "ZKB": "ZKBase", "ZKBOB": "BOB", "ZKDOGE": "zkDoge", + "ZKDX": "ZKDX", + "ZKE": "zkEra Finance", + "ZKEVM": "zkEVMChain (BSC)", "ZKF": "ZKFair", + "ZKGROK": "ZKGROK", + "ZKGUN": "zkGUN", "ZKHIVE": "zkHive", "ZKID": "zkSync id", + "ZKIN": "zkInfra", + "ZKJ": "Polyhedra Network", "ZKLAB": "zkSync Labs", "ZKLK": "ZkLock", "ZKML": "zKML", @@ -12802,11 +13741,13 @@ "ZKSP": "zkSwap", "ZKT": "zkTube", "ZKVAULT": "zkVAULT", + "ZKX": "ZKX", "ZKZ": "Zkzone", "ZLA": "Zilla", "ZLDA": "Zelda Inu", "ZLK": "Zenlink Network", "ZLOT": "zLOT Finance", + "ZLP": "ZilPay Wallet", "ZLQ": "ZLiteQubit", "ZLW": "Zelwin", "ZMBE": "RugZombie", @@ -12828,26 +13769,31 @@ "ZONO": "Zono Swap", "ZONX": "METAZONX", "ZOO": "ZooKeeper", + "ZOOA": "Zoopia", "ZOOM": "ZoomCoin", "ZOOMER": "Zoomer Coin", "ZOON": "CryptoZoon", "ZOOT": "Zoo Token", "ZORA": "Zoracles", + "ZORKSEES": "Zorksees", "ZORO": "Zoro Inu", "ZORT": "Zort", "ZP": "Zen Protocol", "ZPAE": "ZelaaPayAE", "ZPAY": "ZoidPay", "ZPC": "Zen Panda Coin", + "ZPET": "Zino Pet", "ZPR": "ZPER", "ZPRO": "ZAT Project", "ZPT": "Zeepin", "ZPTC": "Zeptacoin", "ZRC": "ZrCoin", - "ZRO": "Protocol Zero", + "ZRO": "LayerZero", "ZRX": "0x", "ZSC": "Zeusshield", + "ZSD": "Zephyr Protocol Stable Dollar", "ZSE": "ZSEcoin", + "ZSH": "Ziesha", "ZT": "ZBG Token", "ZTC": "ZeTo", "ZTG": "Zeitgeist", @@ -12857,11 +13803,14 @@ "ZUKI": "Zuki Moba", "ZUM": "ZumCoin", "ZUNA": "ZUNA", + "ZUNUSD": "Zunami USD", "ZUR": "Zurcoin", "ZURR": "ZURRENCY", "ZUSD": "ZUSD", + "ZUSHI": "ZUSHI", "ZUT": "Zero Utility Token", "ZUZALU": "Zuzalu Inu", + "ZUZU": "ZUZU", "ZUZUAI": "ZUZUAI", "ZVC": "ZVCHAIN", "ZWAP": "ZilSwap", @@ -12869,6 +13818,7 @@ "ZXT": "Zcrypt", "ZYD": "ZayedCoin", "ZYN": "Zynecoin", + "ZYNE": "Zynergy", "ZYPTO": "Zypto Token", "ZYR": "Zyrri", "ZYRO": "Zyro", From 9cd37f8de0d9e739b584629dbb1a50a007bb6511 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 09:40:55 +0200 Subject: [PATCH 18/28] Feature/add crypto coins and stock heatmaps to resources page (#3548) * Add heatmaps * Crypto Coins Heatmap * Stock Heatmap * Update changelog --- CHANGELOG.md | 5 +++ .../app/pages/resources/resources-page.html | 36 +++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e9a45e04..c7531c698 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added the _Crypto Coins Heatmap_ to the resources section +- Added the _Stock Heatmap_ to the resources section + ### Changed - Improved the allocations by ETF holding on the allocations page for the impersonation mode (experimental) diff --git a/apps/client/src/app/pages/resources/resources-page.html b/apps/client/src/app/pages/resources/resources-page.html index 663f1d374..49c3d1523 100644 --- a/apps/client/src/app/pages/resources/resources-page.html +++ b/apps/client/src/app/pages/resources/resources-page.html @@ -55,6 +55,22 @@

    Markets

    +
    +
    +

    Crypto Coins Heatmap

    +
    + With the Crypto Coins Heatmap you can track the daily + market movements of cryptocurrencies as a visual snapshot. +
    + +
    +

    Fear & Greed Index

    @@ -73,10 +89,10 @@
    -
    +

    Inflation Chart

    - Inflation Chart helps you find the intrinsic value of stock + Inflation Chart helps you find the intrinsic value of stock markets, stock prices, goods and services by adjusting them to the amount of the money supply (M0, M1, M2) or price of other goods (food or oil). @@ -88,6 +104,22 @@
    +
    +
    +

    Stock Heatmap

    +
    + With the Stock Heatmap you can track the daily market + movements of stocks as a visual snapshot. +
    + +
    +

    Glossary

    From fad1adb91ba1a214b35ac54b1c7bdc4e72a98646 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 09:54:54 +0200 Subject: [PATCH 19/28] Feature/improve usability to delete currency asset profile (#3541) * Improve usability * Update changelog --- CHANGELOG.md | 1 + .../admin-market-data.component.ts | 2 +- .../admin-market-data/admin-market-data.html | 18 +++++++++-------- .../admin-market-data.service.ts | 20 ++++++++++++++++++- .../asset-profile-dialog.component.ts | 2 +- .../asset-profile-dialog.html | 8 +++++--- 6 files changed, 37 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7531c698..f696b3b21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the allocations by ETF holding on the allocations page for the impersonation mode (experimental) - Improved the detection of REST APIs (`JSON`) used via the scraper configuration +- Improved the usability to delete an asset profile of type currency in the historical market data table and the asset profile details dialog of the admin control - Refreshed the cryptocurrencies list - Refactored the thresholds of the rules in the _X-ray_ section - Removed the obsolete `version` from the `docker-compose` files diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts index add0e998f..5494e6842 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.component.ts @@ -124,7 +124,7 @@ export class AdminMarketDataComponent private unsubscribeSubject = new Subject(); public constructor( - private adminMarketDataService: AdminMarketDataService, + public adminMarketDataService: AdminMarketDataService, private adminService: AdminService, private changeDetectorRef: ChangeDetectorRef, private dataService: DataService, diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.html b/apps/client/src/app/components/admin-market-data/admin-market-data.html index 5a7312026..00931d77c 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.html +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -24,11 +24,11 @@ @if ( - !( - element.activitiesCount !== 0 || - element.isBenchmark || - element.symbol.startsWith(ghostfolioScraperApiSymbolPrefix) - ) + adminMarketDataService.hasPermissionToDeleteAssetProfile({ + activitiesCount: element.activitiesCount, + isBenchmark: element.isBenchmark, + symbol: element.symbol + }) ) { + + What is the concept of platforms? + + + Platforms are used to group multiple accounts, such as a savings + account and a trading account at the same bank. By assigning accounts + to the same platform, they are displayed with a unified icon and you + gain insights into platform-specific risks. + + How do I add a new platform? From bc2fd9c970de29c9d68b065326a52b247d93658b Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 09:55:52 +0200 Subject: [PATCH 21/28] Feature/add WTD and MTD to documentation (#3542) --- README.md | 2 +- apps/client/src/app/pages/features/features-page.html | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e97f7b789..ef2021b27 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ Ghostfolio is for you if you are... - ✅ Create, update and delete transactions - ✅ Multi account management -- ✅ Portfolio performance: Time-weighted rate of return (TWR) for `Today`, `YTD`, `1Y`, `5Y`, `Max` +- ✅ Portfolio performance: Time-weighted rate of return (TWR) for `Today`, `WTD`, `MTD`, `YTD`, `1Y`, `5Y`, `Max` - ✅ Various charts - ✅ Static analysis to identify potential risks in your portfolio - ✅ Import and export transactions diff --git a/apps/client/src/app/pages/features/features-page.html b/apps/client/src/app/pages/features/features-page.html index 16a126b51..516ef6290 100644 --- a/apps/client/src/app/pages/features/features-page.html +++ b/apps/client/src/app/pages/features/features-page.html @@ -145,8 +145,9 @@

    Check the rate of return of your portfolio for - Today, YTD, 1Y, - 5Y, and Max. + Today, WTD, MTD, + YTD, 1Y, 5Y, and + Max.

    From 35b4aef06fd045d0d77d94e0f9fa70c1085f75f2 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 18:23:51 +0200 Subject: [PATCH 22/28] Feature/improve market state logic for forex in eod historical data service (#3550) --- .../eod-historical-data.service.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts b/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts index e16986cbb..1fe9e0ad1 100644 --- a/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts +++ b/apps/api/src/services/data-provider/eod-historical-data/eod-historical-data.service.ts @@ -246,7 +246,7 @@ export class EodHistoricalDataService implements DataProviderInterface { for (const { close, code, timestamp } of quotes) { let currency: string; - if (code.endsWith('.FOREX')) { + if (this.isForex(code)) { currency = this.convertFromEodSymbol(code)?.replace( DEFAULT_CURRENCY, '' @@ -272,7 +272,10 @@ export class EodHistoricalDataService implements DataProviderInterface { currency, dataSource: this.getName(), marketPrice: close, - marketState: isToday(new Date(timestamp * 1000)) ? 'open' : 'closed' + marketState: + this.isForex(code) || isToday(new Date(timestamp * 1000)) + ? 'open' + : 'closed' }; } else { Logger.error( @@ -311,7 +314,7 @@ export class EodHistoricalDataService implements DataProviderInterface { items: searchResult .filter(({ currency, symbol }) => { // Remove 'NA' currency and exchange rates - return currency?.length === 3 && !symbol.endsWith('.FOREX'); + return currency?.length === 3 && !this.isForex(symbol); }) .map( ({ @@ -349,7 +352,7 @@ export class EodHistoricalDataService implements DataProviderInterface { private convertFromEodSymbol(aEodSymbol: string) { let symbol = aEodSymbol; - if (symbol.endsWith('.FOREX')) { + if (this.isForex(symbol)) { symbol = symbol.replace('GBX', 'GBp'); symbol = symbol.replace('.FOREX', ''); } @@ -451,6 +454,10 @@ export class EodHistoricalDataService implements DataProviderInterface { return searchResult; } + private isForex(aCode: string) { + return aCode?.endsWith('.FOREX') || false; + } + private parseAssetClass({ Exchange, Type From 830569b38eefd80a6aa6f0228b681c99c7825b9e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sun, 7 Jul 2024 18:25:33 +0200 Subject: [PATCH 23/28] Release 2.93.0 (#3551) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 117e614be..b2320e41f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.93.0 - 2024-07-07 ### Added diff --git a/package.json b/package.json index 223976492..bad0621bd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.92.0", + "version": "2.93.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From b0c53d050ab94d65b8aaf1b6e82ba6b27d1a608e Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 9 Jul 2024 18:20:25 +0200 Subject: [PATCH 24/28] Feature/harmonize delete labels in admin market data (#3552) --- .../src/app/components/admin-market-data/admin-market-data.html | 2 +- .../components/admin-market-data/admin-market-data.service.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.html b/apps/client/src/app/components/admin-market-data/admin-market-data.html index 00931d77c..3dc3dd5a9 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.html +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.html @@ -178,7 +178,7 @@ [disabled]="!selection.hasValue()" (click)="onDeleteAssetProfiles()" > - Delete Asset Profiles + Delete Profiles diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts index ded1a2263..0753327f6 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts @@ -42,7 +42,7 @@ export class AdminMarketDataService { forkJoin(deleteRequests) .pipe( catchError(() => { - alert($localize`Oops! Could not delete asset profiles.`); + alert($localize`Oops! Could not delete profiles.`); return EMPTY; }), From 744dc51dcd5ba6061e13cebef2757de5617f6d9a Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 9 Jul 2024 18:42:03 +0200 Subject: [PATCH 25/28] Bugfix/fix pagination issue in activities endpoint by adding secondary sort criterion (#3554) * Add id as secondary sort criterion to ensure consistent ordering * Update changelog --- CHANGELOG.md | 6 ++++++ apps/api/src/app/order/order.service.ts | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2320e41f..408708fea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Fixed + +- Fixed a pagination issue in the activities endpoint by adding `id` as a secondary sort criterion to `date` to ensure consistent ordering + ## 2.93.0 - 2024-07-07 ### Added diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts index a1fa4db6c..0255a5011 100644 --- a/apps/api/src/app/order/order.service.ts +++ b/apps/api/src/app/order/order.service.ts @@ -291,7 +291,8 @@ export class OrderService { withExcludedAccounts?: boolean; }): Promise { let orderBy: Prisma.Enumerable = [ - { date: 'asc' } + { date: 'asc' }, + { id: 'asc' } ]; const where: Prisma.OrderWhereInput = { userId }; @@ -367,7 +368,7 @@ export class OrderService { } if (sortColumn) { - orderBy = [{ [sortColumn]: sortDirection }]; + orderBy = [{ [sortColumn]: sortDirection }, { id: sortDirection }]; } if (types) { From 5dc331e3863577dcf53bbe61248216aa7025d91c Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 9 Jul 2024 18:43:20 +0200 Subject: [PATCH 26/28] Feature/improve language localization for de 20240709 (#3555) * Update translations * Update changelog --- CHANGELOG.md | 4 + .../admin-market-data.service.ts | 2 +- apps/client/src/locales/messages.de.xlf | 158 +++++++++++------- apps/client/src/locales/messages.es.xlf | 158 +++++++++++------- apps/client/src/locales/messages.fr.xlf | 158 +++++++++++------- apps/client/src/locales/messages.it.xlf | 158 +++++++++++------- apps/client/src/locales/messages.nl.xlf | 158 +++++++++++------- apps/client/src/locales/messages.pl.xlf | 158 +++++++++++------- apps/client/src/locales/messages.pt.xlf | 158 +++++++++++------- apps/client/src/locales/messages.tr.xlf | 158 +++++++++++------- apps/client/src/locales/messages.xlf | 154 ++++++++++------- apps/client/src/locales/messages.zh.xlf | 158 +++++++++++------- 12 files changed, 951 insertions(+), 631 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 408708fea..c322a4c6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Changed + +- Improved the language localization for German (`de`) + ### Fixed - Fixed a pagination issue in the activities endpoint by adding `id` as a secondary sort criterion to `date` to ensure consistent ordering diff --git a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts index 0753327f6..8f3084cd8 100644 --- a/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts +++ b/apps/client/src/app/components/admin-market-data/admin-market-data.service.ts @@ -31,7 +31,7 @@ export class AdminMarketDataService { public deleteAssetProfiles(uniqueAssets: UniqueAsset[]) { const confirmation = confirm( - $localize`Do you really want to delete these asset profiles?` + $localize`Do you really want to delete these profiles?` ); if (confirmation) { diff --git a/apps/client/src/locales/messages.de.xlf b/apps/client/src/locales/messages.de.xlf index 2a8923cbf..4a4462405 100644 --- a/apps/client/src/locales/messages.de.xlf +++ b/apps/client/src/locales/messages.de.xlf @@ -94,7 +94,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -126,11 +126,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -250,7 +250,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -278,11 +278,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -334,11 +334,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -358,11 +358,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -490,7 +490,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -534,7 +534,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -566,11 +566,11 @@ Erste Aktivität apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -594,11 +594,11 @@ Historische Daten apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -662,7 +662,7 @@ Letzte Daten einholen apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -670,7 +670,7 @@ Alle Daten einholen apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -678,7 +678,7 @@ Profildaten herunterladen apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1006,7 +1006,7 @@ Registrieren apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -1302,11 +1302,11 @@ Sektoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1322,11 +1322,11 @@ Länder apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1510,15 +1510,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -1526,7 +1526,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1550,7 +1550,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -1758,7 +1758,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -1846,11 +1846,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2282,7 +2282,7 @@ Kommentar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2298,15 +2298,15 @@ Anlageklasse apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2666,15 +2666,15 @@ Anlageunterklasse apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2690,7 +2690,7 @@ Sektor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2702,7 +2702,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -2798,7 +2798,7 @@ Anzahl Länder apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -2806,7 +2806,7 @@ Anzahl Sektoren apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -2838,7 +2838,7 @@ Filtern nach... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -3234,7 +3234,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -3242,7 +3242,7 @@ Anzahl Aktivitäten apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -3258,7 +3258,7 @@ Symbol Zuordnung apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -3310,7 +3310,7 @@ Importieren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -3722,7 +3722,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3926,7 +3926,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4266,7 +4266,7 @@ Dark Mode apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -4274,7 +4274,7 @@ Marktstimmung apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -4282,7 +4282,7 @@ Statische Analyse apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -4290,7 +4290,7 @@ Mehrsprachigkeit apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -4298,7 +4298,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -4314,7 +4314,7 @@ Scraper Konfiguration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -4510,7 +4510,7 @@ Lexikon apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -4562,7 +4562,7 @@ ETFs ohne Länder apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -4570,7 +4570,7 @@ ETFs ohne Sektoren apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -4798,7 +4798,7 @@ Währungen apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -5834,7 +5834,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -5934,7 +5934,7 @@ Möchtest du dieses Anlageprofil wirklich löschen? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -6134,7 +6134,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6625,6 +6625,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Profile löschen + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Möchtest du diese Profile wirklich löschen? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Ups! Die Profile konnten nicht gelöscht werden. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + diff --git a/apps/client/src/locales/messages.es.xlf b/apps/client/src/locales/messages.es.xlf index e3c6b47e6..4bd27a6b2 100644 --- a/apps/client/src/locales/messages.es.xlf +++ b/apps/client/src/locales/messages.es.xlf @@ -95,7 +95,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -127,11 +127,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -251,7 +251,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -279,11 +279,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -335,11 +335,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -359,11 +359,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -491,7 +491,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -535,7 +535,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -567,11 +567,11 @@ Primera actividad apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -595,11 +595,11 @@ Datos históricos apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -663,7 +663,7 @@ Recoger datos recientes apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -671,7 +671,7 @@ Recoger todos los datos apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -679,7 +679,7 @@ Recoger los datos del perfil apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1007,7 +1007,7 @@ Empezar apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -1303,11 +1303,11 @@ Sectores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1323,11 +1323,11 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1511,15 +1511,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -1527,7 +1527,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1551,7 +1551,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -1759,7 +1759,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -1847,11 +1847,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2283,7 +2283,7 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2299,15 +2299,15 @@ Tipo de activo apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2655,15 +2655,15 @@ Subtipo de activo apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2719,7 +2719,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2731,7 +2731,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -2799,7 +2799,7 @@ Número de sectores apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -2807,7 +2807,7 @@ Número de países apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -2839,7 +2839,7 @@ Filtrar por... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -3235,7 +3235,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -3243,7 +3243,7 @@ Recuento de actividades apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -3259,7 +3259,7 @@ Mapeo de símbolos apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -3311,7 +3311,7 @@ Import apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -3723,7 +3723,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3927,7 +3927,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4267,7 +4267,7 @@ Dark Mode apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -4275,7 +4275,7 @@ Market Mood apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -4283,7 +4283,7 @@ Static Analysis apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -4291,7 +4291,7 @@ Multi-Language apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -4299,7 +4299,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -4315,7 +4315,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -4511,7 +4511,7 @@ Glossary apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -4563,7 +4563,7 @@ ETFs without Countries apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -4571,7 +4571,7 @@ ETFs without Sectors apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -4799,7 +4799,7 @@ Currencies apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -5835,7 +5835,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -5935,7 +5935,7 @@ Do you really want to delete this asset profile? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -6135,7 +6135,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6626,6 +6626,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.fr.xlf b/apps/client/src/locales/messages.fr.xlf index 0b81664d3..00223d1cf 100644 --- a/apps/client/src/locales/messages.fr.xlf +++ b/apps/client/src/locales/messages.fr.xlf @@ -106,7 +106,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -138,11 +138,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -198,11 +198,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -306,7 +306,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -334,11 +334,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -382,11 +382,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -406,11 +406,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -546,7 +546,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -590,7 +590,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -622,7 +622,7 @@ Filtrer par... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -630,15 +630,15 @@ Classe d’Actifs apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -654,15 +654,15 @@ Sous-classe d’Actifs apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -678,11 +678,11 @@ Première Activité apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -698,7 +698,7 @@ Nombre d’Activités apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -706,11 +706,11 @@ Données Historiques apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -718,7 +718,7 @@ Nombre de Secteurs apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -726,7 +726,7 @@ Nombre de Pays apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -734,7 +734,7 @@ Obtenir les Données Récentes apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -742,7 +742,7 @@ Obtenir toutes les Données apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -750,7 +750,7 @@ Obtenir les Données du Profil apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -770,7 +770,7 @@ Secteur apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -782,7 +782,7 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -798,11 +798,11 @@ Secteurs apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -818,11 +818,11 @@ Pays apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -834,7 +834,7 @@ Équivalence de Symboles apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -842,7 +842,7 @@ Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2046,7 +2046,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -2106,7 +2106,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -2254,15 +2254,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -2270,7 +2270,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -2294,7 +2294,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -2538,7 +2538,7 @@ Importer apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -2866,7 +2866,7 @@ Démarrer apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -3722,7 +3722,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3926,7 +3926,7 @@ Lien apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4266,7 +4266,7 @@ Mode Sombre apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -4274,7 +4274,7 @@ Sentiment du Marché apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -4282,7 +4282,7 @@ Analyse statique apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -4290,7 +4290,7 @@ Multi-Langue apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -4298,7 +4298,7 @@ Logiciel Open Source apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -4314,7 +4314,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -4510,7 +4510,7 @@ Glossary apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -4562,7 +4562,7 @@ ETFs without Countries apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -4570,7 +4570,7 @@ ETFs without Sectors apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -4798,7 +4798,7 @@ Currencies apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -5834,7 +5834,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -5934,7 +5934,7 @@ Do you really want to delete this asset profile? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -6134,7 +6134,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6625,6 +6625,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.it.xlf b/apps/client/src/locales/messages.it.xlf index d7d3b193d..ab80e4d20 100644 --- a/apps/client/src/locales/messages.it.xlf +++ b/apps/client/src/locales/messages.it.xlf @@ -95,7 +95,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -127,11 +127,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -251,7 +251,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -279,11 +279,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -335,11 +335,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -359,11 +359,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -491,7 +491,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -535,7 +535,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -567,11 +567,11 @@ Prima attività apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -595,11 +595,11 @@ Dati storici apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -663,7 +663,7 @@ Raccogli dati recenti apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -671,7 +671,7 @@ Raccogli tutti i dati apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -679,7 +679,7 @@ Raccogli i dati del profilo apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1007,7 +1007,7 @@ Inizia apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -1303,11 +1303,11 @@ Settori apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1323,11 +1323,11 @@ Paesi apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1511,15 +1511,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -1527,7 +1527,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1551,7 +1551,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -1759,7 +1759,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -1847,11 +1847,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2283,7 +2283,7 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2299,15 +2299,15 @@ Classe asset apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2655,15 +2655,15 @@ Sottoclasse asset apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2719,7 +2719,7 @@ Settore apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2731,7 +2731,7 @@ Paese apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -2799,7 +2799,7 @@ Numero di settori apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -2807,7 +2807,7 @@ Numero di paesi apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -2839,7 +2839,7 @@ Filtra per... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -3235,7 +3235,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -3243,7 +3243,7 @@ Conteggio attività apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -3259,7 +3259,7 @@ Mappatura dei simboli apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -3311,7 +3311,7 @@ Importa apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -3723,7 +3723,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3927,7 +3927,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4267,7 +4267,7 @@ Modalità scura apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -4275,7 +4275,7 @@ Umore del mercato apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -4283,7 +4283,7 @@ Analisi statica apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -4291,7 +4291,7 @@ Multilingue apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -4299,7 +4299,7 @@ Software open source apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -4315,7 +4315,7 @@ Configurazione dello scraper apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -4511,7 +4511,7 @@ Glossario apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -4563,7 +4563,7 @@ ETF senza paesi apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -4571,7 +4571,7 @@ ETF senza settori apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -4799,7 +4799,7 @@ Valute apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -5835,7 +5835,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -5935,7 +5935,7 @@ Do you really want to delete this asset profile? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -6135,7 +6135,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6626,6 +6626,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.nl.xlf b/apps/client/src/locales/messages.nl.xlf index bf31416a6..0f8f443e6 100644 --- a/apps/client/src/locales/messages.nl.xlf +++ b/apps/client/src/locales/messages.nl.xlf @@ -94,7 +94,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -126,11 +126,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -250,7 +250,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -278,11 +278,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -334,11 +334,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -358,11 +358,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -490,7 +490,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -534,7 +534,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -566,11 +566,11 @@ Eerste activiteit apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -594,11 +594,11 @@ Historische gegevens apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -662,7 +662,7 @@ Verzamel recente gegevens apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -670,7 +670,7 @@ Verzamel alle gegevens apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -678,7 +678,7 @@ Verzamel profielgegevens apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1006,7 +1006,7 @@ Aan de slag apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -1302,11 +1302,11 @@ Sectoren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1322,11 +1322,11 @@ Landen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1510,15 +1510,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -1526,7 +1526,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -1550,7 +1550,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -1758,7 +1758,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -1846,11 +1846,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2282,7 +2282,7 @@ Opmerking apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2298,15 +2298,15 @@ Asset klasse apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2654,15 +2654,15 @@ Asset subklasse apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2718,7 +2718,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2730,7 +2730,7 @@ Land apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -2798,7 +2798,7 @@ Aantal sectoren apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -2806,7 +2806,7 @@ Aantal landen apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -2838,7 +2838,7 @@ Filter op... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -3234,7 +3234,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -3242,7 +3242,7 @@ Aantal activiteiten apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -3258,7 +3258,7 @@ Symbool toewijzen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -3310,7 +3310,7 @@ Importeren apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -3722,7 +3722,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3926,7 +3926,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4266,7 +4266,7 @@ Dark Mode apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -4274,7 +4274,7 @@ Marktsentiment apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -4282,7 +4282,7 @@ Statische Analyse apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -4290,7 +4290,7 @@ Meerdere talen apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -4298,7 +4298,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -4314,7 +4314,7 @@ Scraper instellingen apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -4510,7 +4510,7 @@ Woordenlijst apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -4562,7 +4562,7 @@ ETF's zonder Landen apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -4570,7 +4570,7 @@ ETF's zonder Sectoren apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -4798,7 +4798,7 @@ Valuta apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -5834,7 +5834,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -5934,7 +5934,7 @@ Do you really want to delete this asset profile? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -6134,7 +6134,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6625,6 +6625,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.pl.xlf b/apps/client/src/locales/messages.pl.xlf index 1dcb612c6..c248f0832 100644 --- a/apps/client/src/locales/messages.pl.xlf +++ b/apps/client/src/locales/messages.pl.xlf @@ -502,15 +502,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -518,7 +518,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -542,7 +542,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -706,7 +706,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -822,7 +822,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -882,11 +882,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -942,11 +942,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1034,7 +1034,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1062,11 +1062,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1126,11 +1126,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1150,11 +1150,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1274,7 +1274,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1318,7 +1318,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1350,7 +1350,7 @@ Currencies apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -1358,7 +1358,7 @@ ETFs without Countries apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -1366,7 +1366,7 @@ ETFs without Sectors apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -1374,7 +1374,7 @@ Do you really want to delete this asset profile? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -1382,7 +1382,7 @@ Filter by... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -1390,15 +1390,15 @@ Asset Class apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1414,15 +1414,15 @@ Asset Sub Class apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1438,11 +1438,11 @@ First Activity apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1458,7 +1458,7 @@ Activities Count apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -1466,11 +1466,11 @@ Historical Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -1478,7 +1478,7 @@ Sectors Count apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -1486,7 +1486,7 @@ Countries Count apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -1494,7 +1494,7 @@ Gather Recent Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -1502,7 +1502,7 @@ Gather All Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -1510,7 +1510,7 @@ Gather Profile Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1546,7 +1546,7 @@ Import apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1562,7 +1562,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1574,7 +1574,7 @@ Country apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -1590,11 +1590,11 @@ Sectors apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1610,11 +1610,11 @@ Countries apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1626,7 +1626,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -1634,7 +1634,7 @@ Symbol Mapping apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -1642,7 +1642,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -1650,7 +1650,7 @@ Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1874,7 +1874,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2766,7 +2766,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3130,7 +3130,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -3590,7 +3590,7 @@ Dark Mode apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -3598,7 +3598,7 @@ Market Mood apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -3606,7 +3606,7 @@ Static Analysis apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -3614,7 +3614,7 @@ Multi-Language apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -3622,7 +3622,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -3630,7 +3630,7 @@ Get Started apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -5330,7 +5330,7 @@ Glossary apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -6134,7 +6134,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6625,6 +6625,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.pt.xlf b/apps/client/src/locales/messages.pt.xlf index 04acc074d..692bdc6c6 100644 --- a/apps/client/src/locales/messages.pt.xlf +++ b/apps/client/src/locales/messages.pt.xlf @@ -106,7 +106,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -138,11 +138,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -198,11 +198,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -306,7 +306,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -334,11 +334,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -382,11 +382,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -406,11 +406,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -546,7 +546,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -590,7 +590,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -622,7 +622,7 @@ Filtrar por... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -630,15 +630,15 @@ Classe do Ativo apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -654,15 +654,15 @@ Subclasse do ativo apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -678,11 +678,11 @@ Primeira Atividade apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -706,11 +706,11 @@ Dados Históricos apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -718,7 +718,7 @@ Contagem de Países apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -726,7 +726,7 @@ Contagem de Setores apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -734,7 +734,7 @@ Atualizar dados mais recentes apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -742,7 +742,7 @@ Recolher Todos os Dados apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -750,7 +750,7 @@ Recolher Dados de Perfíl apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1578,7 +1578,7 @@ Setor apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1590,7 +1590,7 @@ País apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -1606,11 +1606,11 @@ Setores apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1626,11 +1626,11 @@ Países apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -2022,7 +2022,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -2178,15 +2178,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -2194,7 +2194,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -2218,7 +2218,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -2406,7 +2406,7 @@ Nota apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -2762,7 +2762,7 @@ Começar apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -3210,7 +3210,7 @@ Nº de Atividades apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -3226,7 +3226,7 @@ Mapeamento de Símbolo apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -3278,7 +3278,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -3318,7 +3318,7 @@ Importar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -3722,7 +3722,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3926,7 +3926,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -4266,7 +4266,7 @@ Dark Mode apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -4274,7 +4274,7 @@ Market Mood apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -4282,7 +4282,7 @@ Static Analysis apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -4290,7 +4290,7 @@ Multi-Language apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -4298,7 +4298,7 @@ Open Source Software apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -4314,7 +4314,7 @@ Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -4510,7 +4510,7 @@ Glossary apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -4562,7 +4562,7 @@ ETFs without Countries apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -4570,7 +4570,7 @@ ETFs without Sectors apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -4798,7 +4798,7 @@ Currencies apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -5834,7 +5834,7 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -5934,7 +5934,7 @@ Do you really want to delete this asset profile? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -6134,7 +6134,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6625,6 +6625,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.tr.xlf b/apps/client/src/locales/messages.tr.xlf index c47dcedc0..f7a174eef 100644 --- a/apps/client/src/locales/messages.tr.xlf +++ b/apps/client/src/locales/messages.tr.xlf @@ -478,15 +478,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -494,7 +494,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -518,7 +518,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -682,7 +682,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -814,7 +814,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -846,11 +846,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -906,11 +906,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -998,7 +998,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1026,11 +1026,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1074,11 +1074,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1098,11 +1098,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1238,7 +1238,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1282,7 +1282,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1314,7 +1314,7 @@ Para Birimleri apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -1322,7 +1322,7 @@ Ülkesi Olmayan ETF'ler apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -1330,7 +1330,7 @@ Sektörü Olmayan ETF'ler apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -1338,7 +1338,7 @@ Filtrele... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -1346,15 +1346,15 @@ Varlık Sınıfı apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1370,15 +1370,15 @@ Varlık Alt Sınıfı apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1394,11 +1394,11 @@ İlk İşlem apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1414,7 +1414,7 @@ İşlem Sayısı apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -1422,11 +1422,11 @@ Tarihsel Veri apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -1434,7 +1434,7 @@ Sektör Sayısı apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -1442,7 +1442,7 @@ Ülke Sayısı apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -1450,7 +1450,7 @@ Son Veriyi Getir apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -1458,7 +1458,7 @@ Tüm Veriyi Getir apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -1466,7 +1466,7 @@ Profil Verisini Getir apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1494,7 +1494,7 @@ Sektör apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1506,7 +1506,7 @@ Ülke apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -1522,11 +1522,11 @@ Sektörler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1542,11 +1542,11 @@ Ülkeler apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1558,7 +1558,7 @@ Sembol Eşleştirme apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -1566,7 +1566,7 @@ Veri Toplayıcı Yapılandırması apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -1574,7 +1574,7 @@ Not apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1786,7 +1786,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2610,7 +2610,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3142,7 +3142,7 @@ Karanlık Mod apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -3154,7 +3154,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -3162,7 +3162,7 @@ Piyasa Modu apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -3170,7 +3170,7 @@ Statik Analiz apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -3178,7 +3178,7 @@ Çoklu Dil apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -3186,7 +3186,7 @@ Açık Kaynak Yazılım apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -3194,7 +3194,7 @@ Başla apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -3842,7 +3842,7 @@ İçe Aktar apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -4802,7 +4802,7 @@ Sözlük apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -5834,7 +5834,7 @@ Kıyaslama apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -5934,7 +5934,7 @@ Bu varlık profilini silmeyi gerçekten istiyor musunuz? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -6134,7 +6134,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6625,6 +6625,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.xlf b/apps/client/src/locales/messages.xlf index cf3b93035..302d21794 100644 --- a/apps/client/src/locales/messages.xlf +++ b/apps/client/src/locales/messages.xlf @@ -487,15 +487,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -503,7 +503,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -527,7 +527,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -684,7 +684,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -790,7 +790,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -854,11 +854,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -912,11 +912,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1002,7 +1002,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1029,11 +1029,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1089,11 +1089,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1112,11 +1112,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1224,7 +1224,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1267,7 +1267,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1298,50 +1298,50 @@ Currencies apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 ETFs without Countries apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 ETFs without Sectors apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 Do you really want to delete this asset profile? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 Filter by... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 Asset Class apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1356,15 +1356,15 @@ Asset Sub Class apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1379,11 +1379,11 @@ First Activity apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1398,53 +1398,53 @@ Activities Count apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 Historical Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 Sectors Count apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 Countries Count apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 Gather Recent Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 Gather All Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 Gather Profile Data apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1476,7 +1476,7 @@ Import apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1491,7 +1491,7 @@ Sector apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1502,7 +1502,7 @@ Country apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -1517,11 +1517,11 @@ Sectors apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1536,11 +1536,11 @@ Countries apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1551,28 +1551,28 @@ Benchmark apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 Symbol Mapping apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 Scraper Configuration apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 Note apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1777,7 +1777,7 @@ Url apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2581,7 +2581,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -2909,7 +2909,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -3322,42 +3322,42 @@ Dark Mode apps/client/src/app/pages/features/features-page.html - 177 + 178 Market Mood apps/client/src/app/pages/features/features-page.html - 205 + 206 Static Analysis apps/client/src/app/pages/features/features-page.html - 224 + 225 Multi-Language apps/client/src/app/pages/features/features-page.html - 241 + 242 Open Source Software apps/client/src/app/pages/features/features-page.html - 275 + 276 Get Started apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -4896,7 +4896,7 @@ Glossary apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -5577,7 +5577,7 @@ Test apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6004,6 +6004,34 @@ 81 + + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + + + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + \ No newline at end of file diff --git a/apps/client/src/locales/messages.zh.xlf b/apps/client/src/locales/messages.zh.xlf index d850e64a7..056f6f40d 100644 --- a/apps/client/src/locales/messages.zh.xlf +++ b/apps/client/src/locales/messages.zh.xlf @@ -503,15 +503,15 @@ apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html - 183 + 184 apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -519,7 +519,7 @@ apps/client/src/app/pages/blog/2022/08/500-stars-on-github/500-stars-on-github-page.html - 195 + 196 apps/client/src/app/pages/blog/2022/10/hacktoberfest-2022/hacktoberfest-2022-page.html @@ -543,7 +543,7 @@ apps/client/src/app/pages/blog/2023/03/1000-stars-on-github/1000-stars-on-github-page.html - 252 + 253 apps/client/src/app/pages/blog/2023/05/unlock-your-financial-potential-with-ghostfolio/unlock-your-financial-potential-with-ghostfolio-page.html @@ -707,7 +707,7 @@ apps/client/src/app/pages/features/features-page.html - 256 + 257 @@ -823,7 +823,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 150 + 152 apps/client/src/app/components/admin-tag/admin-tag.component.html @@ -891,11 +891,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 38 + 60 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 226 + 228 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -951,11 +951,11 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 130 + 132 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 233 + 235 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1043,7 +1043,7 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 177 + 206 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1071,11 +1071,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 196 + 227 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 62 + 64 apps/client/src/app/components/admin-overview/admin-overview.html @@ -1135,11 +1135,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 24 + 46 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 115 + 117 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1159,11 +1159,11 @@ apps/client/src/app/components/admin-market-data/admin-market-data.html - 55 + 77 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 125 + 127 apps/client/src/app/pages/portfolio/activities/create-or-update-activity-dialog/create-or-update-activity-dialog.html @@ -1283,7 +1283,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 376 + 378 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1327,7 +1327,7 @@ apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 383 + 385 apps/client/src/app/components/admin-market-data/create-asset-profile-dialog/create-asset-profile-dialog.html @@ -1359,7 +1359,7 @@ 货币 apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 73 + 79 @@ -1367,7 +1367,7 @@ 没有国家的 ETF apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 78 + 84 @@ -1375,7 +1375,7 @@ 无行业类别的 ETF apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 83 + 89 @@ -1383,7 +1383,7 @@ 您确实要删除此资产配置文件吗? apps/client/src/app/components/admin-market-data/admin-market-data.service.ts - 13 + 18 @@ -1391,7 +1391,7 @@ 过滤... apps/client/src/app/components/admin-market-data/admin-market-data.component.ts - 282 + 300 @@ -1399,15 +1399,15 @@ 资产类别 apps/client/src/app/components/admin-market-data/admin-market-data.html - 64 + 86 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 159 + 161 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 243 + 245 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1423,15 +1423,15 @@ 资产子类别 apps/client/src/app/components/admin-market-data/admin-market-data.html - 73 + 95 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 168 + 170 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 256 + 258 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1447,11 +1447,11 @@ 第一个活动 apps/client/src/app/components/admin-market-data/admin-market-data.html - 82 + 104 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 141 + 143 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1467,7 +1467,7 @@ 活动计数 apps/client/src/app/components/admin-market-data/admin-market-data.html - 91 + 113 @@ -1475,11 +1475,11 @@ 历史数据 apps/client/src/app/components/admin-market-data/admin-market-data.html - 100 + 122 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 82 + 84 @@ -1487,7 +1487,7 @@ 行业数 apps/client/src/app/components/admin-market-data/admin-market-data.html - 109 + 131 @@ -1495,7 +1495,7 @@ 国家数 apps/client/src/app/components/admin-market-data/admin-market-data.html - 118 + 140 @@ -1503,7 +1503,7 @@ 收集最近的数据 apps/client/src/app/components/admin-market-data/admin-market-data.html - 146 + 168 @@ -1511,7 +1511,7 @@ 收集所有数据 apps/client/src/app/components/admin-market-data/admin-market-data.html - 149 + 171 @@ -1519,7 +1519,7 @@ 收集个人资料数据 apps/client/src/app/components/admin-market-data/admin-market-data.html - 152 + 174 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html @@ -1555,7 +1555,7 @@ 导入 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 108 + 110 apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -1571,7 +1571,7 @@ 行业 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 185 + 187 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1583,7 +1583,7 @@ 国家 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 196 + 198 apps/client/src/app/components/admin-users/admin-users.html @@ -1599,11 +1599,11 @@ 行业 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 202 + 204 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 327 + 329 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1619,11 +1619,11 @@ 国家 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 212 + 214 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 338 + 340 apps/client/src/app/components/holding-detail-dialog/holding-detail-dialog.html @@ -1635,7 +1635,7 @@ 基准 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 284 + 286 @@ -1643,7 +1643,7 @@ 符号映射 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 290 + 292 @@ -1651,7 +1651,7 @@ 刮削配置 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 302 + 304 @@ -1659,7 +1659,7 @@ 笔记 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 363 + 365 apps/client/src/app/pages/accounts/create-or-update-account-dialog/create-or-update-account-dialog.html @@ -1891,7 +1891,7 @@ 网址 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 350 + 352 apps/client/src/app/components/admin-platform/admin-platform.component.html @@ -2783,7 +2783,7 @@ apps/client/src/app/pages/features/features-page.html - 160 + 161 apps/client/src/app/pages/pricing/pricing-page.html @@ -3147,7 +3147,7 @@ apps/client/src/app/pages/features/features-page.html - 190 + 191 @@ -3607,7 +3607,7 @@ 深色模式 apps/client/src/app/pages/features/features-page.html - 177 + 178 @@ -3615,7 +3615,7 @@ 市场情绪 apps/client/src/app/pages/features/features-page.html - 205 + 206 @@ -3623,7 +3623,7 @@ 静态分析 apps/client/src/app/pages/features/features-page.html - 224 + 225 @@ -3631,7 +3631,7 @@ 多语言 apps/client/src/app/pages/features/features-page.html - 241 + 242 @@ -3639,7 +3639,7 @@ 开源软件 apps/client/src/app/pages/features/features-page.html - 275 + 276 @@ -3647,7 +3647,7 @@ 立即开始 apps/client/src/app/pages/features/features-page.html - 300 + 301 apps/client/src/app/pages/public/public-page.html @@ -5371,7 +5371,7 @@ 词汇表 apps/client/src/app/pages/resources/resources-page.html - 92 + 124 @@ -6143,7 +6143,7 @@ 测试 apps/client/src/app/components/admin-market-data/asset-profile-dialog/asset-profile-dialog.html - 320 + 322 @@ -6626,6 +6626,38 @@ 81 + + Benchmarks + Benchmarks + + apps/client/src/app/components/admin-market-data/admin-market-data.component.ts + 74 + + + + Delete Profiles + Delete Profiles + + apps/client/src/app/components/admin-market-data/admin-market-data.html + 181 + + + + Do you really want to delete these profiles? + Do you really want to delete these profiles? + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 34 + + + + Oops! Could not delete profiles. + Oops! Could not delete profiles. + + apps/client/src/app/components/admin-market-data/admin-market-data.service.ts + 45 + + \ No newline at end of file From 423bd92b89d34c5efd263dc227356fb72cf4cba3 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Tue, 9 Jul 2024 18:44:53 +0200 Subject: [PATCH 27/28] Release 2.94.0 (#3556) --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c322a4c6b..ee0ad2fca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## Unreleased +## 2.94.0 - 2024-07-09 ### Changed diff --git a/package.json b/package.json index bad0621bd..fca0a9a0f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ghostfolio", - "version": "2.93.0", + "version": "2.94.0", "homepage": "https://ghostfol.io", "license": "AGPL-3.0", "repository": "https://github.com/ghostfolio/ghostfolio", From 890c5b986cf82245b13cd0594dc198a99075e918 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 10 Jul 2024 17:22:47 +0200 Subject: [PATCH 28/28] Feature/improve formatting of variables in README.md (#3546) --- README.md | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index ef2021b27..42c8220fc 100644 --- a/README.md +++ b/README.md @@ -87,21 +87,21 @@ We provide official container images hosted on [Docker Hub](https://hub.docker.c | Name | Type | Default Value | Description | | ------------------------ | ------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| `ACCESS_TOKEN_SALT` | string | | A random string used as salt for access tokens | -| `API_KEY_COINGECKO_DEMO` | string (`optional`) |   | The _CoinGecko_ Demo API key | -| `API_KEY_COINGECKO_PRO` | string (`optional`) | | The _CoinGecko_ Pro API key | -| `DATABASE_URL` | string | | The database connection URL, e.g. `postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?sslmode=prefer` | -| `HOST` | string (`optional`) | `0.0.0.0` | The host where the Ghostfolio application will run on | -| `JWT_SECRET_KEY` | string | | A random string used for _JSON Web Tokens_ (JWT) | -| `PORT` | number (`optional`) | `3333` | The port where the Ghostfolio application will run on | -| `POSTGRES_DB` | string | | The name of the _PostgreSQL_ database | -| `POSTGRES_PASSWORD` | string | | The password of the _PostgreSQL_ database | -| `POSTGRES_USER` | string | | The user of the _PostgreSQL_ database | -| `REDIS_DB` | number (`optional`) | `0` | The database index of _Redis_ | -| `REDIS_HOST` | string | | The host where _Redis_ is running | -| `REDIS_PASSWORD` | string | | The password of _Redis_ | -| `REDIS_PORT` | number | | The port where _Redis_ is running | -| `REQUEST_TIMEOUT` | number (`optional`) | `2000` | The timeout of network requests to data providers in milliseconds | +| `ACCESS_TOKEN_SALT` | `string` | | A random string used as salt for access tokens | +| `API_KEY_COINGECKO_DEMO` | `string` (optional) |   | The _CoinGecko_ Demo API key | +| `API_KEY_COINGECKO_PRO` | `string` (optional) | | The _CoinGecko_ Pro API key | +| `DATABASE_URL` | `string` | | The database connection URL, e.g. `postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@localhost:5432/${POSTGRES_DB}?sslmode=prefer` | +| `HOST` | `string` (optional) | `0.0.0.0` | The host where the Ghostfolio application will run on | +| `JWT_SECRET_KEY` | `string` | | A random string used for _JSON Web Tokens_ (JWT) | +| `PORT` | `number` (optional) | `3333` | The port where the Ghostfolio application will run on | +| `POSTGRES_DB` | `string` | | The name of the _PostgreSQL_ database | +| `POSTGRES_PASSWORD` | `string` | | The password of the _PostgreSQL_ database | +| `POSTGRES_USER` | `string` | | The user of the _PostgreSQL_ database | +| `REDIS_DB` | `number` (optional) | `0` | The database index of _Redis_ | +| `REDIS_HOST` | `string` | | The host where _Redis_ is running | +| `REDIS_PASSWORD` | `string` | | The password of _Redis_ | +| `REDIS_PORT` | `number` | | The port where _Redis_ is running | +| `REQUEST_TIMEOUT` | `number` (optional) | `2000` | The timeout of network requests to data providers in milliseconds | ### Run with Docker Compose @@ -233,18 +233,18 @@ Deprecated: `GET http://localhost:3333/api/v1/auth/anonymous/