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); }