diff --git a/backend/src/api/disk-cache.ts b/backend/src/api/disk-cache.ts
index 0774f0904..ec14ca076 100644
--- a/backend/src/api/disk-cache.ts
+++ b/backend/src/api/disk-cache.ts
@@ -9,6 +9,8 @@ import { TransactionExtended } from '../mempool.interfaces';
import { Common } from './common';
class DiskCache {
+ private cacheSchemaVersion = 1;
+
private static FILE_NAME = config.MEMPOOL.CACHE_DIR + '/cache.json';
private static FILE_NAMES = config.MEMPOOL.CACHE_DIR + '/cache{number}.json';
private static CHUNK_FILES = 25;
@@ -57,6 +59,13 @@ class DiskCache {
}
}
+ wipeCache() {
+ fs.unlinkSync(DiskCache.FILE_NAME);
+ for (let i = 1; i < DiskCache.CHUNK_FILES; i++) {
+ fs.unlinkSync(DiskCache.FILE_NAMES.replace('{number}', i.toString()));
+ }
+ }
+
loadMempoolCache() {
if (!fs.existsSync(DiskCache.FILE_NAME)) {
return;
@@ -67,6 +76,11 @@ class DiskCache {
if (cacheData) {
logger.info('Restoring mempool and blocks data from disk cache');
data = JSON.parse(cacheData);
+ if (data.cacheSchemaVersion === undefined || data.cacheSchemaVersion !== this.cacheSchemaVersion) {
+ logger.notice('Disk cache contains an outdated schema version. Clearing it and skipping the cache loading.');
+ return this.wipeCache();
+ }
+
if (data.mempoolArray) {
for (const tx of data.mempoolArray) {
data.mempool[tx.txid] = tx;
diff --git a/frontend/src/app/components/about/about.component.html b/frontend/src/app/components/about/about.component.html
index 88e296c2d..4a0496710 100644
--- a/frontend/src/app/components/about/about.component.html
+++ b/frontend/src/app/components/about/about.component.html
@@ -47,32 +47,6 @@
Spiral
-
-
- Gemini
-
-
-
- Exodus
-
Foundry
-
-
- Unchained
-
+ Unchained
+
+
+
+ Gemini
+
+
+
+ Exodus
+
diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf
index 8ea9d70cf..661540a6f 100644
--- a/frontend/src/locale/messages.xlf
+++ b/frontend/src/locale/messages.xlf
@@ -398,7 +398,7 @@
src/app/components/blocks-list/blocks-list.component.html
- 13,14
+ 14,15
src/app/components/pool/pool.component.html
@@ -406,7 +406,7 @@
src/app/components/pool/pool.component.html
- 261,263
+ 260,262
src/app/components/transaction/transaction.component.html
@@ -454,7 +454,7 @@
src/app/components/blocks-list/blocks-list.component.html
- 11,12
+ 12,13
src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html
@@ -466,7 +466,7 @@
src/app/components/pool/pool.component.html
- 260,262
+ 259,261
src/app/dashboard/dashboard.component.html
@@ -498,11 +498,11 @@
src/app/components/blocks-list/blocks-list.component.html
- 18,19
+ 19,20
src/app/components/mempool-block/mempool-block.component.html
- 28,32
+ 29,33
Bisq block transactions title
@@ -518,7 +518,7 @@
src/app/components/blocks-list/blocks-list.component.html
- 4,9
+ 4,7
src/app/components/liquid-master-page/liquid-master-page.component.html
@@ -526,7 +526,7 @@
src/app/components/master-page/master-page.component.html
- 38,40
+ 39,41
src/app/components/pool-ranking/pool-ranking.component.html
@@ -699,7 +699,7 @@
src/app/components/about/about.component.html
- 361,365
+ 383,387
src/app/dashboard/dashboard.component.html
@@ -833,11 +833,11 @@
src/app/components/pool/pool.component.html
- 338,340
+ 337,339
src/app/components/pool/pool.component.html
- 349,352
+ 348,351
BSQ addresses
@@ -940,7 +940,7 @@
src/app/components/transactions-list/transactions-list.component.html
- 249,251
+ 252,254
@@ -969,6 +969,10 @@
src/app/bisq/bisq-transaction/bisq-transaction.component.html
111,117
+
+ src/app/components/mempool-block/mempool-block.component.html
+ 45,47
+
src/app/components/transaction/transaction.component.html
13,16
@@ -992,7 +996,7 @@
src/app/components/transactions-list/transactions-list.component.html
- 277,278
+ 280,281
Transaction singular confirmation count
shared.confirmation-count.singular
@@ -1020,7 +1024,7 @@
src/app/components/transactions-list/transactions-list.component.html
- 278,279
+ 281,282
Transaction plural confirmation count
shared.confirmation-count.plural
@@ -1300,7 +1304,7 @@
Become a sponsor ❤️
src/app/components/about/about.component.html
- 33,34
+ 30,31
about.become-a-sponsor
@@ -1308,7 +1312,7 @@
Navigate to https://mempool.space/sponsor to sponsor
src/app/components/about/about.component.html
- 34
+ 31
src/app/components/sponsor/sponsor.component.html
@@ -1320,7 +1324,7 @@
Enterprise Sponsors 🚀
src/app/components/about/about.component.html
- 38,41
+ 35,38
about.sponsors.enterprise.withRocket
@@ -1328,7 +1332,7 @@
Community Sponsors ❤️
src/app/components/about/about.component.html
- 159,162
+ 181,184
about.sponsors.withHeart
@@ -1336,7 +1340,7 @@
Self-Hosted Integrations
src/app/components/about/about.component.html
- 173,175
+ 195,197
about.self-hosted-integrations
@@ -1344,7 +1348,7 @@
Wallet Integrations
src/app/components/about/about.component.html
- 207,209
+ 229,231
about.wallet-integrations
@@ -1352,7 +1356,7 @@
Community Alliances
src/app/components/about/about.component.html
- 261,263
+ 283,285
about.alliances
@@ -1360,7 +1364,7 @@
Project Translators
src/app/components/about/about.component.html
- 277,279
+ 299,301
about.translators
@@ -1368,7 +1372,7 @@
Project Contributors
src/app/components/about/about.component.html
- 291,293
+ 313,315
about.contributors
@@ -1376,7 +1380,7 @@
Project Members
src/app/components/about/about.component.html
- 303,305
+ 325,327
about.project_members
@@ -1384,7 +1388,7 @@
Project Maintainers
src/app/components/about/about.component.html
- 316,318
+ 338,340
about.maintainers
@@ -1404,7 +1408,7 @@
src/app/components/master-page/master-page.component.html
- 50,53
+ 51,54
@@ -1474,7 +1478,7 @@
src/app/components/transactions-list/transactions-list.component.html
- 285,287
+ 288,290
src/app/dashboard/dashboard.component.html
@@ -1678,11 +1682,11 @@
src/app/components/pool/pool.component.html
- 429,431
+ 428,430
src/app/components/pool/pool.component.html
- 455,457
+ 454,456
@@ -1757,7 +1761,7 @@
src/app/components/master-page/master-page.component.html
- 8,9
+ 9,10
master-page.offline
@@ -1773,7 +1777,7 @@
src/app/components/master-page/master-page.component.html
- 9,14
+ 10,15
master-page.reconnecting
@@ -1789,7 +1793,7 @@
src/app/components/master-page/master-page.component.html
- 22,23
+ 23,24
master-page.layer2-networks-header
@@ -1805,7 +1809,7 @@
src/app/components/master-page/master-page.component.html
- 32,34
+ 33,35
master-page.dashboard
@@ -1869,7 +1873,7 @@
src/app/components/blocks-list/blocks-list.component.html
- 16,17
+ 17,18
src/app/components/pool/pool.component.html
@@ -1877,7 +1881,7 @@
src/app/components/pool/pool.component.html
- 265,267
+ 264,266
@@ -1904,7 +1908,7 @@
src/app/components/blocks-list/blocks-list.component.html
- 15,16
+ 16,17
src/app/components/pool/pool.component.html
@@ -1912,7 +1916,7 @@
src/app/components/pool/pool.component.html
- 264,266
+ 263,265
@@ -1947,11 +1951,11 @@
src/app/components/blocks-list/blocks-list.component.html
- 19,21
+ 20,22
src/app/components/mempool-block/mempool-block.component.html
- 32,35
+ 33,36
src/app/components/mempool-graph/mempool-graph.component.ts
@@ -1963,7 +1967,7 @@
src/app/components/pool/pool.component.html
- 267,271
+ 266,270
src/app/components/transaction/transaction.component.html
@@ -2005,7 +2009,7 @@
src/app/components/mempool-block/mempool-block.component.ts
- 71
+ 75
Next Block
@@ -2025,7 +2029,7 @@
src/app/components/mempool-block/mempool-block.component.html
- 16,17
+ 17,18
block.median-fee
@@ -2045,23 +2049,31 @@
src/app/components/fees-box/fees-box.component.html
- 6
+ 16
src/app/components/fees-box/fees-box.component.html
- 12
+ 22
src/app/components/fees-box/fees-box.component.html
+ 27
+
+
+ src/app/components/fees-box/fees-box.component.html
+ 32
+
+
+ src/app/components/mempool-block/mempool-block.component.html
18
src/app/components/mempool-block/mempool-block.component.html
- 17
+ 22,25
src/app/components/mempool-block/mempool-block.component.html
- 21,24
+ 61,65
src/app/components/mempool-blocks/mempool-blocks.component.html
@@ -2089,7 +2101,7 @@
src/app/components/transactions-list/transactions-list.component.html
- 269
+ 272
src/app/dashboard/dashboard.component.html
@@ -2110,19 +2122,23 @@
src/app/components/fees-box/fees-box.component.html
- 5,6
+ 15,16
src/app/components/fees-box/fees-box.component.html
- 11,12
+ 21,22
src/app/components/fees-box/fees-box.component.html
- 17,18
+ 26,27
+
+
+ src/app/components/fees-box/fees-box.component.html
+ 31,32
src/app/components/mempool-block/mempool-block.component.html
- 17,20
+ 18,21
Transaction fee tooltip
@@ -2138,7 +2154,7 @@
src/app/components/mempool-block/mempool-block.component.html
- 24,25
+ 25,26
Total fees in a block
block.total-fees
@@ -2260,7 +2276,7 @@
Pool
src/app/components/blocks-list/blocks-list.component.html
- 12,13
+ 13,14
src/app/components/pool-ranking/pool-ranking.component.html
@@ -2276,7 +2292,7 @@
Mined
src/app/components/blocks-list/blocks-list.component.html
- 14,15
+ 15,16
src/app/components/pool/pool.component.html
@@ -2284,7 +2300,7 @@
src/app/components/pool/pool.component.html
- 262,263
+ 261,262
src/app/dashboard/dashboard.component.html
@@ -2296,7 +2312,7 @@
TXs
src/app/components/blocks-list/blocks-list.component.html
- 18
+ 19
src/app/components/pool/pool.component.html
@@ -2304,7 +2320,7 @@
src/app/components/pool/pool.component.html
- 267,269
+ 266,268
src/app/dashboard/dashboard.component.html
@@ -2441,40 +2457,52 @@
difficulty-box.next-halving
-
- Low priority
+
+ No Priority
src/app/components/fees-box/fees-box.component.html
- 4,5
-
-
- src/app/components/fees-box/fees-box.component.html
- 27,30
-
- fees-box.low-priority
-
-
- Medium priority
-
- src/app/components/fees-box/fees-box.component.html
- 10,11
-
-
- src/app/components/fees-box/fees-box.component.html
- 34,37
-
- fees-box.medium-priority
-
-
- High priority
-
- src/app/components/fees-box/fees-box.component.html
- 16,17
+ 4,7
src/app/components/fees-box/fees-box.component.html
41,44
+ fees-box.no-priority
+
+
+ Low Priority
+
+ src/app/components/fees-box/fees-box.component.html
+ 8,9
+
+
+ src/app/components/fees-box/fees-box.component.html
+ 45,46
+
+ fees-box.low-priority
+
+
+ Medium Priority
+
+ src/app/components/fees-box/fees-box.component.html
+ 9,11
+
+
+ src/app/components/fees-box/fees-box.component.html
+ 46,48
+
+ fees-box.medium-priority
+
+
+ High Priority
+
+ src/app/components/fees-box/fees-box.component.html
+ 10,15
+
+
+ src/app/components/fees-box/fees-box.component.html
+ 47,51
+
fees-box.high-priority
@@ -2644,7 +2672,7 @@
src/app/components/master-page/master-page.component.html
- 41,43
+ 42,44
src/app/components/statistics/statistics.component.ts
@@ -2656,7 +2684,7 @@
Mining Dashboard
src/app/components/master-page/master-page.component.html
- 35,37
+ 36,38
src/app/components/mining-dashboard/mining-dashboard.component.ts
@@ -2668,7 +2696,7 @@
TV view
src/app/components/master-page/master-page.component.html
- 44,46
+ 45,47
src/app/components/television/television.component.ts
@@ -2680,7 +2708,7 @@
Documentation
src/app/components/master-page/master-page.component.html
- 47,49
+ 48,50
src/app/docs/docs/docs.component.html
@@ -2692,22 +2720,95 @@
Fee span
src/app/components/mempool-block/mempool-block.component.html
- 20,21
+ 21,22
mempool-block.fee-span
+
+ Value
+
+ src/app/components/mempool-block/mempool-block.component.html
+ 51,54
+
+ Transaction value
+ transaction.value
+
+
+ Fee
+
+ src/app/components/mempool-block/mempool-block.component.html
+ 56
+
+
+ src/app/components/transaction/transaction.component.html
+ 386
+
+ Transaction fee
+ transaction.fee
+
+
+ sat
+
+ src/app/components/mempool-block/mempool-block.component.html
+ 56,57
+
+
+ src/app/components/transaction/transaction.component.html
+ 386,387
+
+
+ src/app/components/transactions-list/transactions-list.component.html
+ 272,273
+
+ sat
+ shared.sat
+
+
+ Fee rate
+
+ src/app/components/mempool-block/mempool-block.component.html
+ 59,61
+
+
+ src/app/components/transaction/transaction.component.html
+ 154,158
+
+
+ src/app/components/transaction/transaction.component.html
+ 389,391
+
+ Transaction fee rate
+ transaction.fee-rate
+
+
+ Virtual size
+
+ src/app/components/mempool-block/mempool-block.component.html
+ 65,68
+
+
+ src/app/components/transaction/transaction.component.html
+ 153,155
+
+
+ src/app/components/transaction/transaction.component.html
+ 216,219
+
+ Transaction Virtual Size
+ transaction.vsize
+
Stack of mempool blocks
src/app/components/mempool-block/mempool-block.component.ts
- 73
+ 77
Mempool block
src/app/components/mempool-block/mempool-block.component.ts
- 75
+ 79
@@ -2850,11 +2951,11 @@
src/app/components/pool/pool.component.html
- 321,323
+ 320,322
src/app/components/pool/pool.component.html
- 329,331
+ 328,330
mining.tags
@@ -2870,11 +2971,11 @@
src/app/components/transactions-list/transactions-list.component.html
- 148,151
+ 151,154
src/app/components/transactions-list/transactions-list.component.html
- 259,261
+ 262,264
show-all
@@ -2898,11 +2999,11 @@
src/app/components/pool/pool.component.html
- 368,370
+ 367,369
src/app/components/pool/pool.component.html
- 395,397
+ 394,396
mining.hashrate-24h
@@ -2918,11 +3019,11 @@
src/app/components/pool/pool.component.html
- 373,374
+ 372,373
src/app/components/pool/pool.component.html
- 399,400
+ 398,399
mining.estimated
@@ -2938,11 +3039,11 @@
src/app/components/pool/pool.component.html
- 374,375
+ 373,374
src/app/components/pool/pool.component.html
- 400,401
+ 399,400
mining.reported
@@ -2958,11 +3059,11 @@
src/app/components/pool/pool.component.html
- 375,378
+ 374,377
src/app/components/pool/pool.component.html
- 401,404
+ 400,403
mining.luck
@@ -2978,11 +3079,11 @@
src/app/components/pool/pool.component.html
- 421,423
+ 420,422
src/app/components/pool/pool.component.html
- 448,450
+ 447,449
mining.mined-blocks
@@ -3018,7 +3119,7 @@
src/app/components/pool/pool.component.html
- 263,265
+ 262,264
latest-blocks.coinbasetag
@@ -3425,7 +3526,7 @@
src/app/components/transactions-list/transactions-list.component.html
- 281,284
+ 284,287
Transaction unconfirmed state
transaction.unconfirmed
@@ -3457,32 +3558,6 @@
Transaction ETA in several hours or more
transaction.eta.in-several-hours
-
- Virtual size
-
- src/app/components/transaction/transaction.component.html
- 153,155
-
-
- src/app/components/transaction/transaction.component.html
- 216,219
-
- Transaction Virtual Size
- transaction.vsize
-
-
- Fee rate
-
- src/app/components/transaction/transaction.component.html
- 154,158
-
-
- src/app/components/transaction/transaction.component.html
- 389,391
-
- Transaction fee rate
- transaction.fee-rate
-
Descendant
@@ -3525,28 +3600,6 @@
transaction.error.waiting-for-it-to-appear
-
- Fee
-
- src/app/components/transaction/transaction.component.html
- 386
-
- Transaction fee
- transaction.fee
-
-
- sat
-
- src/app/components/transaction/transaction.component.html
- 386,387
-
-
- src/app/components/transactions-list/transactions-list.component.html
- 269,270
-
- sat
- shared.sat
-
Effective fee rate
@@ -3584,7 +3637,7 @@
ScriptSig (ASM)
src/app/components/transactions-list/transactions-list.component.html
- 104,106
+ 107,109
ScriptSig (ASM)
transactions-list.scriptsig.asm
@@ -3593,7 +3646,7 @@
ScriptSig (HEX)
src/app/components/transactions-list/transactions-list.component.html
- 108,111
+ 111,114
ScriptSig (HEX)
transactions-list.scriptsig.hex
@@ -3602,7 +3655,7 @@
Witness
src/app/components/transactions-list/transactions-list.component.html
- 113,115
+ 116,118
transactions-list.witness
@@ -3610,7 +3663,7 @@
P2SH redeem script
src/app/components/transactions-list/transactions-list.component.html
- 117,118
+ 120,121
transactions-list.p2sh-redeem-script
@@ -3618,7 +3671,7 @@
P2TR tapscript
src/app/components/transactions-list/transactions-list.component.html
- 121,123
+ 124,126
transactions-list.p2tr-tapscript
@@ -3626,7 +3679,7 @@
P2WSH witness script
src/app/components/transactions-list/transactions-list.component.html
- 123,125
+ 126,128
transactions-list.p2wsh-witness-script
@@ -3634,7 +3687,7 @@
nSequence
src/app/components/transactions-list/transactions-list.component.html
- 128,130
+ 131,133
transactions-list.nsequence
@@ -3642,7 +3695,7 @@
Previous output script
src/app/components/transactions-list/transactions-list.component.html
- 133,134
+ 136,137
transactions-list.previous-output-script
@@ -3650,7 +3703,7 @@
Previous output type
src/app/components/transactions-list/transactions-list.component.html
- 137,138
+ 140,141
transactions-list.previous-output-type
@@ -3658,7 +3711,7 @@
Peg-out to
src/app/components/transactions-list/transactions-list.component.html
- 176,177
+ 179,180
transactions-list.peg-out-to
@@ -3666,7 +3719,7 @@
ScriptPubKey (ASM)
src/app/components/transactions-list/transactions-list.component.html
- 237,239
+ 240,242
ScriptPubKey (ASM)
transactions-list.scriptpubkey.asm
@@ -3675,7 +3728,7 @@
ScriptPubKey (HEX)
src/app/components/transactions-list/transactions-list.component.html
- 241,244
+ 244,247
ScriptPubKey (HEX)
transactions-list.scriptpubkey.hex
@@ -3684,7 +3737,7 @@
Show all inputs to reveal fee data
src/app/components/transactions-list/transactions-list.component.html
- 271,274
+ 274,277
transactions-list.load-to-reveal-fee-info
diff --git a/frontend/src/resources/screenshots/v2.4.0-dashboard.png b/frontend/src/resources/screenshots/v2.4.0-dashboard.png
index 7fa95e441..472e6f615 100644
Binary files a/frontend/src/resources/screenshots/v2.4.0-dashboard.png and b/frontend/src/resources/screenshots/v2.4.0-dashboard.png differ