From a5dd141934ec536f5733192584f071d0fc6a16d8 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Tue, 14 Mar 2023 15:39:15 +0900 Subject: [PATCH] Don't fetch prices on signet/testnet, always show 0 --- backend/src/api/database-migration.ts | 7 ++++++- backend/src/tasks/price-updater.ts | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index 1ef31c90b..ab38b0543 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -7,7 +7,7 @@ import cpfpRepository from '../repositories/CpfpRepository'; import { RowDataPacket } from 'mysql2'; class DatabaseMigration { - private static currentVersion = 58; + private static currentVersion = 59; private queryTimeout = 3600_000; private statisticsAddedIndexed = false; private uniqueLogs: string[] = []; @@ -510,6 +510,11 @@ class DatabaseMigration { // We only run some migration queries for this version await this.updateToSchemaVersion(58); } + + if (databaseSchemaVersion < 59 && (config.MEMPOOL.NETWORK === 'signet' || config.MEMPOOL.NETWORK === 'testnet')) { + // https://github.com/mempool/mempool/issues/3360 + await this.$executeQuery(`TRUNCATE prices`); + } } /** diff --git a/backend/src/tasks/price-updater.ts b/backend/src/tasks/price-updater.ts index ccb8d3e68..716ac9ee6 100644 --- a/backend/src/tasks/price-updater.ts +++ b/backend/src/tasks/price-updater.ts @@ -73,6 +73,11 @@ class PriceUpdater { } public async $run(): Promise { + if (config.MEMPOOL.NETWORK === 'signet' || config.MEMPOOL.NETWORK === 'testnet') { + // Coins have no value on testnet/signet, so we want to always show 0 + return; + } + if (this.running === true) { return; } @@ -88,7 +93,7 @@ class PriceUpdater { if (this.historyInserted === false && config.DATABASE.ENABLED === true) { await this.$insertHistoricalPrices(); } - } catch (e) { + } catch (e: any) { logger.err(`Cannot save BTC prices in db. Reason: ${e instanceof Error ? e.message : e}`, logger.tags.mining); }