From 59f08247ef4b9c8ed317f5a1ac85a95c0b1db3c1 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 17 Feb 2023 18:58:05 -0600 Subject: [PATCH 01/44] Reduce data sent to mempool block 7 subscription --- backend/src/api/mempool-blocks.ts | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/backend/src/api/mempool-blocks.ts b/backend/src/api/mempool-blocks.ts index 0df125d55..3c2feb0e2 100644 --- a/backend/src/api/mempool-blocks.ts +++ b/backend/src/api/mempool-blocks.ts @@ -97,14 +97,14 @@ class MempoolBlocks { blockSize += tx.size; transactions.push(tx); } else { - mempoolBlocks.push(this.dataToMempoolBlocks(transactions, blockSize, blockWeight, mempoolBlocks.length)); + mempoolBlocks.push(this.dataToMempoolBlocks(transactions, mempoolBlocks.length)); blockWeight = tx.weight; blockSize = tx.size; transactions = [tx]; } }); if (transactions.length) { - mempoolBlocks.push(this.dataToMempoolBlocks(transactions, blockSize, blockWeight, mempoolBlocks.length)); + mempoolBlocks.push(this.dataToMempoolBlocks(transactions, mempoolBlocks.length)); } return mempoolBlocks; @@ -281,7 +281,7 @@ class MempoolBlocks { const mempoolBlocks = blocks.map((transactions, blockIndex) => { return this.dataToMempoolBlocks(transactions.map(tx => { return mempool[tx.txid] || null; - }).filter(tx => !!tx), undefined, undefined, blockIndex); + }).filter(tx => !!tx), blockIndex); }); if (saveResults) { @@ -293,18 +293,17 @@ class MempoolBlocks { return mempoolBlocks; } - private dataToMempoolBlocks(transactions: TransactionExtended[], - blockSize: number | undefined, blockWeight: number | undefined, blocksIndex: number): MempoolBlockWithTransactions { - let totalSize = blockSize || 0; - let totalWeight = blockWeight || 0; - if (blockSize === undefined && blockWeight === undefined) { - totalSize = 0; - totalWeight = 0; - transactions.forEach(tx => { - totalSize += tx.size; - totalWeight += tx.weight; - }); - } + private dataToMempoolBlocks(transactions: TransactionExtended[], blocksIndex: number): MempoolBlockWithTransactions { + let totalSize = 0; + let totalWeight = 0; + const fitTransactions: TransactionExtended[] = []; + transactions.forEach(tx => { + totalSize += tx.size; + totalWeight += tx.weight; + if ((totalWeight + tx.weight) <= config.MEMPOOL.BLOCK_WEIGHT_UNITS * 1.2) { + fitTransactions.push(tx); + } + }); let rangeLength = 4; if (blocksIndex === 0) { rangeLength = 8; @@ -322,7 +321,7 @@ class MempoolBlocks { medianFee: Common.percentile(transactions.map((tx) => tx.effectiveFeePerVsize), config.MEMPOOL.RECOMMENDED_FEE_PERCENTILE), feeRange: Common.getFeesInRange(transactions, rangeLength), transactionIds: transactions.map((tx) => tx.txid), - transactions: transactions.map((tx) => Common.stripTransaction(tx)), + transactions: fitTransactions.map((tx) => Common.stripTransaction(tx)), }; } } From 8aebcf3e570ecd5aad90218c906a45ba9584baea Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 25 Feb 2023 11:28:44 +0900 Subject: [PATCH 02/44] Remove mining db stats - replaced by runtime state variable --- backend/src/api/database-migration.ts | 12 +++++++++- backend/src/api/mining/mining.ts | 24 +++++++++---------- backend/src/index.ts | 3 --- backend/src/indexer.ts | 12 ---------- .../src/repositories/HashratesRepository.ts | 23 ++++-------------- 5 files changed, 28 insertions(+), 46 deletions(-) diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index f4801deb6..6216e7f2b 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 = 57; + private static currentVersion = 58; private queryTimeout = 3600_000; private statisticsAddedIndexed = false; private uniqueLogs: string[] = []; @@ -505,6 +505,11 @@ class DatabaseMigration { await this.$executeQuery(`ALTER TABLE nodes MODIFY updated_at datetime NULL`); await this.updateToSchemaVersion(57); } + + if (databaseSchemaVersion < 58) { + // We only run some migration queries for this version + await this.updateToSchemaVersion(58); + } } /** @@ -632,6 +637,11 @@ class DatabaseMigration { queries.push(`INSERT INTO state(name, number, string) VALUES ('last_weekly_hashrates_indexing', 0, NULL)`); } + if (version < 55) { + queries.push(`DELETE FROM state WHERE name = 'last_hashrates_indexing'`); + queries.push(`DELETE FROM state WHERE name = 'last_weekly_hashrates_indexing'`); + } + return queries; } diff --git a/backend/src/api/mining/mining.ts b/backend/src/api/mining/mining.ts index f33a68dcb..347752f99 100644 --- a/backend/src/api/mining/mining.ts +++ b/backend/src/api/mining/mining.ts @@ -13,10 +13,9 @@ import BlocksAuditsRepository from '../../repositories/BlocksAuditsRepository'; import PricesRepository from '../../repositories/PricesRepository'; class Mining { - blocksPriceIndexingRunning = false; - - constructor() { - } + private blocksPriceIndexingRunning = false; + public lastHashrateIndexingDate: number | null = null; + public lastWeeklyHashrateIndexingDate: number | null = null; /** * Get historical block predictions match rate @@ -176,13 +175,14 @@ class Mining { */ public async $generatePoolHashrateHistory(): Promise { const now = new Date(); - const lastestRunDate = await HashratesRepository.$getLatestRun('last_weekly_hashrates_indexing'); // Run only if: - // * lastestRunDate is set to 0 (node backend restart, reorg) + // * this.lastWeeklyHashrateIndexingDate is set to null (node backend restart, reorg) // * we started a new week (around Monday midnight) - const runIndexing = lastestRunDate === 0 || now.getUTCDay() === 1 && lastestRunDate !== now.getUTCDate(); + const runIndexing = this.lastWeeklyHashrateIndexingDate === null || + now.getUTCDay() === 1 && this.lastWeeklyHashrateIndexingDate !== now.getUTCDate(); if (!runIndexing) { + logger.debug(`Pool hashrate history indexing is up to date, nothing to do`, logger.tags.mining); return; } @@ -264,7 +264,7 @@ class Mining { ++indexedThisRun; ++totalIndexed; } - await HashratesRepository.$setLatestRun('last_weekly_hashrates_indexing', new Date().getUTCDate()); + this.lastWeeklyHashrateIndexingDate = new Date().getUTCDate(); if (newlyIndexed > 0) { logger.notice(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed}`, logger.tags.mining); } else { @@ -283,9 +283,9 @@ class Mining { */ public async $generateNetworkHashrateHistory(): Promise { // We only run this once a day around midnight - const latestRunDate = await HashratesRepository.$getLatestRun('last_hashrates_indexing'); - const now = new Date().getUTCDate(); - if (now === latestRunDate) { + const today = new Date().getUTCDate(); + if (today === this.lastHashrateIndexingDate) { + logger.debug(`Network hashrate history indexing is up to date, nothing to do`, logger.tags.mining); return; } @@ -369,7 +369,7 @@ class Mining { newlyIndexed += hashrates.length; await HashratesRepository.$saveHashrates(hashrates); - await HashratesRepository.$setLatestRun('last_hashrates_indexing', new Date().getUTCDate()); + this.lastHashrateIndexingDate = new Date().getUTCDate(); if (newlyIndexed > 0) { logger.notice(`Daily network hashrate indexing completed: indexed ${newlyIndexed} days`, logger.tags.mining); } else { diff --git a/backend/src/index.ts b/backend/src/index.ts index 6f259a2bd..05c2ffa83 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -87,9 +87,6 @@ class Server { await databaseMigration.$blocksReindexingTruncate(); } await databaseMigration.$initializeOrMigrateDatabase(); - if (Common.indexingEnabled()) { - await indexer.$resetHashratesIndexingState(); - } } catch (e) { throw new Error(e instanceof Error ? e.message : 'Error'); } diff --git a/backend/src/indexer.ts b/backend/src/indexer.ts index 41c8024e0..1665e443f 100644 --- a/backend/src/indexer.ts +++ b/backend/src/indexer.ts @@ -3,7 +3,6 @@ import blocks from './api/blocks'; import mempool from './api/mempool'; import mining from './api/mining/mining'; import logger from './logger'; -import HashratesRepository from './repositories/HashratesRepository'; import bitcoinClient from './api/bitcoin/bitcoin-client'; import priceUpdater from './tasks/price-updater'; import PricesRepository from './repositories/PricesRepository'; @@ -131,7 +130,6 @@ class Indexer { this.runSingleTask('blocksPrices'); await mining.$indexDifficultyAdjustments(); - await this.$resetHashratesIndexingState(); // TODO - Remove this as it's not efficient await mining.$generateNetworkHashrateHistory(); await mining.$generatePoolHashrateHistory(); await blocks.$generateBlocksSummariesDatabase(); @@ -150,16 +148,6 @@ class Indexer { logger.debug(`Indexing completed. Next run planned at ${new Date(new Date().getTime() + runEvery).toUTCString()}`); setTimeout(() => this.reindex(), runEvery); } - - async $resetHashratesIndexingState(): Promise { - try { - await HashratesRepository.$setLatestRun('last_hashrates_indexing', 0); - await HashratesRepository.$setLatestRun('last_weekly_hashrates_indexing', 0); - } catch (e) { - logger.err(`Cannot reset hashrate indexing timestamps. Reason: ` + (e instanceof Error ? e.message : e)); - throw e; - } - } } export default new Indexer(); diff --git a/backend/src/repositories/HashratesRepository.ts b/backend/src/repositories/HashratesRepository.ts index e5a193477..c380e87d9 100644 --- a/backend/src/repositories/HashratesRepository.ts +++ b/backend/src/repositories/HashratesRepository.ts @@ -1,5 +1,6 @@ import { escape } from 'mysql2'; import { Common } from '../api/common'; +import mining from '../api/mining/mining'; import DB from '../database'; import logger from '../logger'; import PoolsRepository from './PoolsRepository'; @@ -177,20 +178,6 @@ class HashratesRepository { } } - /** - * Set latest run timestamp - */ - public async $setLatestRun(key: string, val: number) { - const query = `UPDATE state SET number = ? WHERE name = ?`; - - try { - await DB.query(query, [val, key]); - } catch (e) { - logger.err(`Cannot set last indexing run for ${key}. Reason: ` + (e instanceof Error ? e.message : e)); - throw e; - } - } - /** * Get latest run timestamp */ @@ -222,8 +209,8 @@ class HashratesRepository { await DB.query(`DELETE FROM hashrates WHERE hashrate_timestamp = ?`, [row.timestamp]); } // Re-run the hashrate indexing to fill up missing data - await this.$setLatestRun('last_hashrates_indexing', 0); - await this.$setLatestRun('last_weekly_hashrates_indexing', 0); + mining.lastHashrateIndexingDate = null; + mining.lastWeeklyHashrateIndexingDate = null; } catch (e) { logger.err('Cannot delete latest hashrates data points. Reason: ' + (e instanceof Error ? e.message : e)); } @@ -238,8 +225,8 @@ class HashratesRepository { try { await DB.query(`DELETE FROM hashrates WHERE hashrate_timestamp >= FROM_UNIXTIME(?)`, [timestamp]); // Re-run the hashrate indexing to fill up missing data - await this.$setLatestRun('last_hashrates_indexing', 0); - await this.$setLatestRun('last_weekly_hashrates_indexing', 0); + mining.lastHashrateIndexingDate = null; + mining.lastWeeklyHashrateIndexingDate = null; } catch (e) { logger.err('Cannot delete latest hashrates data points. Reason: ' + (e instanceof Error ? e.message : e)); } From 7ea2d3b8080607a61cfa3ceace0f70b5273a3dfd Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 3 Mar 2023 13:59:17 +0900 Subject: [PATCH 03/44] Use core to fetch block because esplora/electrs still return integer difficulty --- backend/src/api/bitcoin/bitcoin.routes.ts | 4 ++-- backend/src/api/blocks.ts | 14 +++++++------- backend/src/api/database-migration.ts | 1 + backend/src/api/mining/mining.ts | 8 ++++---- .../DifficultyAdjustmentsRepository.ts | 1 - 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin.routes.ts b/backend/src/api/bitcoin/bitcoin.routes.ts index 2fc497650..2d5077bc4 100644 --- a/backend/src/api/bitcoin/bitcoin.routes.ts +++ b/backend/src/api/bitcoin/bitcoin.routes.ts @@ -6,7 +6,7 @@ import websocketHandler from '../websocket-handler'; import mempool from '../mempool'; import feeApi from '../fee-api'; import mempoolBlocks from '../mempool-blocks'; -import bitcoinApi from './bitcoin-api-factory'; +import bitcoinApi, { bitcoinCoreApi } from './bitcoin-api-factory'; import { Common } from '../common'; import backendInfo from '../backend-info'; import transactionUtils from '../transaction-utils'; @@ -469,7 +469,7 @@ class BitcoinRoutes { returnBlocks.push(localBlock); nextHash = localBlock.previousblockhash; } else { - const block = await bitcoinApi.$getBlock(nextHash); + const block = await bitcoinCoreApi.$getBlock(nextHash); returnBlocks.push(block); nextHash = block.previousblockhash; } diff --git a/backend/src/api/blocks.ts b/backend/src/api/blocks.ts index aa33f1ff7..ea2985b4f 100644 --- a/backend/src/api/blocks.ts +++ b/backend/src/api/blocks.ts @@ -1,5 +1,5 @@ import config from '../config'; -import bitcoinApi from './bitcoin/bitcoin-api-factory'; +import bitcoinApi, { bitcoinCoreApi } from './bitcoin/bitcoin-api-factory'; import logger from '../logger'; import memPool from './mempool'; import { BlockExtended, BlockExtension, BlockSummary, PoolTag, TransactionExtended, TransactionStripped, TransactionMinerInfo } from '../mempool.interfaces'; @@ -484,7 +484,7 @@ class Blocks { loadingIndicators.setProgress('block-indexing', progress, false); } const blockHash = await bitcoinApi.$getBlockHash(blockHeight); - const block: IEsploraApi.Block = await bitcoinApi.$getBlock(blockHash); + const block: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(blockHash); const transactions = await this.$getTransactionsExtended(blockHash, block.height, true, true); const blockExtended = await this.$getBlockExtended(block, transactions); @@ -532,13 +532,13 @@ class Blocks { if (blockchainInfo.blocks === blockchainInfo.headers) { const heightDiff = blockHeightTip % 2016; const blockHash = await bitcoinApi.$getBlockHash(blockHeightTip - heightDiff); - const block: IEsploraApi.Block = await bitcoinApi.$getBlock(blockHash); + const block: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(blockHash); this.lastDifficultyAdjustmentTime = block.timestamp; this.currentDifficulty = block.difficulty; if (blockHeightTip >= 2016) { const previousPeriodBlockHash = await bitcoinApi.$getBlockHash(blockHeightTip - heightDiff - 2016); - const previousPeriodBlock: IEsploraApi.Block = await bitcoinApi.$getBlock(previousPeriodBlockHash); + const previousPeriodBlock: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(previousPeriodBlockHash); this.previousDifficultyRetarget = (block.difficulty - previousPeriodBlock.difficulty) / previousPeriodBlock.difficulty * 100; logger.debug(`Initial difficulty adjustment data set.`); } @@ -662,7 +662,7 @@ class Blocks { } const blockHash = await bitcoinApi.$getBlockHash(height); - const block: IEsploraApi.Block = await bitcoinApi.$getBlock(blockHash); + const block: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(blockHash); const transactions = await this.$getTransactionsExtended(blockHash, block.height, true); const blockExtended = await this.$getBlockExtended(block, transactions); @@ -685,11 +685,11 @@ class Blocks { // Not Bitcoin network, return the block as it from the bitcoin backend if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false) { - return await bitcoinApi.$getBlock(hash); + return await bitcoinCoreApi.$getBlock(hash); } // Bitcoin network, add our custom data on top - const block: IEsploraApi.Block = await bitcoinApi.$getBlock(hash); + const block: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(hash); return await this.$indexBlock(block.height); } diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index d40637e74..b9c50645d 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -1023,6 +1023,7 @@ class DatabaseMigration { await this.$executeQuery(`TRUNCATE blocks`); await this.$executeQuery(`TRUNCATE hashrates`); + await this.$executeQuery(`TRUNCATE difficulty_adjustments`); await this.$executeQuery('DELETE FROM `pools`'); await this.$executeQuery('ALTER TABLE pools AUTO_INCREMENT = 1'); await this.$executeQuery(`UPDATE state SET string = NULL WHERE name = 'pools_json_sha'`); diff --git a/backend/src/api/mining/mining.ts b/backend/src/api/mining/mining.ts index e9b569485..eca29a609 100644 --- a/backend/src/api/mining/mining.ts +++ b/backend/src/api/mining/mining.ts @@ -11,7 +11,7 @@ import DifficultyAdjustmentsRepository from '../../repositories/DifficultyAdjust import config from '../../config'; import BlocksAuditsRepository from '../../repositories/BlocksAuditsRepository'; import PricesRepository from '../../repositories/PricesRepository'; -import bitcoinApiFactory from '../bitcoin/bitcoin-api-factory'; +import { bitcoinCoreApi } from '../bitcoin/bitcoin-api-factory'; import { IEsploraApi } from '../bitcoin/esplora-api.interface'; class Mining { @@ -191,7 +191,7 @@ class Mining { try { const oldestConsecutiveBlockTimestamp = 1000 * (await BlocksRepository.$getOldestConsecutiveBlock()).timestamp; - const genesisBlock: IEsploraApi.Block = await bitcoinApiFactory.$getBlock(await bitcoinClient.getBlockHash(0)); + const genesisBlock: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(await bitcoinClient.getBlockHash(0)); const genesisTimestamp = genesisBlock.timestamp * 1000; const indexedTimestamp = await HashratesRepository.$getWeeklyHashrateTimestamps(); @@ -294,7 +294,7 @@ class Mining { const oldestConsecutiveBlockTimestamp = 1000 * (await BlocksRepository.$getOldestConsecutiveBlock()).timestamp; try { - const genesisBlock: IEsploraApi.Block = await bitcoinApiFactory.$getBlock(await bitcoinClient.getBlockHash(0)); + const genesisBlock: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(await bitcoinClient.getBlockHash(0)); const genesisTimestamp = genesisBlock.timestamp * 1000; const indexedTimestamp = (await HashratesRepository.$getRawNetworkDailyHashrate(null)).map(hashrate => hashrate.timestamp); const lastMidnight = this.getDateMidnight(new Date()); @@ -396,7 +396,7 @@ class Mining { } const blocks: any = await BlocksRepository.$getBlocksDifficulty(); - const genesisBlock: IEsploraApi.Block = await bitcoinApiFactory.$getBlock(await bitcoinClient.getBlockHash(0)); + const genesisBlock: IEsploraApi.Block = await bitcoinCoreApi.$getBlock(await bitcoinClient.getBlockHash(0)); let currentDifficulty = genesisBlock.difficulty; let totalIndexed = 0; diff --git a/backend/src/repositories/DifficultyAdjustmentsRepository.ts b/backend/src/repositories/DifficultyAdjustmentsRepository.ts index 910c65c10..1c101bcf2 100644 --- a/backend/src/repositories/DifficultyAdjustmentsRepository.ts +++ b/backend/src/repositories/DifficultyAdjustmentsRepository.ts @@ -1,5 +1,4 @@ import { Common } from '../api/common'; -import config from '../config'; import DB from '../database'; import logger from '../logger'; import { IndexedDifficultyAdjustment } from '../mempool.interfaces'; From dd7c56eb53a886d5d7ea1167e8db9f51edd4758a Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 2 Mar 2023 22:01:50 -0800 Subject: [PATCH 04/44] Define owners for the DB migration file --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..6eac74517 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +backend/src/api/database-migration.ts @wiz @softsimon From 545b5be7d4a4724f3b35d03fd5e83ede2bf2e81f Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 2 Mar 2023 23:17:08 -0800 Subject: [PATCH 05/44] Remove the deprecated plugins file --- frontend/cypress.config.ts | 18 ++++++++++++------ frontend/cypress/plugins/index.js | 13 ------------- 2 files changed, 12 insertions(+), 19 deletions(-) delete mode 100644 frontend/cypress/plugins/index.js diff --git a/frontend/cypress.config.ts b/frontend/cypress.config.ts index 14d36fc74..4bdbd257d 100644 --- a/frontend/cypress.config.ts +++ b/frontend/cypress.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from 'cypress' +import { defineConfig } from 'cypress'; export default defineConfig({ projectId: 'ry4br7', @@ -12,12 +12,18 @@ export default defineConfig({ }, chromeWebSecurity: false, e2e: { - // We've imported your old cypress plugins here. - // You may want to clean this up later by importing these. - setupNodeEvents(on, config) { - return require('./cypress/plugins/index.js')(on, config) + setupNodeEvents(on: any, config: any) { + const fs = require('fs'); + const CONFIG_FILE = 'mempool-frontend-config.json'; + if (fs.existsSync(CONFIG_FILE)) { + let contents = JSON.parse(fs.readFileSync(CONFIG_FILE, 'utf8')); + config.env.BASE_MODULE = contents.BASE_MODULE ? contents.BASE_MODULE : 'mempool'; + } else { + config.env.BASE_MODULE = 'mempool'; + } + return config; }, baseUrl: 'http://localhost:4200', specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}', }, -}) +}); diff --git a/frontend/cypress/plugins/index.js b/frontend/cypress/plugins/index.js deleted file mode 100644 index 11f43df95..000000000 --- a/frontend/cypress/plugins/index.js +++ /dev/null @@ -1,13 +0,0 @@ -const fs = require('fs'); - -const CONFIG_FILE = 'mempool-frontend-config.json'; - -module.exports = (on, config) => { - if (fs.existsSync(CONFIG_FILE)) { - let contents = JSON.parse(fs.readFileSync(CONFIG_FILE, 'utf8')); - config.env.BASE_MODULE = contents.BASE_MODULE ? contents.BASE_MODULE : 'mempool'; - } else { - config.env.BASE_MODULE = 'mempool'; - } - return config; -} From d87fd9552390c0d9f116c3dd10c8c1dc4619f71f Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 2 Mar 2023 23:17:26 -0800 Subject: [PATCH 06/44] Bump Cypress to v12.7.0 --- frontend/package-lock.json | 44 ++++++++++++++++++++++++++++++-------- frontend/package.json | 4 ++-- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index f4ae62701..6372f9af6 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -58,7 +58,7 @@ }, "optionalDependencies": { "@cypress/schematic": "^2.4.0", - "cypress": "^12.3.0", + "cypress": "^12.7.0", "cypress-fail-on-console-error": "~4.0.2", "cypress-wait-until": "^1.7.2", "mock-socket": "~9.1.5", @@ -7010,9 +7010,9 @@ "peer": true }, "node_modules/cypress": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.3.0.tgz", - "integrity": "sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw==", + "version": "12.7.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.7.0.tgz", + "integrity": "sha512-7rq+nmhzz0u6yabCFyPtADU2OOrYt6pvUau9qV7xyifJ/hnsaw/vkr0tnLlcuuQKUAOC1v1M1e4Z0zG7S0IAvA==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -7033,7 +7033,7 @@ "commander": "^5.1.0", "common-tags": "^1.8.0", "dayjs": "^1.10.4", - "debug": "^4.3.2", + "debug": "^4.3.4", "enquirer": "^2.3.6", "eventemitter2": "6.4.7", "execa": "4.1.0", @@ -7159,6 +7159,23 @@ "node": ">= 6" } }, + "node_modules/cypress/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "optional": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/cypress/node_modules/execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", @@ -22276,9 +22293,9 @@ "peer": true }, "cypress": { - "version": "12.3.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.3.0.tgz", - "integrity": "sha512-ZQNebibi6NBt51TRxRMYKeFvIiQZ01t50HSy7z/JMgRVqBUey3cdjog5MYEbzG6Ktti5ckDt1tfcC47lmFwXkw==", + "version": "12.7.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.7.0.tgz", + "integrity": "sha512-7rq+nmhzz0u6yabCFyPtADU2OOrYt6pvUau9qV7xyifJ/hnsaw/vkr0tnLlcuuQKUAOC1v1M1e4Z0zG7S0IAvA==", "optional": true, "requires": { "@cypress/request": "^2.88.10", @@ -22298,7 +22315,7 @@ "commander": "^5.1.0", "common-tags": "^1.8.0", "dayjs": "^1.10.4", - "debug": "^4.3.2", + "debug": "^4.3.4", "enquirer": "^2.3.6", "eventemitter2": "6.4.7", "execa": "4.1.0", @@ -22382,6 +22399,15 @@ "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", "optional": true }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "optional": true, + "requires": { + "ms": "2.1.2" + } + }, "execa": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index e42c1bd8f..f23866d06 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -110,7 +110,7 @@ }, "optionalDependencies": { "@cypress/schematic": "^2.4.0", - "cypress": "^12.3.0", + "cypress": "^12.7.0", "cypress-fail-on-console-error": "~4.0.2", "cypress-wait-until": "^1.7.2", "mock-socket": "~9.1.5", @@ -119,4 +119,4 @@ "scarfSettings": { "enabled": false } -} +} \ No newline at end of file From 5d976eff7526dba585bbaf93270f5ceb8671acd3 Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 2 Mar 2023 23:17:48 -0800 Subject: [PATCH 07/44] Fix linting on bisq spec --- frontend/cypress/e2e/bisq/bisq.spec.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/cypress/e2e/bisq/bisq.spec.ts b/frontend/cypress/e2e/bisq/bisq.spec.ts index e81b17185..ac3b747b2 100644 --- a/frontend/cypress/e2e/bisq/bisq.spec.ts +++ b/frontend/cypress/e2e/bisq/bisq.spec.ts @@ -1,5 +1,5 @@ describe('Bisq', () => { - const baseModule = Cypress.env("BASE_MODULE"); + const baseModule = Cypress.env('BASE_MODULE'); const basePath = ''; beforeEach(() => { @@ -20,7 +20,7 @@ describe('Bisq', () => { cy.waitForSkeletonGone(); }); - describe("transactions", () => { + describe('transactions', () => { it('loads the transactions screen', () => { cy.visit(`${basePath}`); cy.waitForSkeletonGone(); @@ -30,9 +30,9 @@ describe('Bisq', () => { }); const filters = [ - "Asset listing fee", "Blind vote", "Compensation request", - "Genesis", "Irregular", "Lockup", "Pay trade fee", "Proof of burn", - "Proposal", "Reimbursement request", "Transfer BSQ", "Unlock", "Vote reveal" + 'Asset listing fee', 'Blind vote', 'Compensation request', + 'Genesis', 'Irregular', 'Lockup', 'Pay trade fee', 'Proof of burn', + 'Proposal', 'Reimbursement request', 'Transfer BSQ', 'Unlock', 'Vote reveal' ]; filters.forEach((filter) => { it.only(`filters the transaction screen by ${filter}`, () => { @@ -49,7 +49,7 @@ describe('Bisq', () => { }); }); - it("filters using multiple criteria", () => { + it('filters using multiple criteria', () => { const filters = ['Proposal', 'Lockup', 'Unlock']; cy.visit(`${basePath}/transactions`); cy.waitForSkeletonGone(); From 0e338a2c6467ff6a7b8b61281b30b041f3497909 Mon Sep 17 00:00:00 2001 From: Felipe Knorr Kuhn <100320+knorrium@users.noreply.github.com> Date: Thu, 2 Mar 2023 23:33:12 -0800 Subject: [PATCH 08/44] Fix linting on more specs --- frontend/cypress/e2e/liquid/liquid.spec.ts | 2 +- .../cypress/e2e/liquidtestnet/liquidtestnet.spec.ts | 2 +- frontend/cypress/e2e/mainnet/mainnet.spec.ts | 12 ++++++------ frontend/cypress/e2e/mainnet/mining.spec.ts | 2 +- frontend/cypress/e2e/signet/signet.spec.ts | 8 ++++---- frontend/cypress/e2e/testnet/testnet.spec.ts | 6 +++--- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/frontend/cypress/e2e/liquid/liquid.spec.ts b/frontend/cypress/e2e/liquid/liquid.spec.ts index e24b19fad..e22a9b94e 100644 --- a/frontend/cypress/e2e/liquid/liquid.spec.ts +++ b/frontend/cypress/e2e/liquid/liquid.spec.ts @@ -1,5 +1,5 @@ describe('Liquid', () => { - const baseModule = Cypress.env("BASE_MODULE"); + const baseModule = Cypress.env('BASE_MODULE'); const basePath = ''; beforeEach(() => { diff --git a/frontend/cypress/e2e/liquidtestnet/liquidtestnet.spec.ts b/frontend/cypress/e2e/liquidtestnet/liquidtestnet.spec.ts index 5cf6cf331..e1172e51a 100644 --- a/frontend/cypress/e2e/liquidtestnet/liquidtestnet.spec.ts +++ b/frontend/cypress/e2e/liquidtestnet/liquidtestnet.spec.ts @@ -1,5 +1,5 @@ describe('Liquid Testnet', () => { - const baseModule = Cypress.env("BASE_MODULE"); + const baseModule = Cypress.env('BASE_MODULE'); const basePath = '/testnet'; beforeEach(() => { diff --git a/frontend/cypress/e2e/mainnet/mainnet.spec.ts b/frontend/cypress/e2e/mainnet/mainnet.spec.ts index 5ab3f9ce9..71a35ba86 100644 --- a/frontend/cypress/e2e/mainnet/mainnet.spec.ts +++ b/frontend/cypress/e2e/mainnet/mainnet.spec.ts @@ -1,6 +1,6 @@ -import { emitMempoolInfo, dropWebSocket } from "../../support/websocket"; +import { emitMempoolInfo, dropWebSocket } from '../../support/websocket'; -const baseModule = Cypress.env("BASE_MODULE"); +const baseModule = Cypress.env('BASE_MODULE'); //Credit: https://github.com/bahmutov/cypress-examples/blob/6cedb17f83a3bb03ded13cf1d6a3f0656ca2cdf5/docs/recipes/overlapping-elements.md @@ -339,14 +339,14 @@ describe('Mainnet', () => { cy.visit('/'); cy.waitForSkeletonGone(); - cy.changeNetwork("testnet"); - cy.changeNetwork("signet"); - cy.changeNetwork("mainnet"); + cy.changeNetwork('testnet'); + cy.changeNetwork('signet'); + cy.changeNetwork('mainnet'); }); it.skip('loads the dashboard with the skeleton blocks', () => { cy.mockMempoolSocket(); - cy.visit("/"); + cy.visit('/'); cy.get(':nth-child(1) > #bitcoin-block-0').should('be.visible'); cy.get(':nth-child(2) > #bitcoin-block-0').should('be.visible'); cy.get(':nth-child(3) > #bitcoin-block-0').should('be.visible'); diff --git a/frontend/cypress/e2e/mainnet/mining.spec.ts b/frontend/cypress/e2e/mainnet/mining.spec.ts index 5c60f3a8c..cfaa40015 100644 --- a/frontend/cypress/e2e/mainnet/mining.spec.ts +++ b/frontend/cypress/e2e/mainnet/mining.spec.ts @@ -1,4 +1,4 @@ -const baseModule = Cypress.env("BASE_MODULE"); +const baseModule = Cypress.env('BASE_MODULE'); describe('Mainnet - Mining Features', () => { beforeEach(() => { diff --git a/frontend/cypress/e2e/signet/signet.spec.ts b/frontend/cypress/e2e/signet/signet.spec.ts index 2f09bc4b8..03cfb3480 100644 --- a/frontend/cypress/e2e/signet/signet.spec.ts +++ b/frontend/cypress/e2e/signet/signet.spec.ts @@ -1,6 +1,6 @@ -import { emitMempoolInfo } from "../../support/websocket"; +import { emitMempoolInfo } from '../../support/websocket'; -const baseModule = Cypress.env("BASE_MODULE"); +const baseModule = Cypress.env('BASE_MODULE'); describe('Signet', () => { beforeEach(() => { @@ -25,7 +25,7 @@ describe('Signet', () => { it.skip('loads the dashboard with the skeleton blocks', () => { cy.mockMempoolSocket(); - cy.visit("/signet"); + cy.visit('/signet'); cy.get(':nth-child(1) > #bitcoin-block-0').should('be.visible'); cy.get(':nth-child(2) > #bitcoin-block-0').should('be.visible'); cy.get(':nth-child(3) > #bitcoin-block-0').should('be.visible'); @@ -35,7 +35,7 @@ describe('Signet', () => { emitMempoolInfo({ 'params': { - "network": "signet" + 'network': 'signet' } }); diff --git a/frontend/cypress/e2e/testnet/testnet.spec.ts b/frontend/cypress/e2e/testnet/testnet.spec.ts index b05229a28..4236ca207 100644 --- a/frontend/cypress/e2e/testnet/testnet.spec.ts +++ b/frontend/cypress/e2e/testnet/testnet.spec.ts @@ -1,6 +1,6 @@ -import { confirmAddress, emitMempoolInfo, sendWsMock, showNewTx, startTrackingAddress } from "../../support/websocket"; +import { emitMempoolInfo } from '../../support/websocket'; -const baseModule = Cypress.env("BASE_MODULE"); +const baseModule = Cypress.env('BASE_MODULE'); describe('Testnet', () => { beforeEach(() => { @@ -25,7 +25,7 @@ describe('Testnet', () => { it.skip('loads the dashboard with the skeleton blocks', () => { cy.mockMempoolSocket(); - cy.visit("/testnet"); + cy.visit('/testnet'); cy.get(':nth-child(1) > #bitcoin-block-0').should('be.visible'); cy.get(':nth-child(2) > #bitcoin-block-0').should('be.visible'); cy.get(':nth-child(3) > #bitcoin-block-0').should('be.visible'); From ad7d3d97de2e90aa6f1fee1d6fc32a63a092e075 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 3 Mar 2023 16:58:40 +0900 Subject: [PATCH 09/44] Wipe nodejs backend cache for any mining pool change --- backend/src/api/pools-parser.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/backend/src/api/pools-parser.ts b/backend/src/api/pools-parser.ts index f17df385a..f94c147a2 100644 --- a/backend/src/api/pools-parser.ts +++ b/backend/src/api/pools-parser.ts @@ -39,6 +39,10 @@ class PoolsParser { * @param pools */ public async migratePoolsJson(): Promise { + // We also need to wipe the backend cache to make sure we don't serve blocks with + // the wrong mining pool (usually happen with unknown blocks) + diskCache.wipeCache(); + await this.$insertUnknownPool(); for (const pool of this.miningPools) { @@ -142,10 +146,6 @@ class PoolsParser { WHERE pool_id = ?`, [pool.id] ); - - // We also need to wipe the backend cache to make sure we don't serve blocks with - // the wrong mining pool (usually happen with unknown blocks) - diskCache.wipeCache(); } private async $deleteUnknownBlocks(): Promise { @@ -156,10 +156,6 @@ class PoolsParser { WHERE pool_id = ? AND height >= 130635`, [unknownPool[0].id] ); - - // We also need to wipe the backend cache to make sure we don't serve blocks with - // the wrong mining pool (usually happen with unknown blocks) - diskCache.wipeCache(); } } From d76d14253aece830caa9ac3ce7c8ef14012406c3 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 3 Mar 2023 17:29:46 +0900 Subject: [PATCH 10/44] Update mining pools before loading the disk cache since we may need to wipe that cache --- backend/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index 812b49e15..29a6b1a72 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -113,6 +113,7 @@ class Server { this.setUpWebsocketHandling(); + await poolsUpdater.updatePoolsJson(); // Needs to be done before loading the disk cache because we sometimes wipe it await syncAssets.syncAssets$(); if (config.MEMPOOL.ENABLED) { diskCache.loadMempoolCache(); @@ -171,7 +172,6 @@ class Server { logger.debug(msg); } } - await poolsUpdater.updatePoolsJson(); await blocks.$updateBlocks(); await memPool.$updateMempool(); indexer.$run(); From 27cf23f9b01c1f24286ae1eb0b636c80fd3dd5e7 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 3 Mar 2023 02:43:44 -0600 Subject: [PATCH 11/44] Fix blockchain scrolling on iOS devices --- .../app/components/start/start.component.html | 2 ++ .../app/components/start/start.component.ts | 31 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/start/start.component.html b/frontend/src/app/components/start/start.component.html index a246a052b..2527c52b2 100644 --- a/frontend/src/app/components/start/start.component.html +++ b/frontend/src/app/components/start/start.component.html @@ -11,6 +11,8 @@
diff --git a/frontend/src/app/components/start/start.component.ts b/frontend/src/app/components/start/start.component.ts index 0855cad05..22507303e 100644 --- a/frontend/src/app/components/start/start.component.ts +++ b/frontend/src/app/components/start/start.component.ts @@ -27,6 +27,7 @@ export class StartComponent implements OnInit, OnDestroy { @ViewChild('blockchainContainer') blockchainContainer: ElementRef; isMobile: boolean = false; + isiOS: boolean = false; blockWidth = 155; dynamicBlocksAmount: number = 8; blockCount: number = 0; @@ -40,7 +41,9 @@ export class StartComponent implements OnInit, OnDestroy { constructor( private stateService: StateService, - ) { } + ) { + this.isiOS = ['iPhone','iPod','iPad'].includes((navigator as any)?.userAgentData?.platform || navigator.platform); + } ngOnInit() { this.firstPageWidth = 40 + (this.blockWidth * this.dynamicBlocksAmount); @@ -135,9 +138,21 @@ export class StartComponent implements OnInit, OnDestroy { this.mouseDragStartX = event.clientX; this.blockchainScrollLeftInit = this.blockchainContainer.nativeElement.scrollLeft; } + onPointerDown(event: PointerEvent) { + if (this.isiOS) { + event.preventDefault(); + this.onMouseDown(event); + } + } onDragStart(event: MouseEvent) { // Ignore Firefox annoying default drag behavior event.preventDefault(); } + onTouchMove(event: TouchEvent) { + // disable native scrolling on iOS + if (this.isiOS) { + event.preventDefault(); + } + } // We're catching the whole page event here because we still want to scroll blocks // even if the mouse leave the blockchain blocks container. Same idea for mouseup below. @@ -154,6 +169,20 @@ export class StartComponent implements OnInit, OnDestroy { this.mouseDragStartX = null; this.stateService.setBlockScrollingInProgress(false); } + @HostListener('document:pointermove', ['$event']) + onPointerMove(event: PointerEvent): void { + if (this.isiOS) { + this.onMouseMove(event); + } + } + @HostListener('document:pointerup', []) + @HostListener('document:pointercancel', []) + onPointerUp() { + if (this.isiOS) { + this.onMouseUp(); + } + } + onScroll(e) { const middlePage = this.pageIndex === 0 ? this.pages[0] : this.pages[1]; From 6a66d062087780d634730a0e93b29f17521d9e2f Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 3 Mar 2023 02:55:48 -0600 Subject: [PATCH 12/44] Always show BTC amount in block tooltips --- .../block-overview-tooltip.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html b/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html index 2fa626a95..e841e291f 100644 --- a/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html +++ b/frontend/src/app/components/block-overview-tooltip/block-overview-tooltip.component.html @@ -16,7 +16,7 @@ Amount - + Fee From d483362a9b60c26ec09ddfa7c9307a05f581e6aa Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 4 Mar 2023 10:51:13 +0900 Subject: [PATCH 13/44] Handle missing price (show 0) --- backend/src/api/websocket-handler.ts | 9 +- backend/src/mempool.interfaces.ts | 1 - backend/src/repositories/PricesRepository.ts | 154 ++++++++++++------ backend/src/tasks/price-feeds/bitfinex-api.ts | 3 - backend/src/tasks/price-updater.ts | 36 ++-- .../components/amount/amount.component.html | 8 +- frontend/src/app/fiat/fiat.component.html | 6 +- frontend/src/app/services/price.service.ts | 4 +- 8 files changed, 141 insertions(+), 80 deletions(-) diff --git a/backend/src/api/websocket-handler.ts b/backend/src/api/websocket-handler.ts index c1c3b3995..a96264825 100644 --- a/backend/src/api/websocket-handler.ts +++ b/backend/src/api/websocket-handler.ts @@ -1,8 +1,8 @@ import logger from '../logger'; import * as WebSocket from 'ws'; import { - BlockExtended, TransactionExtended, WebsocketResponse, MempoolBlock, MempoolBlockDelta, - OptimizedStatistic, ILoadingIndicators, IConversionRates + BlockExtended, TransactionExtended, WebsocketResponse, + OptimizedStatistic, ILoadingIndicators } from '../mempool.interfaces'; import blocks from './blocks'; import memPool from './mempool'; @@ -20,6 +20,7 @@ import BlocksSummariesRepository from '../repositories/BlocksSummariesRepository import Audit from './audit'; import { deepClone } from '../utils/clone'; import priceUpdater from '../tasks/price-updater'; +import { ApiPrice } from '../repositories/PricesRepository'; class WebsocketHandler { private wss: WebSocket.Server | undefined; @@ -193,7 +194,7 @@ class WebsocketHandler { }); } - handleNewConversionRates(conversionRates: IConversionRates) { + handleNewConversionRates(conversionRates: ApiPrice) { if (!this.wss) { throw new Error('WebSocket.Server is not set'); } @@ -214,7 +215,7 @@ class WebsocketHandler { 'mempoolInfo': memPool.getMempoolInfo(), 'vBytesPerSecond': memPool.getVBytesPerSecond(), 'blocks': _blocks, - 'conversions': priceUpdater.latestPrices, + 'conversions': priceUpdater.getLatestPrices(), 'mempool-blocks': mempoolBlocks.getMempoolBlocks(), 'transactions': memPool.getLatestTransactions(), 'backendInfo': backendInfo.getBackendInfo(), diff --git a/backend/src/mempool.interfaces.ts b/backend/src/mempool.interfaces.ts index a7937e01d..8662770bc 100644 --- a/backend/src/mempool.interfaces.ts +++ b/backend/src/mempool.interfaces.ts @@ -293,7 +293,6 @@ interface RequiredParams { } export interface ILoadingIndicators { [name: string]: number; } -export interface IConversionRates { [currency: string]: number; } export interface IBackendInfo { hostname: string; diff --git a/backend/src/repositories/PricesRepository.ts b/backend/src/repositories/PricesRepository.ts index 6493735ee..4cbc06afd 100644 --- a/backend/src/repositories/PricesRepository.ts +++ b/backend/src/repositories/PricesRepository.ts @@ -1,6 +1,5 @@ import DB from '../database'; import logger from '../logger'; -import { IConversionRates } from '../mempool.interfaces'; import priceUpdater from '../tasks/price-updater'; export interface ApiPrice { @@ -13,6 +12,16 @@ export interface ApiPrice { AUD: number, JPY: number, } +const ApiPriceFields = ` + UNIX_TIMESTAMP(time) as time, + USD, + EUR, + GBP, + CAD, + CHF, + AUD, + JPY +`; export interface ExchangeRates { USDEUR: number, @@ -39,7 +48,7 @@ export const MAX_PRICES = { }; class PricesRepository { - public async $savePrices(time: number, prices: IConversionRates): Promise { + public async $savePrices(time: number, prices: ApiPrice): Promise { if (prices.USD === -1) { // Some historical price entries have no USD prices, so we just ignore them to avoid future UX issues // As of today there are only 4 (on 2013-09-05, 2013-0909, 2013-09-12 and 2013-09-26) so that's fine @@ -60,77 +69,115 @@ class PricesRepository { VALUE (FROM_UNIXTIME(?), ?, ?, ?, ?, ?, ?, ? )`, [time, prices.USD, prices.EUR, prices.GBP, prices.CAD, prices.CHF, prices.AUD, prices.JPY] ); - } catch (e: any) { + } catch (e) { logger.err(`Cannot save exchange rate into db. Reason: ` + (e instanceof Error ? e.message : e)); throw e; } } public async $getOldestPriceTime(): Promise { - const [oldestRow] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices WHERE USD != 0 ORDER BY time LIMIT 1`); + const [oldestRow] = await DB.query(` + SELECT UNIX_TIMESTAMP(time) AS time + FROM prices + ORDER BY time + LIMIT 1 + `); return oldestRow[0] ? oldestRow[0].time : 0; } public async $getLatestPriceId(): Promise { - const [oldestRow] = await DB.query(`SELECT id from prices WHERE USD != 0 ORDER BY time DESC LIMIT 1`); - return oldestRow[0] ? oldestRow[0].id : null; - } - - public async $getLatestPriceTime(): Promise { - const [oldestRow] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices WHERE USD != 0 ORDER BY time DESC LIMIT 1`); - return oldestRow[0] ? oldestRow[0].time : 0; - } - - public async $getPricesTimes(): Promise { - const [times]: any[] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices WHERE USD != 0 ORDER BY time`); - return times.map(time => time.time); - } - - public async $getPricesTimesAndId(): Promise { - const [times]: any[] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time, id, USD from prices ORDER BY time`); - return times; - } - - public async $getLatestConversionRates(): Promise { - const [rates]: any[] = await DB.query(` - SELECT USD, EUR, GBP, CAD, CHF, AUD, JPY + const [oldestRow] = await DB.query(` + SELECT id FROM prices ORDER BY time DESC LIMIT 1` ); - if (!rates || rates.length === 0) { + return oldestRow[0] ? oldestRow[0].id : null; + } + + public async $getLatestPriceTime(): Promise { + const [oldestRow] = await DB.query(` + SELECT UNIX_TIMESTAMP(time) AS time + FROM prices + ORDER BY time DESC + LIMIT 1` + ); + return oldestRow[0] ? oldestRow[0].time : 0; + } + + public async $getPricesTimes(): Promise { + const [times] = await DB.query(` + SELECT UNIX_TIMESTAMP(time) AS time + FROM prices + WHERE USD != -1 + ORDER BY time + `); + if (!Array.isArray(times)) { + return []; + } + return times.map(time => time.time); + } + + public async $getPricesTimesAndId(): Promise<{time: number, id: number, USD: number}[]> { + const [times] = await DB.query(` + SELECT + UNIX_TIMESTAMP(time) AS time, + id, + USD + FROM prices + ORDER BY time + `); + return times as {time: number, id: number, USD: number}[]; + } + + public async $getLatestConversionRates(): Promise { + const [rates] = await DB.query(` + SELECT ${ApiPriceFields} + FROM prices + ORDER BY time DESC + LIMIT 1` + ); + + if (!Array.isArray(rates) || rates.length === 0) { return priceUpdater.getEmptyPricesObj(); } - return rates[0]; + return rates[0] as ApiPrice; } public async $getNearestHistoricalPrice(timestamp: number | undefined): Promise { try { - const [rates]: any[] = await DB.query(` - SELECT *, UNIX_TIMESTAMP(time) AS time + const [rates] = await DB.query(` + SELECT ${ApiPriceFields} FROM prices WHERE UNIX_TIMESTAMP(time) < ? ORDER BY time DESC LIMIT 1`, [timestamp] ); - if (!rates) { + if (!Array.isArray(rates)) { throw Error(`Cannot get single historical price from the database`); } // Compute fiat exchange rates - const latestPrice = await this.$getLatestConversionRates(); + let latestPrice = rates[0] as ApiPrice; + if (latestPrice.USD === -1) { + latestPrice = priceUpdater.getEmptyPricesObj(); + } + + const computeFx = (usd: number, other: number): number => + Math.round(Math.max(other, 0) / Math.max(usd, 1) * 100) / 100; + const exchangeRates: ExchangeRates = { - USDEUR: Math.round(latestPrice.EUR / latestPrice.USD * 100) / 100, - USDGBP: Math.round(latestPrice.GBP / latestPrice.USD * 100) / 100, - USDCAD: Math.round(latestPrice.CAD / latestPrice.USD * 100) / 100, - USDCHF: Math.round(latestPrice.CHF / latestPrice.USD * 100) / 100, - USDAUD: Math.round(latestPrice.AUD / latestPrice.USD * 100) / 100, - USDJPY: Math.round(latestPrice.JPY / latestPrice.USD * 100) / 100, + USDEUR: computeFx(latestPrice.USD, latestPrice.EUR), + USDGBP: computeFx(latestPrice.USD, latestPrice.GBP), + USDCAD: computeFx(latestPrice.USD, latestPrice.CAD), + USDCHF: computeFx(latestPrice.USD, latestPrice.CHF), + USDAUD: computeFx(latestPrice.USD, latestPrice.AUD), + USDJPY: computeFx(latestPrice.USD, latestPrice.JPY), }; return { - prices: rates, + prices: rates as ApiPrice[], exchangeRates: exchangeRates }; } catch (e) { @@ -141,28 +188,35 @@ class PricesRepository { public async $getHistoricalPrices(): Promise { try { - const [rates]: any[] = await DB.query(` - SELECT *, UNIX_TIMESTAMP(time) AS time + const [rates] = await DB.query(` + SELECT ${ApiPriceFields} FROM prices ORDER BY time DESC `); - if (!rates) { + if (!Array.isArray(rates)) { throw Error(`Cannot get average historical price from the database`); } // Compute fiat exchange rates - const latestPrice: ApiPrice = rates[0]; + let latestPrice = rates[0] as ApiPrice; + if (latestPrice.USD === -1) { + latestPrice = priceUpdater.getEmptyPricesObj(); + } + + const computeFx = (usd: number, other: number): number => + Math.round(Math.max(other, 0) / Math.max(usd, 1) * 100) / 100; + const exchangeRates: ExchangeRates = { - USDEUR: Math.round(latestPrice.EUR / latestPrice.USD * 100) / 100, - USDGBP: Math.round(latestPrice.GBP / latestPrice.USD * 100) / 100, - USDCAD: Math.round(latestPrice.CAD / latestPrice.USD * 100) / 100, - USDCHF: Math.round(latestPrice.CHF / latestPrice.USD * 100) / 100, - USDAUD: Math.round(latestPrice.AUD / latestPrice.USD * 100) / 100, - USDJPY: Math.round(latestPrice.JPY / latestPrice.USD * 100) / 100, + USDEUR: computeFx(latestPrice.USD, latestPrice.EUR), + USDGBP: computeFx(latestPrice.USD, latestPrice.GBP), + USDCAD: computeFx(latestPrice.USD, latestPrice.CAD), + USDCHF: computeFx(latestPrice.USD, latestPrice.CHF), + USDAUD: computeFx(latestPrice.USD, latestPrice.AUD), + USDJPY: computeFx(latestPrice.USD, latestPrice.JPY), }; return { - prices: rates, + prices: rates as ApiPrice[], exchangeRates: exchangeRates }; } catch (e) { diff --git a/backend/src/tasks/price-feeds/bitfinex-api.ts b/backend/src/tasks/price-feeds/bitfinex-api.ts index 0e06c3af7..30b70e9eb 100644 --- a/backend/src/tasks/price-feeds/bitfinex-api.ts +++ b/backend/src/tasks/price-feeds/bitfinex-api.ts @@ -8,9 +8,6 @@ class BitfinexApi implements PriceFeed { public url: string = 'https://api.bitfinex.com/v1/pubticker/BTC'; public urlHist: string = 'https://api-pub.bitfinex.com/v2/candles/trade:{GRANULARITY}:tBTC{CURRENCY}/hist'; - constructor() { - } - public async $fetchPrice(currency): Promise { const response = await query(this.url + currency); if (response && response['last_price']) { diff --git a/backend/src/tasks/price-updater.ts b/backend/src/tasks/price-updater.ts index b39e152ae..ccb8d3e68 100644 --- a/backend/src/tasks/price-updater.ts +++ b/backend/src/tasks/price-updater.ts @@ -2,8 +2,7 @@ import * as fs from 'fs'; import path from 'path'; import config from '../config'; import logger from '../logger'; -import { IConversionRates } from '../mempool.interfaces'; -import PricesRepository, { MAX_PRICES } from '../repositories/PricesRepository'; +import PricesRepository, { ApiPrice, MAX_PRICES } from '../repositories/PricesRepository'; import BitfinexApi from './price-feeds/bitfinex-api'; import BitflyerApi from './price-feeds/bitflyer-api'; import CoinbaseApi from './price-feeds/coinbase-api'; @@ -21,18 +20,18 @@ export interface PriceFeed { } export interface PriceHistory { - [timestamp: number]: IConversionRates; + [timestamp: number]: ApiPrice; } class PriceUpdater { public historyInserted = false; - lastRun = 0; - lastHistoricalRun = 0; - running = false; - feeds: PriceFeed[] = []; - currencies: string[] = ['USD', 'EUR', 'GBP', 'CAD', 'CHF', 'AUD', 'JPY']; - latestPrices: IConversionRates; - private ratesChangedCallback: ((rates: IConversionRates) => void) | undefined; + private lastRun = 0; + private lastHistoricalRun = 0; + private running = false; + private feeds: PriceFeed[] = []; + private currencies: string[] = ['USD', 'EUR', 'GBP', 'CAD', 'CHF', 'AUD', 'JPY']; + private latestPrices: ApiPrice; + private ratesChangedCallback: ((rates: ApiPrice) => void) | undefined; constructor() { this.latestPrices = this.getEmptyPricesObj(); @@ -44,8 +43,13 @@ class PriceUpdater { this.feeds.push(new GeminiApi()); } - public getEmptyPricesObj(): IConversionRates { + public getLatestPrices(): ApiPrice { + return this.latestPrices; + } + + public getEmptyPricesObj(): ApiPrice { return { + time: 0, USD: -1, EUR: -1, GBP: -1, @@ -56,7 +60,7 @@ class PriceUpdater { }; } - public setRatesChangedCallback(fn: (rates: IConversionRates) => void) { + public setRatesChangedCallback(fn: (rates: ApiPrice) => void): void { this.ratesChangedCallback = fn; } @@ -156,6 +160,10 @@ class PriceUpdater { } this.lastRun = new Date().getTime() / 1000; + + if (this.latestPrices.USD === -1) { + this.latestPrices = await PricesRepository.$getLatestConversionRates(); + } } /** @@ -224,7 +232,7 @@ class PriceUpdater { // Group them by timestamp and currency, for example // grouped[123456789]['USD'] = [1, 2, 3, 4]; - const grouped: any = {}; + const grouped = {}; for (const historicalEntry of historicalPrices) { for (const time in historicalEntry) { if (existingPriceTimes.includes(parseInt(time, 10))) { @@ -249,7 +257,7 @@ class PriceUpdater { // Average prices and insert everything into the db let totalInserted = 0; for (const time in grouped) { - const prices: IConversionRates = this.getEmptyPricesObj(); + const prices: ApiPrice = this.getEmptyPricesObj(); for (const currency in grouped[time]) { if (grouped[time][currency].length === 0) { continue; diff --git a/frontend/src/app/components/amount/amount.component.html b/frontend/src/app/components/amount/amount.component.html index ce9c02d78..27fd59110 100644 --- a/frontend/src/app/components/amount/amount.component.html +++ b/frontend/src/app/components/amount/amount.component.html @@ -3,13 +3,15 @@ {{ addPlus && satoshis >= 0 ? '+' : '' }} {{ ( - (blockConversion.price[currency] >= 0 ? blockConversion.price[currency] : null) ?? - (blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency]) ?? 0 + (blockConversion.price[currency] > -1 ? blockConversion.price[currency] : null) ?? + (blockConversion.price['USD'] > -1 ? blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency] : null) ?? 0 ) * satoshis / 100000000 | fiatCurrency : digitsInfo : currency }} - {{ addPlus && satoshis >= 0 ? '+' : '' }}{{ (conversions ? conversions[currency] : 0) * satoshis / 100000000 | fiatCurrency : digitsInfo : currency }} + {{ addPlus && satoshis >= 0 ? '+' : '' }} + {{ (conversions[currency] > -1 ? conversions[currency] : 0) * satoshis / 100000000 | fiatCurrency : digitsInfo : currency }} + diff --git a/frontend/src/app/fiat/fiat.component.html b/frontend/src/app/fiat/fiat.component.html index 998153d29..00dd1250a 100644 --- a/frontend/src/app/fiat/fiat.component.html +++ b/frontend/src/app/fiat/fiat.component.html @@ -1,14 +1,14 @@ {{ ( - (blockConversion.price[currency] >= 0 ? blockConversion.price[currency] : null) ?? - (blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency]) ?? 0 + (blockConversion.price[currency] > -1 ? blockConversion.price[currency] : null) ?? + (blockConversion.price['USD'] > -1 ? blockConversion.price['USD'] * blockConversion.exchangeRates['USD' + currency] : null) ?? 0 ) * value / 100000000 | fiatCurrency : digitsInfo : currency }} - {{ (conversions[currency] ?? conversions['USD'] ?? 0) * value / 100000000 | fiatCurrency : digitsInfo : currency }} + {{ (conversions[currency] > -1 ? conversions[currency] : 0) * value / 100000000 | fiatCurrency : digitsInfo : currency }} \ No newline at end of file diff --git a/frontend/src/app/services/price.service.ts b/frontend/src/app/services/price.service.ts index 93c4ce449..4236205ca 100644 --- a/frontend/src/app/services/price.service.ts +++ b/frontend/src/app/services/price.service.ts @@ -89,7 +89,7 @@ export class PriceService { return this.singlePriceObservable$.pipe( map((conversion) => { if (conversion.prices.length <= 0) { - return this.getEmptyPrice(); + return undefined; } return { price: { @@ -113,7 +113,7 @@ export class PriceService { return this.priceObservable$.pipe( map((conversion) => { - if (!blockTimestamp) { + if (!blockTimestamp || !conversion) { return undefined; } From e0c3c732d17d4c05831245f7f07c85def8a3d19e Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 4 Mar 2023 10:55:27 +0900 Subject: [PATCH 14/44] Fix incorrect db schema version in db migration script --- backend/src/api/database-migration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index b09380d2f..5063866f4 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -637,7 +637,7 @@ class DatabaseMigration { queries.push(`INSERT INTO state(name, number, string) VALUES ('last_weekly_hashrates_indexing', 0, NULL)`); } - if (version < 55) { + if (version < 58) { queries.push(`DELETE FROM state WHERE name = 'last_hashrates_indexing'`); queries.push(`DELETE FROM state WHERE name = 'last_weekly_hashrates_indexing'`); } From 4e684989791bd2d5719ab4b3e71dbcab1697af48 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 3 Mar 2023 22:45:11 -0600 Subject: [PATCH 15/44] blockchain momentum scrolling --- .../app/components/start/start.component.ts | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/components/start/start.component.ts b/frontend/src/app/components/start/start.component.ts index 22507303e..d83ae2dec 100644 --- a/frontend/src/app/components/start/start.component.ts +++ b/frontend/src/app/components/start/start.component.ts @@ -38,6 +38,9 @@ export class StartComponent implements OnInit, OnDestroy { pageIndex: number = 0; pages: any[] = []; pendingMark: number | void = null; + lastUpdate: number = 0; + lastMouseX: number; + velocity: number = 0; constructor( private stateService: StateService, @@ -136,6 +139,7 @@ export class StartComponent implements OnInit, OnDestroy { onMouseDown(event: MouseEvent) { this.mouseDragStartX = event.clientX; + this.resetMomentum(event.clientX); this.blockchainScrollLeftInit = this.blockchainContainer.nativeElement.scrollLeft; } onPointerDown(event: PointerEvent) { @@ -159,6 +163,7 @@ export class StartComponent implements OnInit, OnDestroy { @HostListener('document:mousemove', ['$event']) onMouseMove(event: MouseEvent): void { if (this.mouseDragStartX != null) { + this.updateVelocity(event.clientX); this.stateService.setBlockScrollingInProgress(true); this.blockchainContainer.nativeElement.scrollLeft = this.blockchainScrollLeftInit + this.mouseDragStartX - event.clientX; @@ -167,7 +172,7 @@ export class StartComponent implements OnInit, OnDestroy { @HostListener('document:mouseup', []) onMouseUp() { this.mouseDragStartX = null; - this.stateService.setBlockScrollingInProgress(false); + this.animateMomentum(); } @HostListener('document:pointermove', ['$event']) onPointerMove(event: PointerEvent): void { @@ -183,6 +188,43 @@ export class StartComponent implements OnInit, OnDestroy { } } + resetMomentum(x: number) { + this.lastUpdate = performance.now(); + this.lastMouseX = x; + this.velocity = 0; + } + + updateVelocity(x: number) { + const now = performance.now(); + const dt = now - this.lastUpdate; + this.lastUpdate = now; + const velocity = (x - this.lastMouseX) / dt; + this.velocity = (0.8 * this.velocity) + (0.2 * velocity); + this.lastMouseX = x; + } + + animateMomentum() { + this.lastUpdate = performance.now(); + requestAnimationFrame(() => { + const now = performance.now(); + const dt = now - this.lastUpdate; + this.lastUpdate = now; + if (Math.abs(this.velocity) < 0.005) { + this.stateService.setBlockScrollingInProgress(false); + } else { + const deceleration = Math.max(0.0025, 0.001 * this.velocity * this.velocity) * (this.velocity > 0 ? -1 : 1); + const displacement = (this.velocity * dt) - (0.5 * (deceleration * dt * dt)); + const dv = (deceleration * dt); + if ((this.velocity < 0 && dv + this.velocity > 0) || (this.velocity > 0 && dv + this.velocity < 0)) { + this.velocity = 0; + } else { + this.velocity += dv; + } + this.blockchainContainer.nativeElement.scrollLeft -= displacement; + this.animateMomentum(); + } + }); + } onScroll(e) { const middlePage = this.pageIndex === 0 ? this.pages[0] : this.pages[1]; From 059139689d05e408772a155f2f0d2390d889b3d0 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Fri, 3 Mar 2023 23:39:01 -0600 Subject: [PATCH 16/44] Fix blockchain scrolling on high refresh-rate devices --- frontend/src/app/components/start/start.component.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/components/start/start.component.ts b/frontend/src/app/components/start/start.component.ts index d83ae2dec..77c8fd7f2 100644 --- a/frontend/src/app/components/start/start.component.ts +++ b/frontend/src/app/components/start/start.component.ts @@ -196,11 +196,13 @@ export class StartComponent implements OnInit, OnDestroy { updateVelocity(x: number) { const now = performance.now(); - const dt = now - this.lastUpdate; - this.lastUpdate = now; - const velocity = (x - this.lastMouseX) / dt; - this.velocity = (0.8 * this.velocity) + (0.2 * velocity); - this.lastMouseX = x; + let dt = now - this.lastUpdate; + if (dt > 0) { + this.lastUpdate = now; + const velocity = (x - this.lastMouseX) / dt; + this.velocity = (0.8 * this.velocity) + (0.2 * velocity); + this.lastMouseX = x; + } } animateMomentum() { From a37bcfec651350aca47dc21921440186dbe7818f Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 4 Mar 2023 00:10:47 -0600 Subject: [PATCH 17/44] drop decimal places from large fiat values --- frontend/src/app/shared/pipes/fiat-currency.pipe.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/shared/pipes/fiat-currency.pipe.ts b/frontend/src/app/shared/pipes/fiat-currency.pipe.ts index 3cd825291..2ae796d2b 100644 --- a/frontend/src/app/shared/pipes/fiat-currency.pipe.ts +++ b/frontend/src/app/shared/pipes/fiat-currency.pipe.ts @@ -23,6 +23,10 @@ export class FiatCurrencyPipe implements PipeTransform { const digits = args[0] || 1; const currency = args[1] || this.currency || 'USD'; - return new Intl.NumberFormat(this.locale, { style: 'currency', currency }).format(num); + if (num >= 1000) { + return new Intl.NumberFormat(this.locale, { style: 'currency', currency, maximumFractionDigits: 0 }).format(num); + } else { + return new Intl.NumberFormat(this.locale, { style: 'currency', currency }).format(num); + } } } \ No newline at end of file From ec2e7a46eb08fede14a7e493c11e35bc289b1eea Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 4 Mar 2023 15:19:56 +0900 Subject: [PATCH 18/44] Correct incoming transaction progress colors fixes #3216 --- .../src/app/dashboard/dashboard.component.html | 2 +- frontend/src/app/dashboard/dashboard.component.ts | 15 +++------------ 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index f3d96e187..7c3caccad 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -250,7 +250,7 @@
-
 
+
 
‎{{ mempoolInfoData.value.vBytesPerSecond | ceil | number }} vB/s
diff --git a/frontend/src/app/dashboard/dashboard.component.ts b/frontend/src/app/dashboard/dashboard.component.ts index 1eb305220..7e4645fe0 100644 --- a/frontend/src/app/dashboard/dashboard.component.ts +++ b/frontend/src/app/dashboard/dashboard.component.ts @@ -78,21 +78,12 @@ export class DashboardComponent implements OnInit, OnDestroy { map(([mempoolInfo, vbytesPerSecond]) => { const percent = Math.round((Math.min(vbytesPerSecond, this.vBytesPerSecondLimit) / this.vBytesPerSecondLimit) * 100); - let progressColor = '#7CB342'; + let progressColor = 'bg-success'; if (vbytesPerSecond > 1667) { - progressColor = '#FDD835'; - } - if (vbytesPerSecond > 2000) { - progressColor = '#FFB300'; - } - if (vbytesPerSecond > 2500) { - progressColor = '#FB8C00'; + progressColor = 'bg-warning'; } if (vbytesPerSecond > 3000) { - progressColor = '#F4511E'; - } - if (vbytesPerSecond > 3500) { - progressColor = '#D81B60'; + progressColor = 'bg-danger'; } const mempoolSizePercentage = (mempoolInfo.usage / mempoolInfo.maxmempool * 100); From 269dcb2b16a120a217468b97d852104f8dba2882 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 4 Mar 2023 00:22:50 -0600 Subject: [PATCH 19/44] Fix overlapping columns in cpfp table on small screens --- .../app/components/transaction/transaction.component.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/src/app/components/transaction/transaction.component.scss b/frontend/src/app/components/transaction/transaction.component.scss index 47c8baa4a..bea8e82bc 100644 --- a/frontend/src/app/components/transaction/transaction.component.scss +++ b/frontend/src/app/components/transaction/transaction.component.scss @@ -204,6 +204,12 @@ .txids { width: 60%; } + + @media (max-width: 500px) { + .txids { + width: 40%; + } + } } .tx-list { From f8624020e8504d9da98a9b7b5e7f7b4bfef00ac3 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 29 Jan 2023 21:18:44 +0400 Subject: [PATCH 20/44] Bisq markets search bar fix fixes #2986 --- .../search-form/search-form.component.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/src/app/components/search-form/search-form.component.ts b/frontend/src/app/components/search-form/search-form.component.ts index a4dbf5985..af5ccc654 100644 --- a/frontend/src/app/components/search-form/search-form.component.ts +++ b/frontend/src/app/components/search-form/search-form.component.ts @@ -107,7 +107,13 @@ export class SearchFormComponent implements OnInit { }))), ); }), - tap((result: any[]) => { + map((result: any[]) => { + if (this.network === 'bisq') { + result[0] = result[0].map((address: string) => 'B' + address); + } + return result; + }), + tap(() => { this.isTypeaheading$.next(false); }) ); @@ -126,7 +132,7 @@ export class SearchFormComponent implements OnInit { ] ).pipe( map((latestData) => { - const searchText = latestData[0]; + let searchText = latestData[0]; if (!searchText.length) { return { searchText: '', @@ -144,15 +150,15 @@ export class SearchFormComponent implements OnInit { const addressPrefixSearchResults = result[0]; const lightningResults = result[1]; - if (this.network === 'bisq') { - return searchText.map((address: string) => 'B' + address); - } - const matchesBlockHeight = this.regexBlockheight.test(searchText); const matchesTxId = this.regexTransaction.test(searchText) && !this.regexBlockhash.test(searchText); const matchesBlockHash = this.regexBlockhash.test(searchText); const matchesAddress = this.regexAddress.test(searchText); + if (matchesAddress && this.network === 'bisq') { + searchText = 'B' + searchText; + } + return { searchText: searchText, hashQuickMatch: +(matchesBlockHeight || matchesBlockHash || matchesTxId || matchesAddress), From 5fb4eac4b754c4f9f8b265b5ccb2b7299c378910 Mon Sep 17 00:00:00 2001 From: wiz Date: Sat, 4 Mar 2023 15:53:49 +0900 Subject: [PATCH 21/44] ops: Add missing /api/address-prefix nginx route for bisq --- production/nginx/server-bisq.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/production/nginx/server-bisq.conf b/production/nginx/server-bisq.conf index 2ea99843b..76b0d304c 100644 --- a/production/nginx/server-bisq.conf +++ b/production/nginx/server-bisq.conf @@ -9,6 +9,10 @@ location /api/tx/ { rewrite ^/api/(.*) /$1 break; try_files /dev/null @esplora-api-cache-disabled; } +location /api/address-prefix/ { + rewrite ^/api/(.*) /$1 break; + try_files /dev/null @esplora-api-cache-disabled; +} # rewrite APIs to match what backend expects location /api/currencies { From 82b08449284dca91838cc67de9dbe21bbed07928 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Fri, 3 Mar 2023 02:07:36 -0500 Subject: [PATCH 22/44] Make faq disclaimer more responsive --- frontend/src/app/docs/api-docs/api-docs.component.html | 3 ++- frontend/src/app/docs/api-docs/api-docs.component.scss | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 8c8d6ac36..1e5494650 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -10,7 +10,8 @@
-

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc.

For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).

+

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc.

For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).

+

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc.

For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).

diff --git a/frontend/src/app/docs/api-docs/api-docs.component.scss b/frontend/src/app/docs/api-docs/api-docs.component.scss index 92e78bc55..180f6830d 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.scss +++ b/frontend/src/app/docs/api-docs/api-docs.component.scss @@ -274,6 +274,11 @@ h3 { margin: 24px 0; } +#disclaimer > div svg { + display: block; + margin: 2px auto 16px; +} + #disclaimer svg { width: 50px; height: auto; @@ -332,6 +337,10 @@ h3 { .doc-welcome-note { font-size: 0.85rem; } + + #disclaimer table { + display: none; + } } @media (min-width: 992px) { From 7b24b124c23170cf99661e4a04a204c1fa57bc48 Mon Sep 17 00:00:00 2001 From: hunicus <93150691+hunicus@users.noreply.github.com> Date: Sat, 4 Mar 2023 03:31:52 -0500 Subject: [PATCH 23/44] Use svg component for warning svg --- .../svg-images/svg-images.component.html | 8 +++++++- .../svg-images/svg-images.component.ts | 1 + .../app/docs/api-docs/api-docs.component.html | 4 ++-- .../app/docs/api-docs/api-docs.component.scss | 17 ++++++++--------- .../src/app/docs/api-docs/api-docs.component.ts | 2 ++ 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/frontend/src/app/components/svg-images/svg-images.component.html b/frontend/src/app/components/svg-images/svg-images.component.html index f51f3918e..c4d5296bd 100644 --- a/frontend/src/app/components/svg-images/svg-images.component.html +++ b/frontend/src/app/components/svg-images/svg-images.component.html @@ -25,6 +25,12 @@ + + + + + + @@ -104,4 +110,4 @@ - \ No newline at end of file + diff --git a/frontend/src/app/components/svg-images/svg-images.component.ts b/frontend/src/app/components/svg-images/svg-images.component.ts index 287243202..6efba1023 100644 --- a/frontend/src/app/components/svg-images/svg-images.component.ts +++ b/frontend/src/app/components/svg-images/svg-images.component.ts @@ -13,4 +13,5 @@ export class SvgImagesComponent { @Input() width: string; @Input() height: string; @Input() viewBox: string; + @Input() fill: string; } diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 1e5494650..f5bf519bf 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -10,8 +10,8 @@
-

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc.

For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).

-

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc.

For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).

+

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc.

For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).

+

mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc.

For any such requests, you need to get in touch with the entity that helped make the transaction (wallet software, exchange company, etc).

diff --git a/frontend/src/app/docs/api-docs/api-docs.component.scss b/frontend/src/app/docs/api-docs/api-docs.component.scss index 180f6830d..8e4c0c7a9 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.scss +++ b/frontend/src/app/docs/api-docs/api-docs.component.scss @@ -274,15 +274,8 @@ h3 { margin: 24px 0; } -#disclaimer > div svg { - display: block; - margin: 2px auto 16px; -} - -#disclaimer svg { - width: 50px; - height: auto; - margin-right: 32px; +.disclaimer-warning { + margin-right: 50px; } #disclaimer p:last-child { @@ -299,6 +292,12 @@ h3 { display: none; } + .disclaimer-warning { + display: block; + margin: 2px auto 16px; + text-align: center; + } + .doc-content { width: 100%; float: unset; diff --git a/frontend/src/app/docs/api-docs/api-docs.component.ts b/frontend/src/app/docs/api-docs/api-docs.component.ts index 1d5eec453..62a0fadba 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.ts +++ b/frontend/src/app/docs/api-docs/api-docs.component.ts @@ -29,6 +29,7 @@ export class ApiDocsComponent implements OnInit, AfterViewInit { screenWidth: number; officialMempoolInstance: boolean; auditEnabled: boolean; + mobileViewport: boolean = false; @ViewChildren(FaqTemplateDirective) faqTemplates: QueryList; dict = {}; @@ -43,6 +44,7 @@ export class ApiDocsComponent implements OnInit, AfterViewInit { this.faqTemplates.forEach((x) => this.dict[x.type] = x.template); } this.desktopDocsNavPosition = ( window.pageYOffset > 182 ) ? "fixed" : "relative"; + this.mobileViewport = window.innerWidth <= 992; } ngAfterViewInit() { From 4e39c27c7549d9cba5e2dcf9ce0e0db581202ed5 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sat, 4 Mar 2023 18:48:16 +0900 Subject: [PATCH 24/44] Adding 4 year button to mempool graph fixes #3218 --- backend/src/api/common.ts | 1 + backend/src/api/mining/mining.ts | 1 + backend/src/api/statistics/statistics-api.ts | 11 +++++++++++ backend/src/api/statistics/statistics.routes.ts | 6 +++++- .../components/statistics/statistics.component.html | 3 +++ .../app/components/statistics/statistics.component.ts | 9 ++++++--- frontend/src/app/services/api.service.ts | 4 ++++ frontend/src/app/shared/graphs.utils.ts | 3 +++ production/nginx-cache-warmer | 1 + 9 files changed, 35 insertions(+), 4 deletions(-) diff --git a/backend/src/api/common.ts b/backend/src/api/common.ts index ad4eccabe..f762cfc2c 100644 --- a/backend/src/api/common.ts +++ b/backend/src/api/common.ts @@ -175,6 +175,7 @@ export class Common { case '1y': return '1 YEAR'; case '2y': return '2 YEAR'; case '3y': return '3 YEAR'; + case '4y': return '4 YEAR'; default: return null; } } diff --git a/backend/src/api/mining/mining.ts b/backend/src/api/mining/mining.ts index 78d313b48..b51a595f6 100644 --- a/backend/src/api/mining/mining.ts +++ b/backend/src/api/mining/mining.ts @@ -568,6 +568,7 @@ class Mining { private getTimeRange(interval: string | null, scale = 1): number { switch (interval) { + case '4y': return 43200 * scale; // 12h case '3y': return 43200 * scale; // 12h case '2y': return 28800 * scale; // 8h case '1y': return 28800 * scale; // 8h diff --git a/backend/src/api/statistics/statistics-api.ts b/backend/src/api/statistics/statistics-api.ts index 56a868f8f..1e8b0b7bb 100644 --- a/backend/src/api/statistics/statistics-api.ts +++ b/backend/src/api/statistics/statistics-api.ts @@ -375,6 +375,17 @@ class StatisticsApi { } } + public async $list4Y(): Promise { + try { + const query = this.getQueryForDays(43200, '4 YEAR'); // 12h interval + const [rows] = await DB.query({ sql: query, timeout: this.queryTimeout }); + return this.mapStatisticToOptimizedStatistic(rows as Statistic[]); + } catch (e) { + logger.err('$list4Y() error' + (e instanceof Error ? e.message : e)); + return []; + } + } + private mapStatisticToOptimizedStatistic(statistic: Statistic[]): OptimizedStatistic[] { return statistic.map((s) => { return { diff --git a/backend/src/api/statistics/statistics.routes.ts b/backend/src/api/statistics/statistics.routes.ts index 4b1b91ce9..2a5871dd6 100644 --- a/backend/src/api/statistics/statistics.routes.ts +++ b/backend/src/api/statistics/statistics.routes.ts @@ -14,10 +14,11 @@ class StatisticsRoutes { .get(config.MEMPOOL.API_URL_PREFIX + 'statistics/1y', this.$getStatisticsByTime.bind(this, '1y')) .get(config.MEMPOOL.API_URL_PREFIX + 'statistics/2y', this.$getStatisticsByTime.bind(this, '2y')) .get(config.MEMPOOL.API_URL_PREFIX + 'statistics/3y', this.$getStatisticsByTime.bind(this, '3y')) + .get(config.MEMPOOL.API_URL_PREFIX + 'statistics/4y', this.$getStatisticsByTime.bind(this, '4y')) ; } - private async $getStatisticsByTime(time: '2h' | '24h' | '1w' | '1m' | '3m' | '6m' | '1y' | '2y' | '3y', req: Request, res: Response) { + private async $getStatisticsByTime(time: '2h' | '24h' | '1w' | '1m' | '3m' | '6m' | '1y' | '2y' | '3y' | '4y', req: Request, res: Response) { res.header('Pragma', 'public'); res.header('Cache-control', 'public'); res.setHeader('Expires', new Date(Date.now() + 1000 * 300).toUTCString()); @@ -54,6 +55,9 @@ class StatisticsRoutes { case '3y': result = await statisticsApi.$list3Y(); break; + case '4y': + result = await statisticsApi.$list4Y(); + break; default: result = await statisticsApi.$list2H(); } diff --git a/frontend/src/app/components/statistics/statistics.component.html b/frontend/src/app/components/statistics/statistics.component.html index 4366aa5b2..30738f591 100644 --- a/frontend/src/app/components/statistics/statistics.component.html +++ b/frontend/src/app/components/statistics/statistics.component.html @@ -49,6 +49,9 @@ +
diff --git a/frontend/src/app/components/statistics/statistics.component.ts b/frontend/src/app/components/statistics/statistics.component.ts index 13f3df0bc..263906a8e 100644 --- a/frontend/src/app/components/statistics/statistics.component.ts +++ b/frontend/src/app/components/statistics/statistics.component.ts @@ -70,7 +70,7 @@ export class StatisticsComponent implements OnInit { this.route .fragment .subscribe((fragment) => { - if (['2h', '24h', '1w', '1m', '3m', '6m', '1y', '2y', '3y'].indexOf(fragment) > -1) { + if (['2h', '24h', '1w', '1m', '3m', '6m', '1y', '2y', '3y', '4y'].indexOf(fragment) > -1) { this.radioGroupForm.controls.dateSpan.setValue(fragment, { emitEvent: false }); } }); @@ -109,7 +109,10 @@ export class StatisticsComponent implements OnInit { if (this.radioGroupForm.controls.dateSpan.value === '2y') { return this.apiService.list2YStatistics$(); } - return this.apiService.list3YStatistics$(); + if (this.radioGroupForm.controls.dateSpan.value === '3y') { + return this.apiService.list3YStatistics$(); + } + return this.apiService.list4YStatistics$(); }) ) .subscribe((mempoolStats: any) => { @@ -181,7 +184,7 @@ export class StatisticsComponent implements OnInit { } let capRatio = 10; - if (['1m', '3m', '6m', '1y', '2y', '3y'].includes(this.graphWindowPreference)) { + if (['1m', '3m', '6m', '1y', '2y', '3y', '4y'].includes(this.graphWindowPreference)) { capRatio = 4; } diff --git a/frontend/src/app/services/api.service.ts b/frontend/src/app/services/api.service.ts index 840fd5070..2b4e460a2 100644 --- a/frontend/src/app/services/api.service.ts +++ b/frontend/src/app/services/api.service.ts @@ -68,6 +68,10 @@ export class ApiService { return this.httpClient.get(this.apiBaseUrl + this.apiBasePath + '/api/v1/statistics/3y'); } + list4YStatistics$(): Observable { + return this.httpClient.get(this.apiBaseUrl + this.apiBasePath + '/api/v1/statistics/4y'); + } + getTransactionTimes$(txIds: string[]): Observable { let params = new HttpParams(); txIds.forEach((txId: string) => { diff --git a/frontend/src/app/shared/graphs.utils.ts b/frontend/src/app/shared/graphs.utils.ts index 0edcfda91..488e794c3 100644 --- a/frontend/src/app/shared/graphs.utils.ts +++ b/frontend/src/app/shared/graphs.utils.ts @@ -21,6 +21,7 @@ export const formatterXAxis = ( return date.toLocaleTimeString(locale, { month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric' }); case '2y': case '3y': + case '4y': case 'all': return date.toLocaleDateString(locale, { year: 'numeric', month: 'long', day: 'numeric' }); } @@ -45,6 +46,7 @@ export const formatterXAxisLabel = ( case '1y': case '2y': case '3y': + case '4y': return null; } }; @@ -71,6 +73,7 @@ export const formatterXAxisTimeCategory = ( return date.toLocaleDateString(locale, { year: 'numeric', month: 'short', day: 'numeric' }); case '2y': case '3y': + case '4y': case 'all': return date.toLocaleDateString(locale, { year: 'numeric', month: 'long' }); } diff --git a/production/nginx-cache-warmer b/production/nginx-cache-warmer index cb742caee..5a298367b 100755 --- a/production/nginx-cache-warmer +++ b/production/nginx-cache-warmer @@ -20,6 +20,7 @@ do for url in / \ '/api/v1/statistics/1y' \ '/api/v1/statistics/2y' \ '/api/v1/statistics/3y' \ + '/api/v1/statistics/4y' \ '/api/v1/mining/pools/24h' \ '/api/v1/mining/pools/3d' \ '/api/v1/mining/pools/1w' \ From 2e74d7fa4ad661e35b797ab8dd998478756ad899 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 25 Feb 2023 11:28:44 +0900 Subject: [PATCH 25/44] Remove mining db stats - replaced by runtime state variable --- backend/src/api/database-migration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index bf552889d..1ef31c90b 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -1037,7 +1037,7 @@ class DatabaseMigration { await this.$executeQuery('DELETE FROM `pools`'); await this.$executeQuery('ALTER TABLE pools AUTO_INCREMENT = 1'); await this.$executeQuery(`UPDATE state SET string = NULL WHERE name = 'pools_json_sha'`); -} + } private async $convertCompactCpfpTables(): Promise { try { From 32a260473ab3845da2c3c50b949eb07b67a15dfd Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 25 Feb 2023 11:46:52 +0900 Subject: [PATCH 26/44] Update some mining indexing logs --- backend/src/api/mining/mining.ts | 28 +++++++++---------- backend/src/indexer.ts | 8 +++--- .../DifficultyAdjustmentsRepository.ts | 18 ++++++------ .../src/repositories/HashratesRepository.ts | 22 +++++++-------- 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/backend/src/api/mining/mining.ts b/backend/src/api/mining/mining.ts index 78d313b48..45b00e021 100644 --- a/backend/src/api/mining/mining.ts +++ b/backend/src/api/mining/mining.ts @@ -117,7 +117,7 @@ class Mining { poolsStatistics['lastEstimatedHashrate'] = await bitcoinClient.getNetworkHashPs(totalBlock24h); } catch (e) { poolsStatistics['lastEstimatedHashrate'] = 0; - logger.debug('Bitcoin Core is not available, using zeroed value for current hashrate'); + logger.debug('Bitcoin Core is not available, using zeroed value for current hashrate', logger.tags.mining); } return poolsStatistics; @@ -145,7 +145,7 @@ class Mining { try { currentEstimatedHashrate = await bitcoinClient.getNetworkHashPs(totalBlock24h); } catch (e) { - logger.debug('Bitcoin Core is not available, using zeroed value for current hashrate'); + logger.debug('Bitcoin Core is not available, using zeroed value for current hashrate', logger.tags.mining); } return { @@ -208,7 +208,7 @@ class Mining { const startedAt = new Date().getTime() / 1000; let timer = new Date().getTime() / 1000; - logger.debug(`Indexing weekly mining pool hashrate`); + logger.debug(`Indexing weekly mining pool hashrate`, logger.tags.mining); loadingIndicators.setProgress('weekly-hashrate-indexing', 0); while (toTimestamp > genesisTimestamp && toTimestamp > oldestConsecutiveBlockTimestamp) { @@ -245,7 +245,7 @@ class Mining { }); } - newlyIndexed += hashrates.length; + newlyIndexed += hashrates.length / Math.max(1, pools.length); await HashratesRepository.$saveHashrates(hashrates); hashrates.length = 0; } @@ -256,7 +256,7 @@ class Mining { const weeksPerSeconds = Math.max(1, Math.round(indexedThisRun / elapsedSeconds)); const progress = Math.round(totalIndexed / totalWeekIndexed * 10000) / 100; const formattedDate = new Date(fromTimestamp).toUTCString(); - logger.debug(`Getting weekly pool hashrate for ${formattedDate} | ~${weeksPerSeconds.toFixed(2)} weeks/sec | total: ~${totalIndexed}/${Math.round(totalWeekIndexed)} (${progress}%) | elapsed: ${runningFor} seconds`); + logger.debug(`Getting weekly pool hashrate for ${formattedDate} | ~${weeksPerSeconds.toFixed(2)} weeks/sec | total: ~${totalIndexed}/${Math.round(totalWeekIndexed)} (${progress}%) | elapsed: ${runningFor} seconds`, logger.tags.mining); timer = new Date().getTime() / 1000; indexedThisRun = 0; loadingIndicators.setProgress('weekly-hashrate-indexing', progress, false); @@ -268,14 +268,14 @@ class Mining { } this.lastWeeklyHashrateIndexingDate = new Date().getUTCDate(); if (newlyIndexed > 0) { - logger.notice(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed}`, logger.tags.mining); + logger.notice(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed} weeks`, logger.tags.mining); } else { - logger.debug(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed}`, logger.tags.mining); + logger.debug(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed} weeks`, logger.tags.mining); } loadingIndicators.setProgress('weekly-hashrate-indexing', 100); } catch (e) { loadingIndicators.setProgress('weekly-hashrate-indexing', 100); - logger.err(`Weekly mining pools hashrates indexing failed. Trying again in 10 seconds. Reason: ${(e instanceof Error ? e.message : e)}`); + logger.err(`Weekly mining pools hashrates indexing failed. Trying again in 10 seconds. Reason: ${(e instanceof Error ? e.message : e)}`, logger.tags.mining); throw e; } } @@ -308,7 +308,7 @@ class Mining { const startedAt = new Date().getTime() / 1000; let timer = new Date().getTime() / 1000; - logger.debug(`Indexing daily network hashrate`); + logger.debug(`Indexing daily network hashrate`, logger.tags.mining); loadingIndicators.setProgress('daily-hashrate-indexing', 0); while (toTimestamp > genesisTimestamp && toTimestamp > oldestConsecutiveBlockTimestamp) { @@ -346,7 +346,7 @@ class Mining { const daysPerSeconds = Math.max(1, Math.round(indexedThisRun / elapsedSeconds)); const progress = Math.round(totalIndexed / totalDayIndexed * 10000) / 100; const formattedDate = new Date(fromTimestamp).toUTCString(); - logger.debug(`Getting network daily hashrate for ${formattedDate} | ~${daysPerSeconds.toFixed(2)} days/sec | total: ~${totalIndexed}/${Math.round(totalDayIndexed)} (${progress}%) | elapsed: ${runningFor} seconds`); + logger.debug(`Getting network daily hashrate for ${formattedDate} | ~${daysPerSeconds.toFixed(2)} days/sec | total: ~${totalIndexed}/${Math.round(totalDayIndexed)} (${progress}%) | elapsed: ${runningFor} seconds`, logger.tags.mining); timer = new Date().getTime() / 1000; indexedThisRun = 0; loadingIndicators.setProgress('daily-hashrate-indexing', progress); @@ -380,7 +380,7 @@ class Mining { loadingIndicators.setProgress('daily-hashrate-indexing', 100); } catch (e) { loadingIndicators.setProgress('daily-hashrate-indexing', 100); - logger.err(`Daily network hashrate indexing failed. Trying again in 10 seconds. Reason: ${(e instanceof Error ? e.message : e)}`, logger.tags.mining); + logger.err(`Daily network hashrate indexing failed. Trying again later. Reason: ${(e instanceof Error ? e.message : e)}`, logger.tags.mining); throw e; } } @@ -446,7 +446,7 @@ class Mining { const elapsedSeconds = Math.max(1, Math.round((new Date().getTime() / 1000) - timer)); if (elapsedSeconds > 5) { const progress = Math.round(totalBlockChecked / blocks.length * 100); - logger.info(`Indexing difficulty adjustment at block #${block.height} | Progress: ${progress}%`); + logger.info(`Indexing difficulty adjustment at block #${block.height} | Progress: ${progress}%`, logger.tags.mining); timer = new Date().getTime() / 1000; } } @@ -499,7 +499,7 @@ class Mining { if (blocksWithoutPrices.length > 200000) { logStr += ` | Progress ${Math.round(totalInserted / blocksWithoutPrices.length * 100)}%`; } - logger.debug(logStr); + logger.debug(logStr, logger.tags.mining); await BlocksRepository.$saveBlockPrices(blocksPrices); blocksPrices.length = 0; } @@ -511,7 +511,7 @@ class Mining { if (blocksWithoutPrices.length > 200000) { logStr += ` | Progress ${Math.round(totalInserted / blocksWithoutPrices.length * 100)}%`; } - logger.debug(logStr); + logger.debug(logStr, logger.tags.mining); await BlocksRepository.$saveBlockPrices(blocksPrices); } } catch (e) { diff --git a/backend/src/indexer.ts b/backend/src/indexer.ts index 1665e443f..3b16ad155 100644 --- a/backend/src/indexer.ts +++ b/backend/src/indexer.ts @@ -76,13 +76,13 @@ class Indexer { this.tasksRunning.push(task); const lastestPriceId = await PricesRepository.$getLatestPriceId(); if (priceUpdater.historyInserted === false || lastestPriceId === null) { - logger.debug(`Blocks prices indexer is waiting for the price updater to complete`); + logger.debug(`Blocks prices indexer is waiting for the price updater to complete`, logger.tags.mining); setTimeout(() => { this.tasksRunning = this.tasksRunning.filter(runningTask => runningTask !== task); this.runSingleTask('blocksPrices'); }, 10000); } else { - logger.debug(`Blocks prices indexer will run now`); + logger.debug(`Blocks prices indexer will run now`, logger.tags.mining); await mining.$indexBlockPrices(); this.tasksRunning = this.tasksRunning.filter(runningTask => runningTask !== task); } @@ -112,7 +112,7 @@ class Indexer { this.runIndexer = false; this.indexerRunning = true; - logger.info(`Running mining indexer`); + logger.debug(`Running mining indexer`); await this.checkAvailableCoreIndexes(); @@ -122,7 +122,7 @@ class Indexer { const chainValid = await blocks.$generateBlockDatabase(); if (chainValid === false) { // Chain of block hash was invalid, so we need to reindex. Stop here and continue at the next iteration - logger.warn(`The chain of block hash is invalid, re-indexing invalid data in 10 seconds.`); + logger.warn(`The chain of block hash is invalid, re-indexing invalid data in 10 seconds.`, logger.tags.mining); setTimeout(() => this.reindex(), 10000); this.indexerRunning = false; return; diff --git a/backend/src/repositories/DifficultyAdjustmentsRepository.ts b/backend/src/repositories/DifficultyAdjustmentsRepository.ts index 1c101bcf2..0b19cc640 100644 --- a/backend/src/repositories/DifficultyAdjustmentsRepository.ts +++ b/backend/src/repositories/DifficultyAdjustmentsRepository.ts @@ -20,9 +20,9 @@ class DifficultyAdjustmentsRepository { await DB.query(query, params); } catch (e: any) { if (e.errno === 1062) { // ER_DUP_ENTRY - This scenario is possible upon node backend restart - logger.debug(`Cannot save difficulty adjustment at block ${adjustment.height}, already indexed, ignoring`); + logger.debug(`Cannot save difficulty adjustment at block ${adjustment.height}, already indexed, ignoring`, logger.tags.mining); } else { - logger.err(`Cannot save difficulty adjustment at block ${adjustment.height}. Reason: ${e instanceof Error ? e.message : e}`); + logger.err(`Cannot save difficulty adjustment at block ${adjustment.height}. Reason: ${e instanceof Error ? e.message : e}`, logger.tags.mining); throw e; } } @@ -54,7 +54,7 @@ class DifficultyAdjustmentsRepository { const [rows] = await DB.query(query); return rows as IndexedDifficultyAdjustment[]; } catch (e) { - logger.err(`Cannot get difficulty adjustments from the database. Reason: ` + (e instanceof Error ? e.message : e)); + logger.err(`Cannot get difficulty adjustments from the database. Reason: ` + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -83,7 +83,7 @@ class DifficultyAdjustmentsRepository { const [rows] = await DB.query(query); return rows as IndexedDifficultyAdjustment[]; } catch (e) { - logger.err(`Cannot get difficulty adjustments from the database. Reason: ` + (e instanceof Error ? e.message : e)); + logger.err(`Cannot get difficulty adjustments from the database. Reason: ` + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -93,27 +93,27 @@ class DifficultyAdjustmentsRepository { const [rows]: any[] = await DB.query(`SELECT height FROM difficulty_adjustments`); return rows.map(block => block.height); } catch (e: any) { - logger.err(`Cannot get difficulty adjustment block heights. Reason: ${e instanceof Error ? e.message : e}`); + logger.err(`Cannot get difficulty adjustment block heights. Reason: ${e instanceof Error ? e.message : e}`, logger.tags.mining); throw e; } } public async $deleteAdjustementsFromHeight(height: number): Promise { try { - logger.info(`Delete newer difficulty adjustments from height ${height} from the database`); + logger.info(`Delete newer difficulty adjustments from height ${height} from the database`, logger.tags.mining); await DB.query(`DELETE FROM difficulty_adjustments WHERE height >= ?`, [height]); } catch (e: any) { - logger.err(`Cannot delete difficulty adjustments from the database. Reason: ${e instanceof Error ? e.message : e}`); + logger.err(`Cannot delete difficulty adjustments from the database. Reason: ${e instanceof Error ? e.message : e}`, logger.tags.mining); throw e; } } public async $deleteLastAdjustment(): Promise { try { - logger.info(`Delete last difficulty adjustment from the database`); + logger.info(`Delete last difficulty adjustment from the database`, logger.tags.mining); await DB.query(`DELETE FROM difficulty_adjustments ORDER BY time LIMIT 1`); } catch (e: any) { - logger.err(`Cannot delete last difficulty adjustment from the database. Reason: ${e instanceof Error ? e.message : e}`); + logger.err(`Cannot delete last difficulty adjustment from the database. Reason: ${e instanceof Error ? e.message : e}`, logger.tags.mining); throw e; } } diff --git a/backend/src/repositories/HashratesRepository.ts b/backend/src/repositories/HashratesRepository.ts index c380e87d9..875f77b34 100644 --- a/backend/src/repositories/HashratesRepository.ts +++ b/backend/src/repositories/HashratesRepository.ts @@ -25,7 +25,7 @@ class HashratesRepository { try { await DB.query(query); } catch (e: any) { - logger.err('Cannot save indexed hashrate into db. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot save indexed hashrate into db. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -51,7 +51,7 @@ class HashratesRepository { const [rows]: any[] = await DB.query(query); return rows; } catch (e) { - logger.err('Cannot fetch network hashrate history. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot fetch network hashrate history. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -78,7 +78,7 @@ class HashratesRepository { const [rows]: any[] = await DB.query(query); return rows; } catch (e) { - logger.err('Cannot fetch network hashrate history. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot fetch network hashrate history. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -93,7 +93,7 @@ class HashratesRepository { const [rows]: any[] = await DB.query(query); return rows.map(row => row.timestamp); } catch (e) { - logger.err('Cannot retreive indexed weekly hashrate timestamps. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot retreive indexed weekly hashrate timestamps. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -128,7 +128,7 @@ class HashratesRepository { const [rows]: any[] = await DB.query(query); return rows; } catch (e) { - logger.err('Cannot fetch weekly pools hashrate history. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot fetch weekly pools hashrate history. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -158,7 +158,7 @@ class HashratesRepository { const [rows]: any[] = await DB.query(query, [pool.id]); boundaries = rows[0]; } catch (e) { - logger.err('Cannot fetch hashrate start/end timestamps for this pool. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot fetch hashrate start/end timestamps for this pool. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); } // Get hashrates entries between boundaries @@ -173,7 +173,7 @@ class HashratesRepository { const [rows]: any[] = await DB.query(query, [boundaries.firstTimestamp, boundaries.lastTimestamp, pool.id]); return rows; } catch (e) { - logger.err('Cannot fetch pool hashrate history for this pool. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot fetch pool hashrate history for this pool. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -192,7 +192,7 @@ class HashratesRepository { } return rows[0]['number']; } catch (e) { - logger.err(`Cannot retrieve last indexing run for ${key}. Reason: ` + (e instanceof Error ? e.message : e)); + logger.err(`Cannot retrieve last indexing run for ${key}. Reason: ` + (e instanceof Error ? e.message : e), logger.tags.mining); throw e; } } @@ -201,7 +201,7 @@ class HashratesRepository { * Delete most recent data points for re-indexing */ public async $deleteLastEntries() { - logger.info(`Delete latest hashrates data points from the database`); + logger.info(`Delete latest hashrates data points from the database`, logger.tags.mining); try { const [rows]: any[] = await DB.query(`SELECT MAX(hashrate_timestamp) as timestamp FROM hashrates GROUP BY type`); @@ -212,7 +212,7 @@ class HashratesRepository { mining.lastHashrateIndexingDate = null; mining.lastWeeklyHashrateIndexingDate = null; } catch (e) { - logger.err('Cannot delete latest hashrates data points. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot delete latest hashrates data points. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); } } @@ -228,7 +228,7 @@ class HashratesRepository { mining.lastHashrateIndexingDate = null; mining.lastWeeklyHashrateIndexingDate = null; } catch (e) { - logger.err('Cannot delete latest hashrates data points. Reason: ' + (e instanceof Error ? e.message : e)); + logger.err('Cannot delete latest hashrates data points. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); } } } From 001be82f5abd836aa9d8f6cf44282edbe152d1fb Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sat, 25 Feb 2023 14:01:48 +0900 Subject: [PATCH 27/44] Move some notice into info --- backend/src/api/mining/mining.ts | 6 +++--- backend/src/tasks/lightning/sync-tasks/stats-importer.ts | 2 +- backend/src/tasks/pools-updater.ts | 2 +- backend/src/tasks/price-feeds/kraken-api.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/src/api/mining/mining.ts b/backend/src/api/mining/mining.ts index 45b00e021..0ab2267c3 100644 --- a/backend/src/api/mining/mining.ts +++ b/backend/src/api/mining/mining.ts @@ -268,7 +268,7 @@ class Mining { } this.lastWeeklyHashrateIndexingDate = new Date().getUTCDate(); if (newlyIndexed > 0) { - logger.notice(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed} weeks`, logger.tags.mining); + logger.info(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed} weeks`, logger.tags.mining); } else { logger.debug(`Weekly mining pools hashrates indexing completed: indexed ${newlyIndexed} weeks`, logger.tags.mining); } @@ -373,7 +373,7 @@ class Mining { this.lastHashrateIndexingDate = new Date().getUTCDate(); if (newlyIndexed > 0) { - logger.notice(`Daily network hashrate indexing completed: indexed ${newlyIndexed} days`, logger.tags.mining); + logger.info(`Daily network hashrate indexing completed: indexed ${newlyIndexed} days`, logger.tags.mining); } else { logger.debug(`Daily network hashrate indexing completed: indexed ${newlyIndexed} days`, logger.tags.mining); } @@ -452,7 +452,7 @@ class Mining { } if (totalIndexed > 0) { - logger.notice(`Indexed ${totalIndexed} difficulty adjustments`, logger.tags.mining); + logger.info(`Indexed ${totalIndexed} difficulty adjustments`, logger.tags.mining); } else { logger.debug(`Indexed ${totalIndexed} difficulty adjustments`, logger.tags.mining); } diff --git a/backend/src/tasks/lightning/sync-tasks/stats-importer.ts b/backend/src/tasks/lightning/sync-tasks/stats-importer.ts index 14f592a14..d009ce052 100644 --- a/backend/src/tasks/lightning/sync-tasks/stats-importer.ts +++ b/backend/src/tasks/lightning/sync-tasks/stats-importer.ts @@ -411,7 +411,7 @@ class LightningStatsImporter { } if (totalProcessed > 0) { - logger.notice(`Lightning network stats historical import completed`, logger.tags.ln); + logger.info(`Lightning network stats historical import completed`, logger.tags.ln); } } catch (e) { logger.err(`Lightning network stats historical failed. Reason: ${e instanceof Error ? e.message : e}`, logger.tags.ln); diff --git a/backend/src/tasks/pools-updater.ts b/backend/src/tasks/pools-updater.ts index 32de85f3a..d8b77cf01 100644 --- a/backend/src/tasks/pools-updater.ts +++ b/backend/src/tasks/pools-updater.ts @@ -82,7 +82,7 @@ class PoolsUpdater { logger.err(`Could not migrate mining pools, rolling back. Exception: ${JSON.stringify(e)}`, logger.tags.mining); await DB.query('ROLLBACK;'); } - logger.notice('PoolsUpdater completed'); + logger.info('PoolsUpdater completed'); } catch (e) { this.lastRun = now - (oneWeek - oneDay); // Try again in 24h instead of waiting next week diff --git a/backend/src/tasks/price-feeds/kraken-api.ts b/backend/src/tasks/price-feeds/kraken-api.ts index c6b3c0c11..ebc784c6f 100644 --- a/backend/src/tasks/price-feeds/kraken-api.ts +++ b/backend/src/tasks/price-feeds/kraken-api.ts @@ -98,7 +98,7 @@ class KrakenApi implements PriceFeed { } if (Object.keys(priceHistory).length > 0) { - logger.notice(`Inserted ${Object.keys(priceHistory).length} Kraken EUR, USD, GBP, JPY, CAD, CHF and AUD weekly price history into db`, logger.tags.mining); + logger.info(`Inserted ${Object.keys(priceHistory).length} Kraken EUR, USD, GBP, JPY, CAD, CHF and AUD weekly price history into db`, logger.tags.mining); } } } From ff7c85180dd2cc0d37a741a384a2264573629fe9 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 3 Mar 2023 17:49:48 +0900 Subject: [PATCH 28/44] Fix initial pool update when db is empty --- backend/src/tasks/pools-updater.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/backend/src/tasks/pools-updater.ts b/backend/src/tasks/pools-updater.ts index 32de85f3a..3a3ceaab6 100644 --- a/backend/src/tasks/pools-updater.ts +++ b/backend/src/tasks/pools-updater.ts @@ -12,7 +12,7 @@ import * as https from 'https'; */ class PoolsUpdater { lastRun: number = 0; - currentSha: string | undefined = undefined; + currentSha: string | null = null; poolsUrl: string = config.MEMPOOL.POOLS_JSON_URL; treeUrl: string = config.MEMPOOL.POOLS_JSON_TREE_URL; @@ -33,7 +33,7 @@ class PoolsUpdater { try { const githubSha = await this.fetchPoolsSha(); // Fetch pools-v2.json sha from github - if (githubSha === undefined) { + if (githubSha === null) { return; } @@ -42,12 +42,12 @@ class PoolsUpdater { } logger.debug(`pools-v2.json sha | Current: ${this.currentSha} | Github: ${githubSha}`); - if (this.currentSha !== undefined && this.currentSha === githubSha) { + if (this.currentSha !== null && this.currentSha === githubSha) { return; } // See backend README for more details about the mining pools update process - if (this.currentSha !== undefined && // If we don't have any mining pool, download it at least once + if (this.currentSha !== null && // If we don't have any mining pool, download it at least once config.MEMPOOL.AUTOMATIC_BLOCK_REINDEXING !== true && // Automatic pools update is disabled !process.env.npm_config_update_pools // We're not manually updating mining pool ) { @@ -57,7 +57,7 @@ class PoolsUpdater { } const network = config.SOCKS5PROXY.ENABLED ? 'tor' : 'clearnet'; - if (this.currentSha === undefined) { + if (this.currentSha === null) { logger.info(`Downloading pools-v2.json for the first time from ${this.poolsUrl} over ${network}`, logger.tags.mining); } else { logger.warn(`pools-v2.json is outdated, fetch latest from ${this.poolsUrl} over ${network}`, logger.tags.mining); @@ -108,20 +108,20 @@ class PoolsUpdater { /** * Fetch our latest pools-v2.json sha from the db */ - private async getShaFromDb(): Promise { + private async getShaFromDb(): Promise { try { const [rows]: any[] = await DB.query('SELECT string FROM state WHERE name="pools_json_sha"'); - return (rows.length > 0 ? rows[0].string : undefined); + return (rows.length > 0 ? rows[0].string : null); } catch (e) { logger.err('Cannot fetch pools-v2.json sha from db. Reason: ' + (e instanceof Error ? e.message : e), logger.tags.mining); - return undefined; + return null; } } /** * Fetch our latest pools-v2.json sha from github */ - private async fetchPoolsSha(): Promise { + private async fetchPoolsSha(): Promise { const response = await this.query(this.treeUrl); if (response !== undefined) { @@ -133,7 +133,7 @@ class PoolsUpdater { } logger.err(`Cannot find "pools-v2.json" in git tree (${this.treeUrl})`, logger.tags.mining); - return undefined; + return null; } /** From 62ef1d4439c863373a25d5149484f9f11ceadf23 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Fri, 3 Mar 2023 17:52:16 +0900 Subject: [PATCH 29/44] Fix log typo --- backend/src/api/disk-cache.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/api/disk-cache.ts b/backend/src/api/disk-cache.ts index 83d37fe3f..01bbb4d3f 100644 --- a/backend/src/api/disk-cache.ts +++ b/backend/src/api/disk-cache.ts @@ -62,7 +62,7 @@ class DiskCache { } wipeCache() { - logger.notice(`Wipping nodejs backend cache/cache*.json files`); + logger.notice(`Wiping nodejs backend cache/cache*.json files`); try { fs.unlinkSync(DiskCache.FILE_NAME); } catch (e: any) { From 43bed7cf5640a11a631f6a0009c54e3e35a2f261 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sat, 4 Mar 2023 23:13:55 -0600 Subject: [PATCH 30/44] Monitor heap memory usage --- backend/src/index.ts | 29 +++++++++++++++++++++++++++++ backend/src/utils/format.ts | 29 +++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 backend/src/utils/format.ts diff --git a/backend/src/index.ts b/backend/src/index.ts index 3ace7a5f2..f2b845ea1 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -38,6 +38,8 @@ import forensicsService from './tasks/lightning/forensics.service'; import priceUpdater from './tasks/price-updater'; import chainTips from './api/chain-tips'; import { AxiosError } from 'axios'; +import v8 from 'v8'; +import { formatBytes, getBytesUnit } from './utils/format'; class Server { private wss: WebSocket.Server | undefined; @@ -45,6 +47,11 @@ class Server { private app: Application; private currentBackendRetryInterval = 5; + private maxHeapSize: number = 0; + private heapLogInterval: number = 60; + private warnedHeapCritical: boolean = false; + private lastHeapLogTime: number | null = null; + constructor() { this.app = express(); @@ -137,6 +144,8 @@ class Server { this.runMainUpdateLoop(); } + setInterval(() => { this.healthCheck(); }, 2500); + if (config.BISQ.ENABLED) { bisq.startBisqService(); bisq.setPriceCallbackFunction((price) => websocketHandler.setExtraInitProperties('bsq-price', price)); @@ -255,6 +264,26 @@ class Server { channelsRoutes.initRoutes(this.app); } } + + healthCheck(): void { + const now = Date.now(); + const stats = v8.getHeapStatistics(); + this.maxHeapSize = Math.max(stats.used_heap_size, this.maxHeapSize); + const warnThreshold = 0.95 * stats.heap_size_limit; + + const byteUnits = getBytesUnit(Math.max(this.maxHeapSize, stats.heap_size_limit)); + + if (!this.warnedHeapCritical && this.maxHeapSize > warnThreshold) { + this.warnedHeapCritical = true; + logger.warn(`Used ${(this.maxHeapSize / stats.heap_size_limit).toFixed(2)}% of heap limit (${formatBytes(this.maxHeapSize, byteUnits, true)} / ${formatBytes(stats.heap_size_limit, byteUnits)})!`); + } + if (this.lastHeapLogTime === null || (now - this.lastHeapLogTime) > (this.heapLogInterval * 1000)) { + logger.debug(`Memory usage: ${formatBytes(this.maxHeapSize, byteUnits)} / ${formatBytes(stats.heap_size_limit, byteUnits)}`); + this.warnedHeapCritical = false; + this.maxHeapSize = 0; + this.lastHeapLogTime = now; + } + } } ((): Server => new Server())(); diff --git a/backend/src/utils/format.ts b/backend/src/utils/format.ts new file mode 100644 index 000000000..a18ce1892 --- /dev/null +++ b/backend/src/utils/format.ts @@ -0,0 +1,29 @@ +const byteUnits = ['B', 'kB', 'MB', 'GB', 'TB']; + +export function getBytesUnit(bytes: number): string { + if (isNaN(bytes) || !isFinite(bytes)) { + return 'B'; + } + + let unitIndex = 0; + while (unitIndex < byteUnits.length && bytes > 1024) { + unitIndex++; + bytes /= 1024; + } + + return byteUnits[unitIndex]; +} + +export function formatBytes(bytes: number, toUnit: string, skipUnit = false): string { + if (isNaN(bytes) || !isFinite(bytes)) { + return `${bytes}`; + } + + let unitIndex = 0; + while (unitIndex < byteUnits.length && (toUnit && byteUnits[unitIndex] !== toUnit || (!toUnit && bytes > 1024))) { + unitIndex++; + bytes /= 1024; + } + + return `${bytes.toFixed(2)}${skipUnit ? '' : ' ' + byteUnits[unitIndex]}`; +} \ No newline at end of file From f37946118cf8799f3881129a09934c5272b1e5e6 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 5 Mar 2023 15:45:28 +0900 Subject: [PATCH 31/44] Change heap size warning to 80% utilization --- backend/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/index.ts b/backend/src/index.ts index f2b845ea1..fbe9c08c2 100644 --- a/backend/src/index.ts +++ b/backend/src/index.ts @@ -269,7 +269,7 @@ class Server { const now = Date.now(); const stats = v8.getHeapStatistics(); this.maxHeapSize = Math.max(stats.used_heap_size, this.maxHeapSize); - const warnThreshold = 0.95 * stats.heap_size_limit; + const warnThreshold = 0.8 * stats.heap_size_limit; const byteUnits = getBytesUnit(Math.max(this.maxHeapSize, stats.heap_size_limit)); From d5ea2aec25a2549051b25809da1df3367d306034 Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 5 Mar 2023 17:08:35 +0900 Subject: [PATCH 32/44] I18n extract. Some minor fixes. --- .../lightning/channel/channel.component.html | 2 +- .../app/lightning/node/node.component.html | 2 +- .../top-nodes-per-channels.component.html | 2 +- frontend/src/locale/messages.xlf | 182 ++++++++---------- 4 files changed, 84 insertions(+), 104 deletions(-) diff --git a/frontend/src/app/lightning/channel/channel.component.html b/frontend/src/app/lightning/channel/channel.component.html index 951cb8090..2766f1d15 100644 --- a/frontend/src/app/lightning/channel/channel.component.html +++ b/frontend/src/app/lightning/channel/channel.component.html @@ -20,7 +20,7 @@
- No channel found for short id "{{ channel.short_id }}" + No channel found for ID "{{ channel.short_id }}"
- No node found for public key "{{ node.public_key | shortenString : 12}}" + No node found for public key "{{ node.public_key | shortenString : 12}}"
diff --git a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html index 4bab712a8..652a70cc3 100644 --- a/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html +++ b/frontend/src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html @@ -11,7 +11,7 @@ Alias Channels Capacity - {{ currency$ | async }} + {{ currency$ | async }} First seen Last update Location diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index 3e4c29cfe..dae2acd3a 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -715,7 +715,7 @@ src/app/components/about/about.component.html - 385,389 + 375,378 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -1349,14 +1349,14 @@ Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. src/app/components/about/about.component.html - 13,17 + 13,16 Enterprise Sponsors 🚀 src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1364,7 +1364,7 @@ Community Sponsors ❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1372,7 +1372,7 @@ Community Integrations src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1380,7 +1380,7 @@ Community Alliances src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1388,7 +1388,7 @@ Project Translators src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1396,7 +1396,7 @@ Project Contributors src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1404,7 +1404,7 @@ Project Members src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1412,7 +1412,7 @@ Project Maintainers src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1420,7 +1420,7 @@ About src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1466,7 +1466,7 @@ src/app/components/amount/amount.component.html - 18,21 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -2502,11 +2502,11 @@ src/app/lightning/node/node.component.html - 52,55 + 55,58 src/app/lightning/node/node.component.html - 96,100 + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2696,15 +2696,15 @@ src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2723,10 +2723,6 @@ src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -4294,7 +4290,7 @@ src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4310,11 +4306,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -4982,7 +4978,7 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats @@ -5088,7 +5084,7 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html @@ -5104,7 +5100,7 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html @@ -5120,7 +5116,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5140,7 +5136,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5152,7 +5148,7 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html @@ -5186,6 +5182,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5220,11 +5220,11 @@ Lightning channel src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5232,11 +5232,11 @@ Last update src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5252,11 +5252,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5264,7 +5264,7 @@ Closing date src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html @@ -5276,7 +5276,7 @@ Closed by src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by @@ -5284,7 +5284,7 @@ Opening transaction src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction @@ -5292,7 +5292,7 @@ Closing transaction src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5368,11 +5368,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -5628,10 +5628,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -5684,11 +5680,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -5724,7 +5720,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5740,11 +5736,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -5778,9 +5774,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -5854,11 +5858,11 @@ src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -5870,7 +5874,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -5882,7 +5886,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -5894,19 +5898,11 @@ country - - No node found for public key "" - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg @@ -5914,7 +5910,7 @@ Avg channel distance src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance @@ -5922,7 +5918,7 @@ Color src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color @@ -5930,7 +5926,7 @@ ISP src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -5942,7 +5938,7 @@ Exclusively on Tor src/app/lightning/node/node.component.html - 93,95 + 96,98 tor @@ -5950,7 +5946,7 @@ Liquidity ad src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad @@ -5958,7 +5954,7 @@ Lease fee rate src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -5967,7 +5963,7 @@ Lease base fee src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee @@ -5975,7 +5971,7 @@ Funding weight src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight @@ -5983,7 +5979,7 @@ Channel fee rate src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -5992,7 +5988,7 @@ Channel base fee src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee @@ -6000,7 +5996,7 @@ Compact lease src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease @@ -6008,7 +6004,7 @@ TLV extension records src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6016,7 +6012,7 @@ Open channels src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6024,7 +6020,7 @@ Closed channels src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6088,8 +6084,8 @@ 112,107 - - Reachable on Clearnet Only + + Clearnet and Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6099,8 +6095,8 @@ 303,302 - - Reachable on Clearnet and Darknet + + Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6110,8 +6106,8 @@ 295,294 - - Reachable on Darknet Only + + Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6343,22 +6339,6 @@ 27 - - Top 100 nodes liquidity ranking - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes From 154e65d470f1b52ce738bd8288c9b0baae28d29a Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 5 Mar 2023 17:30:32 +0900 Subject: [PATCH 33/44] Fix string for "Clearnet Only" --- .../nodes-networks-chart/nodes-networks-chart.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts index e257864fa..43d1e24dd 100644 --- a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts +++ b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -182,7 +182,7 @@ export class NodesNetworksChartComponent implements OnInit { { zlevel: 1, yAxisIndex: 0, - name: $localize`Clearnet (IPv4, IPv6)`, + name: $localize`Clearnet Only (IPv4, IPv6)`, showSymbol: false, symbol: 'none', data: data.clearnet_nodes, From 226a4e9bde1b6c7d9ce832e3e812620da3f5ed26 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 5 Mar 2023 17:34:30 +0900 Subject: [PATCH 34/44] Fix two more strings for "Clearnet Only" --- .../nodes-networks-chart/nodes-networks-chart.component.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts index 43d1e24dd..603f6d714 100644 --- a/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts +++ b/frontend/src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -292,7 +292,7 @@ export class NodesNetworksChartComponent implements OnInit { icon: 'roundRect', }, { - name: $localize`Clearnet (IPv4, IPv6)`, + name: $localize`Clearnet Only (IPv4, IPv6)`, inactiveColor: 'rgb(110, 112, 121)', textStyle: { color: 'white', @@ -318,7 +318,7 @@ export class NodesNetworksChartComponent implements OnInit { ], selected: this.widget ? undefined : JSON.parse(this.storageService.getValue('nodes_networks_legend')) ?? { '$localize`Darknet Only (Tor, I2P, cjdns)`': true, - '$localize`Clearnet (IPv4, IPv6)`': true, + '$localize`Clearnet Only (IPv4, IPv6)`': true, '$localize`Clearnet and Darknet`': true, '$localize`:@@e5d8bb389c702588877f039d72178f219453a72d:Unknown`': true, } From c50f5d45e1a86d81296c472bf03a527e2e14c55e Mon Sep 17 00:00:00 2001 From: softsimon Date: Sun, 5 Mar 2023 17:37:15 +0900 Subject: [PATCH 35/44] Update clearnet i18n string --- frontend/src/locale/messages.xlf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/locale/messages.xlf b/frontend/src/locale/messages.xlf index dae2acd3a..49d42a2f1 100644 --- a/frontend/src/locale/messages.xlf +++ b/frontend/src/locale/messages.xlf @@ -6095,8 +6095,8 @@ 303,302 - - Clearnet (IPv4, IPv6) + + Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 From c28d1c46100d5ef09ab0c269d393b1187bb0cd43 Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Sun, 5 Mar 2023 17:43:59 +0900 Subject: [PATCH 36/44] Show ln channel world map using 100% height --- .../nodes-channels-map/nodes-channels-map.component.scss | 4 ---- .../nodes-channels-map/nodes-channels-map.component.ts | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss index 07da6ed15..09c029d66 100644 --- a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss +++ b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.scss @@ -4,10 +4,6 @@ &.widget { height: 250px; } - - &.graph { - height: auto; - } } .card-header { diff --git a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts index c998bdd2f..71b5d3afd 100644 --- a/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts +++ b/frontend/src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts @@ -229,6 +229,7 @@ export class NodesChannelsMap implements OnInit { title: title ?? undefined, tooltip: {}, geo: { + top: 75, animation: false, silent: true, center: this.center, From ac932c641cb0ca28013fd78454fb4f6e0483d568 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 5 Mar 2023 18:54:04 -0600 Subject: [PATCH 37/44] unify time rendering components --- .../bisq/bisq-block/bisq-block.component.html | 2 +- .../bisq-blocks/bisq-blocks.component.html | 2 +- .../bisq-transaction.component.html | 2 +- .../bisq-transactions.component.html | 2 +- .../blockchain-blocks.component.html | 2 +- .../blocks-list/blocks-list.component.html | 2 +- ...ifficulty-adjustments-table.component.html | 2 +- .../difficulty/difficulty.component.html | 4 +- .../mempool-blocks.component.html | 4 +- .../app/components/pool/pool.component.html | 2 +- .../time-since/time-since.component.ts | 98 ---------------- .../time-span/time-span.component.ts | 91 --------------- .../time-until/time-until.component.ts | 104 ----------------- .../src/app/components/time/time.component.ts | 108 ++++++++++++++++++ .../transaction/transaction.component.html | 10 +- .../transactions-list.component.html | 2 +- .../app/dashboard/dashboard.component.html | 2 +- .../timestamp/timestamp.component.html | 2 +- frontend/src/app/shared/shared.module.ts | 12 +- 19 files changed, 131 insertions(+), 322 deletions(-) delete mode 100644 frontend/src/app/components/time-since/time-since.component.ts delete mode 100644 frontend/src/app/components/time-span/time-span.component.ts delete mode 100644 frontend/src/app/components/time-until/time-until.component.ts create mode 100644 frontend/src/app/components/time/time.component.ts diff --git a/frontend/src/app/bisq/bisq-block/bisq-block.component.html b/frontend/src/app/bisq/bisq-block/bisq-block.component.html index 9cc2ad699..4f79d8838 100644 --- a/frontend/src/app/bisq/bisq-block/bisq-block.component.html +++ b/frontend/src/app/bisq/bisq-block/bisq-block.component.html @@ -24,7 +24,7 @@ ‎{{ block.time | date:'yyyy-MM-dd HH:mm' }}
- () + ()
diff --git a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html index 750e2e3b1..15f15b258 100644 --- a/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html +++ b/frontend/src/app/bisq/bisq-blocks/bisq-blocks.component.html @@ -17,7 +17,7 @@ {{ block.height }} - + {{ calculateTotalOutput(block) / 100 | number: '1.2-2' }} BSQ {{ block.txs.length }} diff --git a/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html b/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html index 11f981774..3a23688e6 100644 --- a/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html +++ b/frontend/src/app/bisq/bisq-transaction/bisq-transaction.component.html @@ -35,7 +35,7 @@ ‎{{ bisqTx.time | date:'yyyy-MM-dd HH:mm' }}
- () + ()
diff --git a/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html b/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html index 8d34448d8..bc22414ca 100644 --- a/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html +++ b/frontend/src/app/bisq/bisq-transactions/bisq-transactions.component.html @@ -37,7 +37,7 @@ {{ calculateTotalOutput(tx.outputs) / 100 | number: '1.2-2' }} BSQ - + {{ tx.blockHeight }} diff --git a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html index 746c5fa5c..8323cf8c6 100644 --- a/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html +++ b/frontend/src/app/components/blockchain-blocks/blockchain-blocks.component.html @@ -47,7 +47,7 @@ {{ i }} transactions
-
+
- + {{ diffChange.height }} - + {{ diffChange.difficultyShorten }} diff --git a/frontend/src/app/components/difficulty/difficulty.component.html b/frontend/src/app/components/difficulty/difficulty.component.html index e030f74fa..ce0bf7eff 100644 --- a/frontend/src/app/components/difficulty/difficulty.component.html +++ b/frontend/src/app/components/difficulty/difficulty.component.html @@ -10,7 +10,7 @@ {{ i }} blocks {{ i }} block
-
+
Estimate
@@ -53,7 +53,7 @@ {{ i }} blocks {{ i }} block
-
+
diff --git a/frontend/src/app/components/mempool-blocks/mempool-blocks.component.html b/frontend/src/app/components/mempool-blocks/mempool-blocks.component.html index 9e70c6e74..692f7d863 100644 --- a/frontend/src/app/components/mempool-blocks/mempool-blocks.component.html +++ b/frontend/src/app/components/mempool-blocks/mempool-blocks.component.html @@ -23,10 +23,10 @@
- + - +
diff --git a/frontend/src/app/components/pool/pool.component.html b/frontend/src/app/components/pool/pool.component.html index 53982ca86..0ae32ccb8 100644 --- a/frontend/src/app/components/pool/pool.component.html +++ b/frontend/src/app/components/pool/pool.component.html @@ -227,7 +227,7 @@ ‎{{ block.timestamp * 1000 | date:'yyyy-MM-dd HH:mm' }} - + diff --git a/frontend/src/app/components/time-since/time-since.component.ts b/frontend/src/app/components/time-since/time-since.component.ts deleted file mode 100644 index c8941a665..000000000 --- a/frontend/src/app/components/time-since/time-since.component.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core'; -import { StateService } from '../../services/state.service'; -import { dates } from '../../shared/i18n/dates'; - -@Component({ - selector: 'app-time-since', - template: `{{ text }}`, - changeDetection: ChangeDetectionStrategy.OnPush -}) -export class TimeSinceComponent implements OnInit, OnChanges, OnDestroy { - interval: number; - text: string; - intervals = {}; - - @Input() time: number; - @Input() dateString: number; - @Input() fastRender = false; - - constructor( - private ref: ChangeDetectorRef, - private stateService: StateService, - ) { - this.intervals = { - year: 31536000, - month: 2592000, - week: 604800, - day: 86400, - hour: 3600, - minute: 60, - second: 1 - }; - } - - ngOnInit() { - if (!this.stateService.isBrowser) { - this.text = this.calculate(); - this.ref.markForCheck(); - return; - } - this.interval = window.setInterval(() => { - this.text = this.calculate(); - this.ref.markForCheck(); - }, 1000 * (this.fastRender ? 1 : 60)); - } - - ngOnChanges() { - this.text = this.calculate(); - this.ref.markForCheck(); - } - - ngOnDestroy() { - clearInterval(this.interval); - } - - calculate() { - let date: Date; - if (this.dateString) { - date = new Date(this.dateString) - } else { - date = new Date(this.time * 1000); - } - const seconds = Math.floor((+new Date() - +date) / 1000); - if (seconds < 60) { - return $localize`:@@date-base.just-now:Just now`; - } - let counter: number; - for (const i in this.intervals) { - if (this.intervals.hasOwnProperty(i)) { - counter = Math.floor(seconds / this.intervals[i]); - const dateStrings = dates(counter); - if (counter > 0) { - if (counter === 1) { - switch (i) { // singular (1 day) - case 'year': return $localize`:@@time-since:${dateStrings.i18nYear}:DATE: ago`; break; - case 'month': return $localize`:@@time-since:${dateStrings.i18nMonth}:DATE: ago`; break; - case 'week': return $localize`:@@time-since:${dateStrings.i18nWeek}:DATE: ago`; break; - case 'day': return $localize`:@@time-since:${dateStrings.i18nDay}:DATE: ago`; break; - case 'hour': return $localize`:@@time-since:${dateStrings.i18nHour}:DATE: ago`; break; - case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinute}:DATE: ago`; break; - case 'second': return $localize`:@@time-since:${dateStrings.i18nSecond}:DATE: ago`; break; - } - } else { - switch (i) { // plural (2 days) - case 'year': return $localize`:@@time-since:${dateStrings.i18nYears}:DATE: ago`; break; - case 'month': return $localize`:@@time-since:${dateStrings.i18nMonths}:DATE: ago`; break; - case 'week': return $localize`:@@time-since:${dateStrings.i18nWeeks}:DATE: ago`; break; - case 'day': return $localize`:@@time-since:${dateStrings.i18nDays}:DATE: ago`; break; - case 'hour': return $localize`:@@time-since:${dateStrings.i18nHours}:DATE: ago`; break; - case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinutes}:DATE: ago`; break; - case 'second': return $localize`:@@time-since:${dateStrings.i18nSeconds}:DATE: ago`; break; - } - } - } - } - } - } - -} diff --git a/frontend/src/app/components/time-span/time-span.component.ts b/frontend/src/app/components/time-span/time-span.component.ts deleted file mode 100644 index 03a438164..000000000 --- a/frontend/src/app/components/time-span/time-span.component.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core'; -import { StateService } from '../../services/state.service'; -import { dates } from '../../shared/i18n/dates'; - -@Component({ - selector: 'app-time-span', - template: `{{ text }}`, - changeDetection: ChangeDetectionStrategy.OnPush -}) -export class TimeSpanComponent implements OnInit, OnChanges, OnDestroy { - interval: number; - text: string; - intervals = {}; - - @Input() time: number; - @Input() fastRender = false; - - constructor( - private ref: ChangeDetectorRef, - private stateService: StateService, - ) { - this.intervals = { - year: 31536000, - month: 2592000, - week: 604800, - day: 86400, - hour: 3600, - minute: 60, - second: 1 - }; - } - - ngOnInit() { - if (!this.stateService.isBrowser) { - this.text = this.calculate(); - this.ref.markForCheck(); - return; - } - this.interval = window.setInterval(() => { - this.text = this.calculate(); - this.ref.markForCheck(); - }, 1000 * (this.fastRender ? 1 : 60)); - } - - ngOnChanges() { - this.text = this.calculate(); - this.ref.markForCheck(); - } - - ngOnDestroy() { - clearInterval(this.interval); - } - - calculate() { - const seconds = Math.floor(this.time); - if (seconds < 60) { - return $localize`:@@date-base.just-now:Just now`; - } - let counter: number; - for (const i in this.intervals) { - if (this.intervals.hasOwnProperty(i)) { - counter = Math.floor(seconds / this.intervals[i]); - const dateStrings = dates(counter); - if (counter > 0) { - if (counter === 1) { - switch (i) { // singular (1 day) - case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYear}:DATE:`; break; - case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonth}:DATE:`; break; - case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeek}:DATE:`; break; - case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDay}:DATE:`; break; - case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHour}:DATE:`; break; - case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinute}:DATE:`; break; - case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSecond}:DATE:`; break; - } - } else { - switch (i) { // plural (2 days) - case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYears}:DATE:`; break; - case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonths}:DATE:`; break; - case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeeks}:DATE:`; break; - case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDays}:DATE:`; break; - case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHours}:DATE:`; break; - case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinutes}:DATE:`; break; - case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSeconds}:DATE:`; break; - } - } - } - } - } - } - -} diff --git a/frontend/src/app/components/time-until/time-until.component.ts b/frontend/src/app/components/time-until/time-until.component.ts deleted file mode 100644 index 2b370b4ac..000000000 --- a/frontend/src/app/components/time-until/time-until.component.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core'; -import { StateService } from '../../services/state.service'; -import { dates } from '../../shared/i18n/dates'; - -@Component({ - selector: 'app-time-until', - template: `{{ text }}`, - changeDetection: ChangeDetectionStrategy.OnPush -}) -export class TimeUntilComponent implements OnInit, OnChanges, OnDestroy { - interval: number; - text: string; - intervals = {}; - - @Input() time: number; - @Input() fastRender = false; - @Input() fixedRender = false; - @Input() forceFloorOnTimeIntervals: string[]; - - constructor( - private ref: ChangeDetectorRef, - private stateService: StateService, - ) { - this.intervals = { - year: 31536000, - month: 2592000, - week: 604800, - day: 86400, - hour: 3600, - minute: 60, - second: 1 - }; - } - - ngOnInit() { - if(this.fixedRender){ - this.text = this.calculate(); - return; - } - - if (!this.stateService.isBrowser) { - this.text = this.calculate(); - this.ref.markForCheck(); - return; - } - this.interval = window.setInterval(() => { - this.text = this.calculate(); - this.ref.markForCheck(); - }, 1000 * (this.fastRender ? 1 : 60)); - } - - ngOnChanges() { - this.text = this.calculate(); - this.ref.markForCheck(); - } - - ngOnDestroy() { - clearInterval(this.interval); - } - - calculate() { - const seconds = (+new Date(this.time) - +new Date()) / 1000; - - if (seconds < 60) { - const dateStrings = dates(1); - return $localize`:@@time-until:In ~${dateStrings.i18nMinute}:DATE:`; - } - let counter: number; - for (const i in this.intervals) { - if (this.intervals.hasOwnProperty(i)) { - if (this.forceFloorOnTimeIntervals && this.forceFloorOnTimeIntervals.indexOf(i) > -1) { - counter = Math.floor(seconds / this.intervals[i]); - } else { - counter = Math.round(seconds / this.intervals[i]); - } - const dateStrings = dates(counter); - if (counter > 0) { - if (counter === 1) { - switch (i) { // singular (In ~1 day) - case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYear}:DATE:`; break; - case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonth}:DATE:`; break; - case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeek}:DATE:`; break; - case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDay}:DATE:`; break; - case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHour}:DATE:`; break; - case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinute}:DATE:`; - case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSecond}:DATE:`; - } - } else { - switch (i) { // plural (In ~2 days) - case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYears}:DATE:`; break; - case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonths}:DATE:`; break; - case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeeks}:DATE:`; break; - case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDays}:DATE:`; break; - case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHours}:DATE:`; break; - case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinutes}:DATE:`; break; - case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSeconds}:DATE:`; break; - } - } - } - } - } - } - -} diff --git a/frontend/src/app/components/time/time.component.ts b/frontend/src/app/components/time/time.component.ts new file mode 100644 index 000000000..f46583fba --- /dev/null +++ b/frontend/src/app/components/time/time.component.ts @@ -0,0 +1,108 @@ +import { Component, OnInit, OnDestroy, ChangeDetectionStrategy, Input, ChangeDetectorRef, OnChanges } from '@angular/core'; +import { StateService } from '../../services/state.service'; +import { dates } from '../../shared/i18n/dates'; + +@Component({ + selector: 'app-time', + template: `{{ text }}`, + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class TimeComponent implements OnInit, OnChanges, OnDestroy { + interval: number; + text: string; + intervals = {}; + + @Input() time: number; + @Input() dateString: number; + @Input() kind: 'plain' | 'since' | 'until' | 'span' = 'plain'; + @Input() fastRender = false; + @Input() fixedRender = false; + @Input() relative = false; + @Input() forceFloorOnTimeIntervals: string[]; + + constructor( + private ref: ChangeDetectorRef, + private stateService: StateService, + ) { + this.intervals = { + Year: 31536000, + Month: 2592000, + Week: 604800, + Day: 86400, + Hour: 3600, + Minute: 60, + Second: 1 + }; + } + + ngOnInit() { + if(this.fixedRender){ + this.text = this.calculate(); + return; + } + if (!this.stateService.isBrowser) { + this.text = this.calculate(); + this.ref.markForCheck(); + return; + } + this.interval = window.setInterval(() => { + this.text = this.calculate(); + this.ref.markForCheck(); + }, 1000 * (this.fastRender ? 1 : 60)); + } + + ngOnChanges() { + this.text = this.calculate(); + this.ref.markForCheck(); + } + + ngOnDestroy() { + clearInterval(this.interval); + } + + calculate() { + let seconds: number; + switch (this.kind) { + case 'since': + seconds = Math.floor((+new Date() - +new Date(this.dateString || this.time * 1000)) / 1000); + break; + case 'until': + seconds = (+new Date(this.time) - +new Date()) / 1000; + break; + default: + seconds = Math.floor(this.time); + } + + if (seconds < 60) { + if (this.relative || this.kind === 'since') { + return $localize`:@@date-base.just-now:Just now`; + } else if (this.kind === 'until') { + seconds = 60; + } + } + + let counter: number; + for (const i in this.intervals) { + if (this.kind !== 'until' || this.forceFloorOnTimeIntervals && this.forceFloorOnTimeIntervals.indexOf(i.toLowerCase()) > -1) { + counter = Math.floor(seconds / this.intervals[i]); + } else { + counter = Math.round(seconds / this.intervals[i]); + } + const dateStrings = dates(counter); + if (counter > 0) { + const dateStringKey = `i18n${i}${counter === 1 ? '' : 's'}`; + switch (this.kind) { + case 'since': + return $localize`:@@time-since:${dateStrings[dateStringKey]}:DATE: ago`; + case 'until': + return $localize`:@@time-until:In ~${dateStrings[dateStringKey]}:DATE:`; + case 'span': + return $localize`:@@time-span:After ${dateStrings[dateStringKey]}:DATE:`; + default: + return dateStrings[dateStringKey]; + } + } + } + } + +} diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 07234f7bc..455c74c99 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -57,14 +57,14 @@ ‎{{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }}
- () + ()
Confirmed - + @@ -100,7 +100,7 @@ First seen - +
@@ -116,10 +116,10 @@ - + - + diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.html b/frontend/src/app/components/transactions-list/transactions-list.component.html index e5280d572..cb54e1870 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.html +++ b/frontend/src/app/components/transactions-list/transactions-list.component.html @@ -6,7 +6,7 @@
‎{{ tx.status.block_time * 1000 | date:'yyyy-MM-dd HH:mm' }} - +
diff --git a/frontend/src/app/dashboard/dashboard.component.html b/frontend/src/app/dashboard/dashboard.component.html index 7c3caccad..add846e24 100644 --- a/frontend/src/app/dashboard/dashboard.component.html +++ b/frontend/src/app/dashboard/dashboard.component.html @@ -93,7 +93,7 @@ {{ block.height }} - + ‎{{ seconds * 1000 | date: customFormat ?? 'yyyy-MM-dd HH:mm' }}
- () + ()
diff --git a/frontend/src/app/shared/shared.module.ts b/frontend/src/app/shared/shared.module.ts index fd257db85..52b469836 100644 --- a/frontend/src/app/shared/shared.module.ts +++ b/frontend/src/app/shared/shared.module.ts @@ -25,8 +25,7 @@ import { BytesPipe } from './pipes/bytes-pipe/bytes.pipe'; import { WuBytesPipe } from './pipes/bytes-pipe/wubytes.pipe'; import { FiatCurrencyPipe } from './pipes/fiat-currency.pipe'; import { BlockchainComponent } from '../components/blockchain/blockchain.component'; -import { TimeSinceComponent } from '../components/time-since/time-since.component'; -import { TimeUntilComponent } from '../components/time-until/time-until.component'; +import { TimeComponent } from '../components/time/time.component'; import { ClipboardComponent } from '../components/clipboard/clipboard.component'; import { QrcodeComponent } from '../components/qrcode/qrcode.component'; import { FiatComponent } from '../fiat/fiat.component'; @@ -53,7 +52,6 @@ import { AddressComponent } from '../components/address/address.component'; import { SearchFormComponent } from '../components/search-form/search-form.component'; import { AddressLabelsComponent } from '../components/address-labels/address-labels.component'; import { FooterComponent } from '../components/footer/footer.component'; -import { TimeSpanComponent } from '../components/time-span/time-span.component'; import { AssetComponent } from '../components/asset/asset.component'; import { AssetsComponent } from '../components/assets/assets.component'; import { AssetsNavComponent } from '../components/assets/assets-nav/assets-nav.component'; @@ -88,8 +86,7 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati @NgModule({ declarations: [ ClipboardComponent, - TimeSinceComponent, - TimeUntilComponent, + TimeComponent, QrcodeComponent, FiatComponent, TxFeaturesComponent, @@ -129,7 +126,6 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati TransactionsListComponent, AddressComponent, SearchFormComponent, - TimeSpanComponent, AddressLabelsComponent, FooterComponent, AssetComponent, @@ -195,8 +191,7 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati NgbCollapseModule, InfiniteScrollModule, FontAwesomeModule, - TimeSinceComponent, - TimeUntilComponent, + TimeComponent, ClipboardComponent, QrcodeComponent, FiatComponent, @@ -232,7 +227,6 @@ import { GeolocationComponent } from '../shared/components/geolocation/geolocati TransactionsListComponent, AddressComponent, SearchFormComponent, - TimeSpanComponent, AddressLabelsComponent, FooterComponent, AssetComponent, From 7f78fefb210bae04797edcfbfd1582bf32de1484 Mon Sep 17 00:00:00 2001 From: Mononaut Date: Sun, 5 Mar 2023 21:09:22 -0600 Subject: [PATCH 38/44] revert time localization strings --- .../src/app/components/time/time.component.ts | 108 +++++++++++++++--- 1 file changed, 95 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/components/time/time.component.ts b/frontend/src/app/components/time/time.component.ts index f46583fba..4cc76975e 100644 --- a/frontend/src/app/components/time/time.component.ts +++ b/frontend/src/app/components/time/time.component.ts @@ -25,13 +25,13 @@ export class TimeComponent implements OnInit, OnChanges, OnDestroy { private stateService: StateService, ) { this.intervals = { - Year: 31536000, - Month: 2592000, - Week: 604800, - Day: 86400, - Hour: 3600, - Minute: 60, - Second: 1 + year: 31536000, + month: 2592000, + week: 604800, + day: 86400, + hour: 3600, + minute: 60, + second: 1 }; } @@ -83,23 +83,105 @@ export class TimeComponent implements OnInit, OnChanges, OnDestroy { let counter: number; for (const i in this.intervals) { - if (this.kind !== 'until' || this.forceFloorOnTimeIntervals && this.forceFloorOnTimeIntervals.indexOf(i.toLowerCase()) > -1) { + if (this.kind !== 'until' || this.forceFloorOnTimeIntervals && this.forceFloorOnTimeIntervals.indexOf(i) > -1) { counter = Math.floor(seconds / this.intervals[i]); } else { counter = Math.round(seconds / this.intervals[i]); } const dateStrings = dates(counter); if (counter > 0) { - const dateStringKey = `i18n${i}${counter === 1 ? '' : 's'}`; switch (this.kind) { case 'since': - return $localize`:@@time-since:${dateStrings[dateStringKey]}:DATE: ago`; + if (counter === 1) { + switch (i) { // singular (1 day) + case 'year': return $localize`:@@time-since:${dateStrings.i18nYear}:DATE: ago`; break; + case 'month': return $localize`:@@time-since:${dateStrings.i18nMonth}:DATE: ago`; break; + case 'week': return $localize`:@@time-since:${dateStrings.i18nWeek}:DATE: ago`; break; + case 'day': return $localize`:@@time-since:${dateStrings.i18nDay}:DATE: ago`; break; + case 'hour': return $localize`:@@time-since:${dateStrings.i18nHour}:DATE: ago`; break; + case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinute}:DATE: ago`; break; + case 'second': return $localize`:@@time-since:${dateStrings.i18nSecond}:DATE: ago`; break; + } + } else { + switch (i) { // plural (2 days) + case 'year': return $localize`:@@time-since:${dateStrings.i18nYears}:DATE: ago`; break; + case 'month': return $localize`:@@time-since:${dateStrings.i18nMonths}:DATE: ago`; break; + case 'week': return $localize`:@@time-since:${dateStrings.i18nWeeks}:DATE: ago`; break; + case 'day': return $localize`:@@time-since:${dateStrings.i18nDays}:DATE: ago`; break; + case 'hour': return $localize`:@@time-since:${dateStrings.i18nHours}:DATE: ago`; break; + case 'minute': return $localize`:@@time-since:${dateStrings.i18nMinutes}:DATE: ago`; break; + case 'second': return $localize`:@@time-since:${dateStrings.i18nSeconds}:DATE: ago`; break; + } + } + break; case 'until': - return $localize`:@@time-until:In ~${dateStrings[dateStringKey]}:DATE:`; + if (counter === 1) { + switch (i) { // singular (In ~1 day) + case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYear}:DATE:`; break; + case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonth}:DATE:`; break; + case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeek}:DATE:`; break; + case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDay}:DATE:`; break; + case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHour}:DATE:`; break; + case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinute}:DATE:`; + case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSecond}:DATE:`; + } + } else { + switch (i) { // plural (In ~2 days) + case 'year': return $localize`:@@time-until:In ~${dateStrings.i18nYears}:DATE:`; break; + case 'month': return $localize`:@@time-until:In ~${dateStrings.i18nMonths}:DATE:`; break; + case 'week': return $localize`:@@time-until:In ~${dateStrings.i18nWeeks}:DATE:`; break; + case 'day': return $localize`:@@time-until:In ~${dateStrings.i18nDays}:DATE:`; break; + case 'hour': return $localize`:@@time-until:In ~${dateStrings.i18nHours}:DATE:`; break; + case 'minute': return $localize`:@@time-until:In ~${dateStrings.i18nMinutes}:DATE:`; break; + case 'second': return $localize`:@@time-until:In ~${dateStrings.i18nSeconds}:DATE:`; break; + } + } + break; case 'span': - return $localize`:@@time-span:After ${dateStrings[dateStringKey]}:DATE:`; + if (counter === 1) { + switch (i) { // singular (1 day) + case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYear}:DATE:`; break; + case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonth}:DATE:`; break; + case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeek}:DATE:`; break; + case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDay}:DATE:`; break; + case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHour}:DATE:`; break; + case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinute}:DATE:`; break; + case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSecond}:DATE:`; break; + } + } else { + switch (i) { // plural (2 days) + case 'year': return $localize`:@@time-span:After ${dateStrings.i18nYears}:DATE:`; break; + case 'month': return $localize`:@@time-span:After ${dateStrings.i18nMonths}:DATE:`; break; + case 'week': return $localize`:@@time-span:After ${dateStrings.i18nWeeks}:DATE:`; break; + case 'day': return $localize`:@@time-span:After ${dateStrings.i18nDays}:DATE:`; break; + case 'hour': return $localize`:@@time-span:After ${dateStrings.i18nHours}:DATE:`; break; + case 'minute': return $localize`:@@time-span:After ${dateStrings.i18nMinutes}:DATE:`; break; + case 'second': return $localize`:@@time-span:After ${dateStrings.i18nSeconds}:DATE:`; break; + } + } + break; default: - return dateStrings[dateStringKey]; + if (counter === 1) { + switch (i) { // singular (1 day) + case 'year': return dateStrings.i18nYear; break; + case 'month': return dateStrings.i18nMonth; break; + case 'week': return dateStrings.i18nWeek; break; + case 'day': return dateStrings.i18nDay; break; + case 'hour': return dateStrings.i18nHour; break; + case 'minute': return dateStrings.i18nMinute; break; + case 'second': return dateStrings.i18nSecond; break; + } + } else { + switch (i) { // plural (2 days) + case 'year': return dateStrings.i18nYears; break; + case 'month': return dateStrings.i18nMonths; break; + case 'week': return dateStrings.i18nWeeks; break; + case 'day': return dateStrings.i18nDays; break; + case 'hour': return dateStrings.i18nHours; break; + case 'minute': return dateStrings.i18nMinutes; break; + case 'second': return dateStrings.i18nSeconds; break; + } + } } } } From 182cb1669531df2d19324fd68d54c92b5e7adf7d Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 6 Mar 2023 00:02:21 -0600 Subject: [PATCH 39/44] Fix unnecessary cpfp 404 responses --- backend/src/api/bitcoin/bitcoin.routes.ts | 11 +++++------ backend/src/api/mining/mining-routes.ts | 2 +- .../transaction/transaction.component.html | 3 ++- .../transaction/transaction.component.ts | 3 +++ .../transactions-list.component.ts | 13 ++++++++++--- .../tx-bowtie-graph/tx-bowtie-graph.component.ts | 15 ++++++++++++--- 6 files changed, 33 insertions(+), 14 deletions(-) diff --git a/backend/src/api/bitcoin/bitcoin.routes.ts b/backend/src/api/bitcoin/bitcoin.routes.ts index 2d5077bc4..c6323d041 100644 --- a/backend/src/api/bitcoin/bitcoin.routes.ts +++ b/backend/src/api/bitcoin/bitcoin.routes.ts @@ -220,18 +220,17 @@ class BitcoinRoutes { let cpfpInfo; if (config.DATABASE.ENABLED) { cpfpInfo = await transactionRepository.$getCpfpInfo(req.params.txId); + } + if (cpfpInfo) { + res.json(cpfpInfo); + return; } else { res.json({ ancestors: [] }); return; } - if (cpfpInfo) { - res.json(cpfpInfo); - return; - } } - res.status(404).send(`Transaction has no CPFP info available.`); } private getBackendInfo(req: Request, res: Response) { @@ -652,7 +651,7 @@ class BitcoinRoutes { if (result) { res.json(result); } else { - res.status(404).send('not found'); + res.status(204).send(); } } catch (e) { res.status(500).send(e instanceof Error ? e.message : e); diff --git a/backend/src/api/mining/mining-routes.ts b/backend/src/api/mining/mining-routes.ts index f7f392068..0198f9ab4 100644 --- a/backend/src/api/mining/mining-routes.ts +++ b/backend/src/api/mining/mining-routes.ts @@ -263,7 +263,7 @@ class MiningRoutes { const audit = await BlocksAuditsRepository.$getBlockAudit(req.params.hash); if (!audit) { - res.status(404).send(`This block has not been audited.`); + res.status(204).send(`This block has not been audited.`); return; } diff --git a/frontend/src/app/components/transaction/transaction.component.html b/frontend/src/app/components/transaction/transaction.component.html index 455c74c99..0cd4a86c2 100644 --- a/frontend/src/app/components/transaction/transaction.component.html +++ b/frontend/src/app/components/transaction/transaction.component.html @@ -210,6 +210,7 @@
- +

Details

diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index 4fedc3912..d41ba4b63 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -57,6 +57,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { fetchCpfp$ = new Subject(); fetchRbfHistory$ = new Subject(); fetchCachedTx$ = new Subject(); + isCached: boolean = false; now = new Date().getTime(); timeAvg$: Observable; liquidUnblinding = new LiquidUnblinding(); @@ -196,6 +197,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { } this.tx = tx; + this.isCached = true; if (tx.fee === undefined) { this.tx.fee = 0; } @@ -289,6 +291,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { } this.tx = tx; + this.isCached = false; if (tx.fee === undefined) { this.tx.fee = 0; } diff --git a/frontend/src/app/components/transactions-list/transactions-list.component.ts b/frontend/src/app/components/transactions-list/transactions-list.component.ts index c720d5960..afda646d7 100644 --- a/frontend/src/app/components/transactions-list/transactions-list.component.ts +++ b/frontend/src/app/components/transactions-list/transactions-list.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit, Input, ChangeDetectionStrategy, OnChanges, Output, EventEmitter, ChangeDetectorRef } from '@angular/core'; import { StateService } from '../../services/state.service'; import { CacheService } from '../../services/cache.service'; -import { Observable, ReplaySubject, BehaviorSubject, merge, Subscription } from 'rxjs'; +import { Observable, ReplaySubject, BehaviorSubject, merge, Subscription, of } from 'rxjs'; import { Outspend, Transaction, Vin, Vout } from '../../interfaces/electrs.interface'; import { ElectrsApiService } from '../../services/electrs-api.service'; import { environment } from '../../../environments/environment'; @@ -23,6 +23,7 @@ export class TransactionsListComponent implements OnInit, OnChanges { showMoreIncrement = 1000; @Input() transactions: Transaction[]; + @Input() cached: boolean = false; @Input() showConfirmations = false; @Input() transactionPage = false; @Input() errorUnblinded = false; @@ -67,7 +68,13 @@ export class TransactionsListComponent implements OnInit, OnChanges { this.outspendsSubscription = merge( this.refreshOutspends$ .pipe( - switchMap((txIds) => this.apiService.getOutspendsBatched$(txIds)), + switchMap((txIds) => { + if (!this.cached) { + return this.apiService.getOutspendsBatched$(txIds); + } else { + return of([]); + } + }), tap((outspends: Outspend[][]) => { if (!this.transactions) { return; @@ -155,7 +162,7 @@ export class TransactionsListComponent implements OnInit, OnChanges { ).subscribe(); }); const txIds = this.transactions.filter((tx) => !tx._outspends).map((tx) => tx.txid); - if (txIds.length) { + if (txIds.length && !this.cached) { this.refreshOutspends$.next(txIds); } if (this.stateService.env.LIGHTNING) { diff --git a/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.ts b/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.ts index 6be475243..1c5ee5391 100644 --- a/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.ts +++ b/frontend/src/app/components/tx-bowtie-graph/tx-bowtie-graph.component.ts @@ -2,7 +2,7 @@ import { Component, OnInit, Input, OnChanges, HostListener, Inject, LOCALE_ID } import { StateService } from '../../services/state.service'; import { Outspend, Transaction } from '../../interfaces/electrs.interface'; import { Router } from '@angular/router'; -import { ReplaySubject, merge, Subscription } from 'rxjs'; +import { ReplaySubject, merge, Subscription, of } from 'rxjs'; import { tap, switchMap } from 'rxjs/operators'; import { ApiService } from '../../services/api.service'; import { RelativeUrlPipe } from '../../shared/pipes/relative-url/relative-url.pipe'; @@ -40,6 +40,7 @@ interface Xput { export class TxBowtieGraphComponent implements OnInit, OnChanges { @Input() tx: Transaction; @Input() network: string; + @Input() cached: boolean = false; @Input() width = 1200; @Input() height = 600; @Input() lineLimit = 250; @@ -107,7 +108,13 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges { this.outspendsSubscription = merge( this.refreshOutspends$ .pipe( - switchMap((txid) => this.apiService.getOutspendsBatched$([txid])), + switchMap((txid) => { + if (!this.cached) { + return this.apiService.getOutspendsBatched$([txid]); + } else { + return of(null); + } + }), tap((outspends: Outspend[][]) => { if (!this.tx || !outspends || !outspends.length) { return; @@ -132,7 +139,9 @@ export class TxBowtieGraphComponent implements OnInit, OnChanges { ngOnChanges(): void { this.initGraph(); - this.refreshOutspends$.next(this.tx.txid); + if (!this.cached) { + this.refreshOutspends$.next(this.tx.txid); + } } initGraph(): void { From 43b2fe2f9a503958a692f3ba1cf8d9f74521419d Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 6 Mar 2023 00:19:12 -0600 Subject: [PATCH 40/44] don't cache tx data for rbf replacements --- frontend/src/app/components/transaction/transaction.component.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/frontend/src/app/components/transaction/transaction.component.ts b/frontend/src/app/components/transaction/transaction.component.ts index 4fedc3912..b416dce04 100644 --- a/frontend/src/app/components/transaction/transaction.component.ts +++ b/frontend/src/app/components/transaction/transaction.component.ts @@ -362,7 +362,6 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy { this.waitingForTransaction = false; } this.rbfTransaction = rbfTransaction; - this.cacheService.setTxCache([this.rbfTransaction]); this.replaced = true; if (rbfTransaction && !this.tx) { this.fetchCachedTx$.next(this.txId); From fb71136daef38f142bb60eb2965379a4946d0f72 Mon Sep 17 00:00:00 2001 From: softsimon Date: Tue, 7 Mar 2023 11:11:02 +0900 Subject: [PATCH 41/44] Pull from transifex --- frontend/src/locale/messages.de.xlf | 191 +++-- frontend/src/locale/messages.es.xlf | 709 +++++++++++------- frontend/src/locale/messages.fr.xlf | 191 +++-- frontend/src/locale/messages.ja.xlf | 711 +++++++++++------- frontend/src/locale/messages.ka.xlf | 1070 ++++++++++++++++++--------- frontend/src/locale/messages.ko.xlf | 833 +++++++++++++-------- frontend/src/locale/messages.lt.xlf | 914 ++++++++++++++--------- frontend/src/locale/messages.sv.xlf | 707 +++++++++++------- 8 files changed, 3236 insertions(+), 2090 deletions(-) diff --git a/frontend/src/locale/messages.de.xlf b/frontend/src/locale/messages.de.xlf index e22f0c7db..c09016a1e 100644 --- a/frontend/src/locale/messages.de.xlf +++ b/frontend/src/locale/messages.de.xlf @@ -775,7 +775,7 @@ src/app/components/about/about.component.html - 385,389 + 375,378 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -1452,7 +1452,7 @@ Unser Mempool- und Blockchain-Explorer für die Bitcoin-Community, der sich auf den Markt für Transaktionsgebühren und das mehrschichtige Ökosystem konzentriert und vollständig selbst gehostet wird, ohne vertrauenswürdige Drittanbieter. src/app/components/about/about.component.html - 13,17 + 13,16 @@ -1460,7 +1460,7 @@ Unternehmenssponsoren src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1469,7 +1469,7 @@ Community-Sponsoren ❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1478,7 +1478,7 @@ Community Integrationen src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1487,7 +1487,7 @@ Community-Allianzen src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1496,7 +1496,7 @@ Projektübersetzer src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1505,7 +1505,7 @@ Projektmitwirkende src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1514,7 +1514,7 @@ Projektmitglieder src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1523,7 +1523,7 @@ Projektbetreuer src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1532,7 +1532,7 @@ Über src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1581,7 +1581,7 @@ src/app/components/amount/amount.component.html - 18,21 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -2686,11 +2686,11 @@ src/app/lightning/node/node.component.html - 52,55 + 55,58 src/app/lightning/node/node.component.html - 96,100 + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2895,15 +2895,15 @@ src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2923,10 +2923,6 @@ src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -4614,7 +4610,7 @@ src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4630,11 +4626,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -5370,7 +5366,7 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats @@ -5488,7 +5484,7 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html @@ -5505,7 +5501,7 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html @@ -5522,7 +5518,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5543,7 +5539,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5556,7 +5552,7 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html @@ -5590,6 +5586,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5626,11 +5626,11 @@ Lightning-Kanal src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5639,11 +5639,11 @@ Letzte Aktualisierung src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5659,11 +5659,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5672,7 +5672,7 @@ Schließdatum src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html @@ -5685,7 +5685,7 @@ Geschlossen von src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by @@ -5694,7 +5694,7 @@ Öffnende Transaktion src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction @@ -5703,7 +5703,7 @@ Schließende Transaktion src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5786,11 +5786,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -6064,10 +6064,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -6121,11 +6117,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -6163,7 +6159,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -6179,11 +6175,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -6221,9 +6217,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -6303,11 +6307,11 @@ src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -6320,7 +6324,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -6333,7 +6337,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -6346,21 +6350,12 @@ country - - No node found for public key "" - Keinen Node gefunden für Public-Key &quot;&quot; - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size Durchschnittliche Kanalgröße src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg @@ -6369,7 +6364,7 @@ Durchschn. Kanalentfernung src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance @@ -6378,7 +6373,7 @@ Farbe src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color @@ -6387,7 +6382,7 @@ ISP src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6400,7 +6395,7 @@ Ausschließlich auf Tor src/app/lightning/node/node.component.html - 93,95 + 96,98 tor @@ -6409,7 +6404,7 @@ Liquiditätswerbung src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad @@ -6418,7 +6413,7 @@ Lease Gebührensatz src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6428,7 +6423,7 @@ Lease Basisgebühr src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee @@ -6437,7 +6432,7 @@ Finanzierungsgewicht src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight @@ -6446,7 +6441,7 @@ Kanal-Gebührenrate src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6456,7 +6451,7 @@ Kanal-Basisgebühr src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee @@ -6465,7 +6460,7 @@ Compact_lease src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease @@ -6474,7 +6469,7 @@ LV Erweiterungs-Datensätze src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6483,7 +6478,7 @@ Offene Kanäle src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6492,7 +6487,7 @@ Geschlossene Kanäle src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6562,9 +6557,9 @@ 112,107 - - Reachable on Clearnet Only - Nur im Klarnetz erreichbar + + Clearnet and Darknet + Clearnet und Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6574,9 +6569,9 @@ 303,302 - - Reachable on Clearnet and Darknet - Im Klarnetz und Darknet erreichbar + + Clearnet Only (IPv4, IPv6) + Nur Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6586,9 +6581,9 @@ 295,294 - - Reachable on Darknet Only - Nur im Darknet erreichbar + + Darknet Only (Tor, I2P, cjdns) + Nur Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6844,24 +6839,6 @@ 27 - - Top 100 nodes liquidity ranking - Top 100 Nodes nach Liquidität - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - Top 100 Nodes nach Anbindung - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes Älteste Nodes diff --git a/frontend/src/locale/messages.es.xlf b/frontend/src/locale/messages.es.xlf index 064f3dd8b..5bb69bfd9 100644 --- a/frontend/src/locale/messages.es.xlf +++ b/frontend/src/locale/messages.es.xlf @@ -359,11 +359,11 @@ src/app/components/block/block.component.html - 303,304 + 310,311 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 26,27 + 46,47 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -384,11 +384,11 @@ src/app/components/block/block.component.html - 304,305 + 311,312 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 27,28 + 47,48 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -406,7 +406,7 @@ Block - B loque + Bloque src/app/bisq/bisq-block/bisq-block.component.html 4 @@ -598,7 +598,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 94,96 + 94,95 @@ -775,16 +775,24 @@ src/app/components/about/about.component.html - 385,389 + 375,378 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 88 src/app/dashboard/dashboard.component.html - 150,152 + 157,159 src/app/docs/docs/docs.component.html 51 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 97 + Terms of Service shared.terms-of-service @@ -795,14 +803,22 @@ src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 113,120 + + src/app/components/mining-dashboard/mining-dashboard.component.html + 90 + src/app/dashboard/dashboard.component.html - 152,154 + 159,161 src/app/docs/docs/docs.component.html 53 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 99 + Privacy Policy shared.privacy-policy @@ -990,7 +1006,7 @@ src/app/dashboard/dashboard.component.html - 124,125 + 124,126 @@ -1038,7 +1054,7 @@ src/app/components/transaction/transaction.component.html - 158,160 + 152,154 src/app/components/transactions-list/transactions-list.component.html @@ -1054,11 +1070,11 @@ src/app/components/block/block.component.html - 245,246 + 252,253 src/app/components/transaction/transaction.component.html - 288,290 + 282,284 transaction.version @@ -1108,7 +1124,7 @@ src/app/components/transactions-list/transactions-list.component.html - 294,295 + 296,297 Transaction singular confirmation count shared.confirmation-count.singular @@ -1130,7 +1146,7 @@ src/app/components/transactions-list/transactions-list.component.html - 295,296 + 297,298 Transaction plural confirmation count shared.confirmation-count.plural @@ -1142,10 +1158,6 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html 43,45 - - src/app/components/transaction/transaction.component.html - 65,67 - Transaction included in block transaction.included-in-block @@ -1158,11 +1170,11 @@ src/app/components/transaction/transaction.component.html - 77,80 + 71,74 src/app/components/transaction/transaction.component.html - 135,138 + 129,132 Transaction features transaction.features @@ -1190,11 +1202,11 @@ src/app/components/transaction/transaction.component.html - 262,267 + 256,261 src/app/components/transaction/transaction.component.html - 406,412 + 400,406 transaction.details @@ -1211,11 +1223,11 @@ src/app/components/transaction/transaction.component.html - 249,253 + 243,247 src/app/components/transaction/transaction.component.html - 377,383 + 371,377 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1233,7 +1245,7 @@ src/app/components/transaction/transaction.component.ts - 241,240 + 244,243 @@ -1253,7 +1265,7 @@ src/app/components/transaction/transaction.component.html - 159,160 + 153,154 src/app/dashboard/dashboard.component.html @@ -1269,7 +1281,7 @@ src/app/components/transaction/transaction.component.html - 72,73 + 66,67 Transaction Confirmed state transaction.confirmed @@ -1440,7 +1452,7 @@ Nuestro explorador de bloques y mempool para la comunidad Bitcoin, con foco en las tasas de mercado de transacciones y el ecosistema multicapa, completamente auto-hosteado sin terceras partes de confianza. src/app/components/about/about.component.html - 13,17 + 13,16 @@ -1448,7 +1460,7 @@ Empresas patrocinadoras 🚀 src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1457,7 +1469,7 @@ Patrocinadores de la comunidad ❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1466,7 +1478,7 @@ Integraciones de la comunidad src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1475,7 +1487,7 @@ Alianzas de la comunidad src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1484,7 +1496,7 @@ Traductores del proyecto src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1493,7 +1505,7 @@ Contribuyentes al proyecto src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1502,7 +1514,7 @@ Miembros del proyecto src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1511,7 +1523,7 @@ Mantenedores del proyecto src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1520,7 +1532,7 @@ Sobre nosotros src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1569,7 +1581,7 @@ src/app/components/amount/amount.component.html - 6,9 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -1585,7 +1597,7 @@ src/app/components/transactions-list/transactions-list.component.html - 302,304 + 304,306 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2049,7 +2061,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 161 + 165 @@ -2065,7 +2077,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 163 + 167 @@ -2077,7 +2089,7 @@ src/app/components/block-fees-graph/block-fees-graph.component.ts - 62 + 67 src/app/components/graphs/graphs.component.html @@ -2090,15 +2102,15 @@ Indexando bloques src/app/components/block-fees-graph/block-fees-graph.component.ts - 110,105 + 116,111 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 108,103 + 113,108 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 115,110 + 116,111 src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -2143,7 +2155,7 @@ src/app/components/transaction/transaction.component.html - 478 + 472 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2169,11 +2181,11 @@ src/app/components/transaction/transaction.component.html - 478,479 + 472 src/app/components/transactions-list/transactions-list.component.html - 286,287 + 288 sat shared.sat @@ -2187,11 +2199,11 @@ src/app/components/transaction/transaction.component.html - 161,165 + 155,159 src/app/components/transaction/transaction.component.html - 481,483 + 475,477 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2221,19 +2233,19 @@ src/app/components/block/block.component.html - 123,126 + 124,127 src/app/components/block/block.component.html - 127 + 128,130 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 12,14 + 19,22 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 15,17 + 30,33 src/app/components/fees-box/fees-box.component.html @@ -2273,27 +2285,27 @@ src/app/components/transaction/transaction.component.html - 173,174 + 167,168 src/app/components/transaction/transaction.component.html - 184,185 + 178,179 src/app/components/transaction/transaction.component.html - 195,196 + 189,190 src/app/components/transaction/transaction.component.html - 483,486 + 477,480 src/app/components/transaction/transaction.component.html - 494,496 + 488,490 src/app/components/transactions-list/transactions-list.component.html - 286 + 286,287 src/app/dashboard/dashboard.component.html @@ -2301,7 +2313,7 @@ src/app/dashboard/dashboard.component.html - 206,210 + 213,217 sat/vB shared.sat-vbyte @@ -2315,11 +2327,11 @@ src/app/components/transaction/transaction.component.html - 160,162 + 154,156 src/app/components/transaction/transaction.component.html - 274,277 + 268,271 Transaction Virtual Size transaction.vsize @@ -2432,7 +2444,7 @@ src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 60 + 65 src/app/components/graphs/graphs.component.html @@ -2462,11 +2474,11 @@ Tamaño src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 180,179 + 184,183 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 226,224 + 239,237 src/app/components/block/block.component.html @@ -2494,7 +2506,7 @@ src/app/components/transaction/transaction.component.html - 270,272 + 264,266 src/app/dashboard/dashboard.component.html @@ -2506,11 +2518,11 @@ Peso src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 188,187 + 192,191 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 257,254 + 270,267 src/app/components/block/block-preview.component.html @@ -2522,7 +2534,19 @@ src/app/components/transaction/transaction.component.html - 278,280 + 272,274 + + + + Size per weight + tamaño por peso + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 200,199 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 282,279 @@ -2538,15 +2562,6 @@ shared.block-title - - - - - src/app/components/block/block-preview.component.html - 11,12 - - shared.block-title - Median fee Tasa mediana @@ -2556,7 +2571,7 @@ src/app/components/block/block.component.html - 126,127 + 127,128 src/app/components/mempool-block/mempool-block.component.html @@ -2573,11 +2588,11 @@ src/app/components/block/block.component.html - 131,133 + 138,140 src/app/components/block/block.component.html - 157,160 + 164,167 src/app/components/mempool-block/mempool-block.component.html @@ -2595,7 +2610,7 @@ src/app/components/block/block.component.html - 166,168 + 173,175 block.miner @@ -2608,7 +2623,7 @@ src/app/components/block/block.component.ts - 234 + 242 @@ -2662,12 +2677,20 @@ 60,63 - src/app/lightning/node/node.component.html - 52,55 + src/app/components/pool-ranking/pool-ranking.component.html + 121,124 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 src/app/lightning/node/node.component.html - 96,100 + 55,58 + + + src/app/lightning/node/node.component.html + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2684,7 +2707,7 @@ Rango de tasas src/app/components/block/block.component.html - 122,123 + 123,124 src/app/components/mempool-block/mempool-block.component.html @@ -2697,7 +2720,7 @@ Basado en el promedio de 140 vBytes de las transacciones segwit nativas src/app/components/block/block.component.html - 127,129 + 131,136 src/app/components/fees-box/fees-box.component.html @@ -2721,16 +2744,16 @@ Transaction fee tooltip - - Subsidy + fees: - Subsidio + tasas: + + Subsidy + fees + Subsidio + gastos src/app/components/block/block.component.html - 146,149 + 153,156 src/app/components/block/block.component.html - 161,165 + 168,172 Total subsidy and fees in a block block.subsidy-and-fees @@ -2740,7 +2763,7 @@ Esperado src/app/components/block/block.component.html - 209 + 216 block.expected @@ -2749,11 +2772,11 @@ beta src/app/components/block/block.component.html - 209,210 + 216,217 src/app/components/block/block.component.html - 215,217 + 222,224 beta @@ -2762,7 +2785,7 @@ Actua src/app/components/block/block.component.html - 211,215 + 218,222 block.actual @@ -2771,7 +2794,7 @@ Bloque esperado src/app/components/block/block.component.html - 215 + 222 block.expected-block @@ -2780,7 +2803,7 @@ Bloque real src/app/components/block/block.component.html - 224 + 231 block.actual-block @@ -2789,7 +2812,7 @@ Bits src/app/components/block/block.component.html - 249,251 + 256,258 block.bits @@ -2798,7 +2821,7 @@ Raíz de Merkle src/app/components/block/block.component.html - 253,255 + 260,262 block.merkle-root @@ -2807,7 +2830,7 @@ Dificultad src/app/components/block/block.component.html - 264,267 + 271,274 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -2836,7 +2859,7 @@ Nonce src/app/components/block/block.component.html - 268,270 + 275,277 block.nonce @@ -2845,7 +2868,7 @@ Block Header Hex src/app/components/block/block.component.html - 272,273 + 279,280 block.header @@ -2854,7 +2877,7 @@ Auditoría src/app/components/block/block.component.html - 290,294 + 297,301 Toggle Audit block.toggle-audit @@ -2864,23 +2887,23 @@ Detalles src/app/components/block/block.component.html - 297,301 + 304,308 src/app/components/transaction/transaction.component.html - 254,259 + 248,253 src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2890,20 +2913,16 @@ Error cargando datos src/app/components/block/block.component.html - 316,318 + 323,325 src/app/components/block/block.component.html - 355,359 + 362,366 src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -2919,7 +2938,7 @@ Por qué está este bloque vacío? src/app/components/block/block.component.html - 377,383 + 384,390 block.empty-block-explanation @@ -3028,7 +3047,7 @@ src/app/dashboard/dashboard.component.html - 212,216 + 219,223 dashboard.txs @@ -3267,7 +3286,7 @@ src/app/dashboard/dashboard.component.html - 239,240 + 246,247 dashboard.incoming-transactions @@ -3280,7 +3299,7 @@ src/app/dashboard/dashboard.component.html - 242,245 + 249,252 dashboard.backend-is-synchronizing @@ -3293,7 +3312,7 @@ src/app/dashboard/dashboard.component.html - 247,252 + 254,259 vB/s shared.vbytes-per-second @@ -3307,7 +3326,7 @@ src/app/dashboard/dashboard.component.html - 210,211 + 217,218 Unconfirmed count dashboard.unconfirmed @@ -3683,6 +3702,32 @@ dashboard.adjustments + + Broadcast Transaction + Transmitir transacción + + src/app/components/mining-dashboard/mining-dashboard.component.html + 92 + + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/dashboard/dashboard.component.html + 161,169 + + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 102 + + Broadcast Transaction + shared.broadcast-transaction + Pools luck (1 week) Suerte de las pools (1 semana) @@ -3750,7 +3795,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 136,138 + 152,154 master-page.blocks @@ -3780,12 +3825,25 @@ mining.rank + + Avg Health + El promedio de salud + + src/app/components/pool-ranking/pool-ranking.component.html + 96,97 + + + src/app/components/pool-ranking/pool-ranking.component.html + 96,98 + + latest-blocks.avg_health + Empty blocks Bloques vacíos src/app/components/pool-ranking/pool-ranking.component.html - 95,98 + 97,100 mining.empty-blocks @@ -3794,7 +3852,7 @@ Todos los mineros src/app/components/pool-ranking/pool-ranking.component.html - 113,114 + 129,130 mining.all-miners @@ -3803,7 +3861,7 @@ Suerte de pools (7 días) src/app/components/pool-ranking/pool-ranking.component.html - 130,132 + 146,148 mining.miners-luck @@ -3812,7 +3870,7 @@ Conteo de pools (7 días) src/app/components/pool-ranking/pool-ranking.component.html - 142,144 + 158,160 mining.miners-count @@ -3821,7 +3879,7 @@ Pools de minado src/app/components/pool-ranking/pool-ranking.component.ts - 57 + 58 @@ -4011,8 +4069,7 @@ 24h - 24h - + 24h src/app/components/pool/pool.component.html 147 @@ -4049,24 +4106,6 @@ latest-blocks.coinbasetag - - Broadcast Transaction - Transmitir transacción - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 154,162 - - Broadcast Transaction - shared.broadcast-transaction - Transaction hex Transacción en hex @@ -4076,7 +4115,7 @@ src/app/components/transaction/transaction.component.html - 296,297 + 290,291 transaction.hex @@ -4201,6 +4240,78 @@ search-form.search-title + + Bitcoin Block Height + Altura del bloque de Bitcoin + + src/app/components/search-form/search-results/search-results.component.html + 3 + + search.bitcoin-block-height + + + Bitcoin Transaction + Transacción de Bitcoin + + src/app/components/search-form/search-results/search-results.component.html + 9 + + search.bitcoin-transaction + + + Bitcoin Address + Dirección de Bitcoin + + src/app/components/search-form/search-results/search-results.component.html + 15 + + search.bitcoin-address + + + Bitcoin Block + Bloque de Bitcoin + + src/app/components/search-form/search-results/search-results.component.html + 21 + + search.bitcoin-block + + + Bitcoin Addresses + Direcciones de Bitcoin + + src/app/components/search-form/search-results/search-results.component.html + 27 + + search.bitcoin-addresses + + + Lightning Nodes + Nodos de lightning + + src/app/components/search-form/search-results/search-results.component.html + 35 + + search.lightning-nodes + + + Lightning Channels + Canales de lightning + + src/app/components/search-form/search-results/search-results.component.html + 43 + + search.lightning-channels + + + Go to "" + Ir a &quot;&quot; + + src/app/components/search-form/search-results/search-results.component.html + 52 + + search.go-to + Mempool by vBytes (sat/vByte) Mempool en vBytes (sat/vByte) @@ -4485,7 +4596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 298,301 + 300,303 Transaction unconfirmed state transaction.unconfirmed @@ -4495,11 +4606,11 @@ Visto por primera vez src/app/components/transaction/transaction.component.html - 108,109 + 102,103 src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4515,11 +4626,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -4529,7 +4640,7 @@ Tiempo esparado de llegada src/app/components/transaction/transaction.component.html - 115,116 + 109,110 Transaction ETA transaction.eta @@ -4539,7 +4650,7 @@ En unas cuantas horas (o más) src/app/components/transaction/transaction.component.html - 121,124 + 115,118 Transaction ETA in several hours or more transaction.eta.in-several-hours @@ -4549,11 +4660,11 @@ Descendiente src/app/components/transaction/transaction.component.html - 168,170 + 162,164 src/app/components/transaction/transaction.component.html - 179,181 + 173,175 Descendant transaction.descendant @@ -4563,7 +4674,7 @@ Ancestro src/app/components/transaction/transaction.component.html - 190,192 + 184,186 Transaction Ancestor transaction.ancestor @@ -4573,11 +4684,11 @@ Flujo src/app/components/transaction/transaction.component.html - 208,211 + 202,205 src/app/components/transaction/transaction.component.html - 346,350 + 340,344 Transaction flow transaction.flow @@ -4587,7 +4698,7 @@ Esconder diagrama src/app/components/transaction/transaction.component.html - 211,216 + 205,210 hide-diagram @@ -4596,7 +4707,7 @@ Mostrar más src/app/components/transaction/transaction.component.html - 231,233 + 225,227 src/app/components/transactions-list/transactions-list.component.html @@ -4613,7 +4724,7 @@ Mostras menos src/app/components/transaction/transaction.component.html - 233,239 + 227,233 src/app/components/transactions-list/transactions-list.component.html @@ -4626,7 +4737,7 @@ Mostrar diagrama src/app/components/transaction/transaction.component.html - 253,254 + 247,248 show-diagram @@ -4635,7 +4746,7 @@ Tiempo de bloque src/app/components/transaction/transaction.component.html - 292,294 + 286,288 transaction.locktime @@ -4644,7 +4755,7 @@ Transacción no encontrada src/app/components/transaction/transaction.component.html - 455,456 + 449,450 transaction.error.transaction-not-found @@ -4653,7 +4764,7 @@ Esperando a que aparezca en la mempool... src/app/components/transaction/transaction.component.html - 456,461 + 450,455 transaction.error.waiting-for-it-to-appear @@ -4662,7 +4773,7 @@ Ratio de tasa efectiva src/app/components/transaction/transaction.component.html - 491,494 + 485,488 Effective transaction fee rate transaction.effective-fee-rate @@ -4811,7 +4922,7 @@ Mostrar más inputs para revelar datos de tasa src/app/components/transactions-list/transactions-list.component.html - 288,291 + 290,293 transactions-list.load-to-reveal-fee-info @@ -4820,7 +4931,7 @@ restantes src/app/components/transactions-list/transactions-list.component.html - 330,331 + 332,333 x-remaining @@ -5071,21 +5182,12 @@ dashboard.latest-transactions - - USD - USD - - src/app/dashboard/dashboard.component.html - 126,127 - - dashboard.latest-transactions.USD - Minimum fee Tarifa mínima src/app/dashboard/dashboard.component.html - 203,204 + 210,211 Minimum mempool fee dashboard.minimum-fee @@ -5095,7 +5197,7 @@ Purga src/app/dashboard/dashboard.component.html - 204,205 + 211,212 Purgin below fee dashboard.purging @@ -5105,7 +5207,7 @@ Uso de memoria src/app/dashboard/dashboard.component.html - 216,217 + 223,224 Memory usage dashboard.memory-usage @@ -5115,10 +5217,19 @@ L-BTC en circulación src/app/dashboard/dashboard.component.html - 230,232 + 237,239 dashboard.lbtc-pegs-in-circulation + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + memepool.space simplemente proporciona datos sobre la red Bitcoin. No puede ayudarle a recuperar fondos, confirmar su transacción más rápdio, etc. + + src/app/docs/api-docs/api-docs.component.html + 13 + + faq.big-disclaimer + REST API service servicio REST API @@ -5255,7 +5366,7 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats @@ -5373,7 +5484,7 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html @@ -5390,7 +5501,7 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html @@ -5407,7 +5518,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5428,7 +5539,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5441,7 +5552,7 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html @@ -5453,7 +5564,7 @@ src/app/lightning/node-statistics/node-statistics.component.html - 47,50 + 46,49 src/app/lightning/nodes-list/nodes-list.component.html @@ -5475,6 +5586,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5511,11 +5626,11 @@ Canal lightning src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5524,11 +5639,11 @@ Última actualización src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5544,11 +5659,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5557,7 +5672,7 @@ Fecha de cierre src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html @@ -5570,7 +5685,7 @@ Cerrado por src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by @@ -5579,7 +5694,7 @@ Transacción de apertura src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction @@ -5588,7 +5703,7 @@ Transacción de cierre src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5600,6 +5715,30 @@ 37 + + Mutually closed + Cerrado mutuamente + + src/app/lightning/channel/closing-type/closing-type.component.ts + 20 + + + + Force closed + Forzar cierre + + src/app/lightning/channel/closing-type/closing-type.component.ts + 24 + + + + Force closed with penalty + Fuerza cerrada con sanción + + src/app/lightning/channel/closing-type/closing-type.component.ts + 28 + + Open Abierto @@ -5647,11 +5786,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -5726,6 +5865,24 @@ shared.sats + + avg + El promedio + + src/app/lightning/channels-statistics/channels-statistics.component.html + 3,5 + + statistics.average-small + + + med + Media + + src/app/lightning/channels-statistics/channels-statistics.component.html + 6,9 + + statistics.median-small + Avg Capacity Capacidad media @@ -5854,11 +6011,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 17,18 + 16,17 src/app/lightning/node-statistics/node-statistics.component.html - 54,57 + 53,56 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -5907,10 +6064,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -5928,11 +6081,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 29,30 + 28,29 src/app/lightning/node-statistics/node-statistics.component.html - 61,64 + 60,63 src/app/lightning/nodes-list/nodes-list.component.html @@ -5964,11 +6117,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -6006,7 +6159,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -6022,11 +6175,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -6064,9 +6217,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -6096,6 +6257,30 @@ lightning.node-fee-distribution + + Outgoing Fees + Gastos de salida + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 170 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 208 + + + + Incoming Fees + Gastos de entrada + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 178 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 222 + + Percentage change past week Cambio de porcentaje en la última semana @@ -6105,11 +6290,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 18,20 + 17,19 src/app/lightning/node-statistics/node-statistics.component.html - 30,32 + 29,31 mining.percentage-change-last-week @@ -6122,11 +6307,11 @@ src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -6139,7 +6324,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -6152,7 +6337,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -6165,21 +6350,12 @@ country - - No node found for public key "" - No se encontró un nodo para la clave pública &quot;&quot; - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size Tamaño medio del canal src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg @@ -6188,7 +6364,7 @@ Distancia media del canal src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance @@ -6197,7 +6373,7 @@ Color src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color @@ -6206,7 +6382,7 @@ ISP src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6219,7 +6395,7 @@ Exclusivamente en Tor src/app/lightning/node/node.component.html - 93,95 + 96,98 tor @@ -6228,7 +6404,7 @@ Liquidez ad src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad @@ -6237,7 +6413,7 @@ Ratio de tasa de alquiler src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6247,7 +6423,7 @@ Tasa base de alquiler src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee @@ -6256,7 +6432,7 @@ Peso de financiamiento src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight @@ -6265,7 +6441,7 @@ Ratio de tasa de canal src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6275,7 +6451,7 @@ Tasa base del canal src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee @@ -6284,7 +6460,7 @@ Alquiler compacto src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease @@ -6293,7 +6469,7 @@ Registros de extensión TLV src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6302,7 +6478,7 @@ Canales abiertos src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6311,7 +6487,7 @@ Canales cerrados src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6357,7 +6533,7 @@ No hay datos de geolocalización disponibles src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 218,213 + 219,214 @@ -6381,9 +6557,8 @@ 112,107 - - Reachable on Clearnet Only - Accesible solo en Clearnet + + Clearnet and Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6393,9 +6568,8 @@ 303,302 - - Reachable on Clearnet and Darknet - Accesible en Clearnet y Darknet + + Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6405,9 +6579,8 @@ 295,294 - - Reachable on Darknet Only - Accesible solo en Darknet + + Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6663,24 +6836,6 @@ 27 - - Top 100 nodes liquidity ranking - Principales 100 nodos según liquidez - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - Principales 100 nodos según conectividad - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes Nodos más antiguos diff --git a/frontend/src/locale/messages.fr.xlf b/frontend/src/locale/messages.fr.xlf index 476dd8cfe..ccb541bdd 100644 --- a/frontend/src/locale/messages.fr.xlf +++ b/frontend/src/locale/messages.fr.xlf @@ -775,7 +775,7 @@ src/app/components/about/about.component.html - 385,389 + 375,378 src/app/components/mining-dashboard/mining-dashboard.component.html @@ -1452,7 +1452,7 @@ Notre explorateur mempool et blockchain pour la communauté Bitcoin, axé sur le marché des frais de transaction et l'écosystème multicouche, entièrement auto-hébergé sans aucun tiers de confiance. src/app/components/about/about.component.html - 13,17 + 13,16 @@ -1460,7 +1460,7 @@ Entreprises sponsors 🚀 src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1469,7 +1469,7 @@ Sponsors de la communauté ❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1478,7 +1478,7 @@ Intégrations communautaires src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1487,7 +1487,7 @@ Alliances communautaires src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1496,7 +1496,7 @@ Traducteurs src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1505,7 +1505,7 @@ Contributeurs au projet src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1514,7 +1514,7 @@ Membres du projet src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1523,7 +1523,7 @@ Mainteneurs de projet src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1532,7 +1532,7 @@ A propos src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1581,7 +1581,7 @@ src/app/components/amount/amount.component.html - 18,21 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -2686,11 +2686,11 @@ src/app/lightning/node/node.component.html - 52,55 + 55,58 src/app/lightning/node/node.component.html - 96,100 + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2895,15 +2895,15 @@ src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2923,10 +2923,6 @@ src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -4614,7 +4610,7 @@ src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4630,11 +4626,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -5370,7 +5366,7 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats @@ -5488,7 +5484,7 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html @@ -5505,7 +5501,7 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html @@ -5522,7 +5518,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5543,7 +5539,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5556,7 +5552,7 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html @@ -5590,6 +5586,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5626,11 +5626,11 @@ Canal Lightning src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5639,11 +5639,11 @@ Dernière mise à jour src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5659,11 +5659,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5672,7 +5672,7 @@ Date de clôture src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html @@ -5685,7 +5685,7 @@ Fermée par src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by @@ -5694,7 +5694,7 @@ Transaction d'ouverture src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction @@ -5703,7 +5703,7 @@ Transaction de clôture src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5786,11 +5786,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -6064,10 +6064,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -6121,11 +6117,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -6163,7 +6159,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -6179,11 +6175,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -6221,9 +6217,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -6303,11 +6307,11 @@ src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -6320,7 +6324,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -6333,7 +6337,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -6346,21 +6350,12 @@ country - - No node found for public key "" - Aucun nœud trouvé pour la clé publique &quot; &quot; - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size Taille moyenne du canal src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg @@ -6369,7 +6364,7 @@ Distance moyenne des canaux src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance @@ -6378,7 +6373,7 @@ Couleur src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color @@ -6387,7 +6382,7 @@ FAI src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6400,7 +6395,7 @@ Exclusivement sur Tor src/app/lightning/node/node.component.html - 93,95 + 96,98 tor @@ -6409,7 +6404,7 @@ Annonce de liquidité src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad @@ -6418,7 +6413,7 @@ Taux de frais de location src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6428,7 +6423,7 @@ Frais de base de location src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee @@ -6437,7 +6432,7 @@ Poids du financement src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight @@ -6446,7 +6441,7 @@ Taux de frais de canal src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6456,7 +6451,7 @@ Frais de base du canal src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee @@ -6465,7 +6460,7 @@ Location compacte src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease @@ -6474,7 +6469,7 @@ Enregistrements d'extension TLV src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6483,7 +6478,7 @@ Canaux ouverts src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6492,7 +6487,7 @@ Canaux fermés src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6562,9 +6557,9 @@ 112,107 - - Reachable on Clearnet Only - Accessible uniquement sur Clearnet + + Clearnet and Darknet + Clearnet et Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6574,9 +6569,9 @@ 303,302 - - Reachable on Clearnet and Darknet - Accessible sur Clearnet et Darknet + + Clearnet Only (IPv4, IPv6) + Clearnet seulement (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6586,9 +6581,9 @@ 295,294 - - Reachable on Darknet Only - Accessible uniquement sur Darknet + + Darknet Only (Tor, I2P, cjdns) + Darknet seulement (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6844,24 +6839,6 @@ 27 - - Top 100 nodes liquidity ranking - Classement des 100 meilleurs nœuds par liquidité - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - Classement des 100 meilleurs nœuds par connectivité - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes Nœuds les plus anciens diff --git a/frontend/src/locale/messages.ja.xlf b/frontend/src/locale/messages.ja.xlf index 7c68dd849..84b541b9a 100644 --- a/frontend/src/locale/messages.ja.xlf +++ b/frontend/src/locale/messages.ja.xlf @@ -359,11 +359,11 @@ src/app/components/block/block.component.html - 303,304 + 310,311 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 26,27 + 46,47 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -384,11 +384,11 @@ src/app/components/block/block.component.html - 304,305 + 311,312 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 27,28 + 47,48 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -598,7 +598,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 94,96 + 94,95 @@ -775,16 +775,24 @@ src/app/components/about/about.component.html - 385,389 + 375,378 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 88 src/app/dashboard/dashboard.component.html - 150,152 + 157,159 src/app/docs/docs/docs.component.html 51 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 97 + Terms of Service shared.terms-of-service @@ -795,14 +803,22 @@ src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 113,120 + + src/app/components/mining-dashboard/mining-dashboard.component.html + 90 + src/app/dashboard/dashboard.component.html - 152,154 + 159,161 src/app/docs/docs/docs.component.html 53 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 99 + Privacy Policy shared.privacy-policy @@ -990,7 +1006,7 @@ src/app/dashboard/dashboard.component.html - 124,125 + 124,126 @@ -1038,7 +1054,7 @@ src/app/components/transaction/transaction.component.html - 158,160 + 152,154 src/app/components/transactions-list/transactions-list.component.html @@ -1054,11 +1070,11 @@ src/app/components/block/block.component.html - 245,246 + 252,253 src/app/components/transaction/transaction.component.html - 288,290 + 282,284 transaction.version @@ -1108,7 +1124,7 @@ src/app/components/transactions-list/transactions-list.component.html - 294,295 + 296,297 Transaction singular confirmation count shared.confirmation-count.singular @@ -1130,7 +1146,7 @@ src/app/components/transactions-list/transactions-list.component.html - 295,296 + 297,298 Transaction plural confirmation count shared.confirmation-count.plural @@ -1142,10 +1158,6 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html 43,45 - - src/app/components/transaction/transaction.component.html - 65,67 - Transaction included in block transaction.included-in-block @@ -1158,11 +1170,11 @@ src/app/components/transaction/transaction.component.html - 77,80 + 71,74 src/app/components/transaction/transaction.component.html - 135,138 + 129,132 Transaction features transaction.features @@ -1190,11 +1202,11 @@ src/app/components/transaction/transaction.component.html - 262,267 + 256,261 src/app/components/transaction/transaction.component.html - 406,412 + 400,406 transaction.details @@ -1211,11 +1223,11 @@ src/app/components/transaction/transaction.component.html - 249,253 + 243,247 src/app/components/transaction/transaction.component.html - 377,383 + 371,377 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1233,7 +1245,7 @@ src/app/components/transaction/transaction.component.ts - 241,240 + 244,243 @@ -1253,7 +1265,7 @@ src/app/components/transaction/transaction.component.html - 159,160 + 153,154 src/app/dashboard/dashboard.component.html @@ -1269,7 +1281,7 @@ src/app/components/transaction/transaction.component.html - 72,73 + 66,67 Transaction Confirmed state transaction.confirmed @@ -1440,7 +1452,7 @@ ビットコインコミュニティーのための、新興トランザクション手数料市場に中心するメモリープールとブロックチェーンエキスプローラです。 自宅サーバに管理できる上、信頼すべき第三者が不必要です。 src/app/components/about/about.component.html - 13,17 + 13,16 @@ -1448,7 +1460,7 @@ 企業のスポンサー 🚀 src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1457,7 +1469,7 @@ コミュニティーのスポンサー❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1466,7 +1478,7 @@ コミュニティーの統合 src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1475,7 +1487,7 @@ コミュニティーの提携 src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1484,7 +1496,7 @@ プロジェクト翻訳者 src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1493,7 +1505,7 @@ プロジェクト貢献者 src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1502,7 +1514,7 @@ プロジェクトメンバー src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1511,7 +1523,7 @@ プロジェクトメンテナー src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1520,7 +1532,7 @@ このアプリについて src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1537,7 +1549,7 @@ Multisig of - のマルチシグ + / のマルチシグ src/app/components/address-labels/address-labels.component.ts 107 @@ -1569,7 +1581,7 @@ src/app/components/amount/amount.component.html - 6,9 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -1585,7 +1597,7 @@ src/app/components/transactions-list/transactions-list.component.html - 302,304 + 304,306 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2049,7 +2061,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 161 + 165 @@ -2065,7 +2077,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 163 + 167 @@ -2077,7 +2089,7 @@ src/app/components/block-fees-graph/block-fees-graph.component.ts - 62 + 67 src/app/components/graphs/graphs.component.html @@ -2090,15 +2102,15 @@ ブロック索引付け中 src/app/components/block-fees-graph/block-fees-graph.component.ts - 110,105 + 116,111 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 108,103 + 113,108 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 115,110 + 116,111 src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -2143,7 +2155,7 @@ src/app/components/transaction/transaction.component.html - 478 + 472 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2169,11 +2181,11 @@ src/app/components/transaction/transaction.component.html - 478,479 + 472 src/app/components/transactions-list/transactions-list.component.html - 286,287 + 288 sat shared.sat @@ -2187,11 +2199,11 @@ src/app/components/transaction/transaction.component.html - 161,165 + 155,159 src/app/components/transaction/transaction.component.html - 481,483 + 475,477 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2221,19 +2233,19 @@ src/app/components/block/block.component.html - 123,126 + 124,127 src/app/components/block/block.component.html - 127 + 128,130 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 12,14 + 19,22 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 15,17 + 30,33 src/app/components/fees-box/fees-box.component.html @@ -2273,27 +2285,27 @@ src/app/components/transaction/transaction.component.html - 173,174 + 167,168 src/app/components/transaction/transaction.component.html - 184,185 + 178,179 src/app/components/transaction/transaction.component.html - 195,196 + 189,190 src/app/components/transaction/transaction.component.html - 483,486 + 477,480 src/app/components/transaction/transaction.component.html - 494,496 + 488,490 src/app/components/transactions-list/transactions-list.component.html - 286 + 286,287 src/app/dashboard/dashboard.component.html @@ -2301,7 +2313,7 @@ src/app/dashboard/dashboard.component.html - 206,210 + 213,217 sat/vB shared.sat-vbyte @@ -2315,11 +2327,11 @@ src/app/components/transaction/transaction.component.html - 160,162 + 154,156 src/app/components/transaction/transaction.component.html - 274,277 + 268,271 Transaction Virtual Size transaction.vsize @@ -2432,7 +2444,7 @@ src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 60 + 65 src/app/components/graphs/graphs.component.html @@ -2462,11 +2474,11 @@ サイズ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 180,179 + 184,183 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 226,224 + 239,237 src/app/components/block/block.component.html @@ -2494,7 +2506,7 @@ src/app/components/transaction/transaction.component.html - 270,272 + 264,266 src/app/dashboard/dashboard.component.html @@ -2506,11 +2518,11 @@ 重み src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 188,187 + 192,191 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 257,254 + 270,267 src/app/components/block/block-preview.component.html @@ -2522,7 +2534,19 @@ src/app/components/transaction/transaction.component.html - 278,280 + 272,274 + + + + Size per weight + ウェイトあたりのサイズ + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 200,199 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 282,279 @@ -2538,15 +2562,6 @@ shared.block-title - - - - - src/app/components/block/block-preview.component.html - 11,12 - - shared.block-title - Median fee 料金の中央値 @@ -2556,7 +2571,7 @@ src/app/components/block/block.component.html - 126,127 + 127,128 src/app/components/mempool-block/mempool-block.component.html @@ -2573,11 +2588,11 @@ src/app/components/block/block.component.html - 131,133 + 138,140 src/app/components/block/block.component.html - 157,160 + 164,167 src/app/components/mempool-block/mempool-block.component.html @@ -2595,7 +2610,7 @@ src/app/components/block/block.component.html - 166,168 + 173,175 block.miner @@ -2608,7 +2623,7 @@ src/app/components/block/block.component.ts - 234 + 242 @@ -2662,12 +2677,20 @@ 60,63 - src/app/lightning/node/node.component.html - 52,55 + src/app/components/pool-ranking/pool-ranking.component.html + 121,124 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 src/app/lightning/node/node.component.html - 96,100 + 55,58 + + + src/app/lightning/node/node.component.html + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2684,7 +2707,7 @@ 料金スパン src/app/components/block/block.component.html - 122,123 + 123,124 src/app/components/mempool-block/mempool-block.component.html @@ -2697,7 +2720,7 @@ 140vBytesの平均ネイティブsegwitトランザクションに基づく src/app/components/block/block.component.html - 127,129 + 131,136 src/app/components/fees-box/fees-box.component.html @@ -2721,16 +2744,16 @@ Transaction fee tooltip - - Subsidy + fees: - 補助金+手数料: + + Subsidy + fees + 補助金+手数料 src/app/components/block/block.component.html - 146,149 + 153,156 src/app/components/block/block.component.html - 161,165 + 168,172 Total subsidy and fees in a block block.subsidy-and-fees @@ -2740,7 +2763,7 @@ 予定 src/app/components/block/block.component.html - 209 + 216 block.expected @@ -2749,11 +2772,11 @@ ベータ src/app/components/block/block.component.html - 209,210 + 216,217 src/app/components/block/block.component.html - 215,217 + 222,224 beta @@ -2762,7 +2785,7 @@ src/app/components/block/block.component.html - 211,215 + 218,222 block.actual @@ -2771,7 +2794,7 @@ 予定ブロック src/app/components/block/block.component.html - 215 + 222 block.expected-block @@ -2780,7 +2803,7 @@ 実ブロック src/app/components/block/block.component.html - 224 + 231 block.actual-block @@ -2789,7 +2812,7 @@ ビット src/app/components/block/block.component.html - 249,251 + 256,258 block.bits @@ -2798,7 +2821,7 @@ マークル・ルート src/app/components/block/block.component.html - 253,255 + 260,262 block.merkle-root @@ -2807,7 +2830,7 @@ 難易度 src/app/components/block/block.component.html - 264,267 + 271,274 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -2836,7 +2859,7 @@ ノンス src/app/components/block/block.component.html - 268,270 + 275,277 block.nonce @@ -2845,7 +2868,7 @@ ブロックヘッダーの16進値 src/app/components/block/block.component.html - 272,273 + 279,280 block.header @@ -2854,7 +2877,7 @@ 監査 src/app/components/block/block.component.html - 290,294 + 297,301 Toggle Audit block.toggle-audit @@ -2864,23 +2887,23 @@ 詳細 src/app/components/block/block.component.html - 297,301 + 304,308 src/app/components/transaction/transaction.component.html - 254,259 + 248,253 src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2890,20 +2913,16 @@ データ読み込み中にエラーが発生しました。 src/app/components/block/block.component.html - 316,318 + 323,325 src/app/components/block/block.component.html - 355,359 + 362,366 src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -2919,7 +2938,7 @@ このブロックはなぜ空ですか? src/app/components/block/block.component.html - 377,383 + 384,390 block.empty-block-explanation @@ -3028,7 +3047,7 @@ src/app/dashboard/dashboard.component.html - 212,216 + 219,223 dashboard.txs @@ -3267,7 +3286,7 @@ src/app/dashboard/dashboard.component.html - 239,240 + 246,247 dashboard.incoming-transactions @@ -3280,7 +3299,7 @@ src/app/dashboard/dashboard.component.html - 242,245 + 249,252 dashboard.backend-is-synchronizing @@ -3293,7 +3312,7 @@ src/app/dashboard/dashboard.component.html - 247,252 + 254,259 vB/s shared.vbytes-per-second @@ -3307,7 +3326,7 @@ src/app/dashboard/dashboard.component.html - 210,211 + 217,218 Unconfirmed count dashboard.unconfirmed @@ -3683,6 +3702,32 @@ dashboard.adjustments + + Broadcast Transaction + ブロードキャストトランザクション + + src/app/components/mining-dashboard/mining-dashboard.component.html + 92 + + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/dashboard/dashboard.component.html + 161,169 + + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 102 + + Broadcast Transaction + shared.broadcast-transaction + Pools luck (1 week) プール運(1週間) @@ -3750,7 +3795,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 136,138 + 152,154 master-page.blocks @@ -3780,12 +3825,25 @@ mining.rank + + Avg Health + 平均健全性 + + src/app/components/pool-ranking/pool-ranking.component.html + 96,97 + + + src/app/components/pool-ranking/pool-ranking.component.html + 96,98 + + latest-blocks.avg_health + Empty blocks 空ブロック src/app/components/pool-ranking/pool-ranking.component.html - 95,98 + 97,100 mining.empty-blocks @@ -3794,7 +3852,7 @@ すべてのマイナー src/app/components/pool-ranking/pool-ranking.component.html - 113,114 + 129,130 mining.all-miners @@ -3803,7 +3861,7 @@ プールの運(1週間) src/app/components/pool-ranking/pool-ranking.component.html - 130,132 + 146,148 mining.miners-luck @@ -3812,7 +3870,7 @@ プール数(1週間) src/app/components/pool-ranking/pool-ranking.component.html - 142,144 + 158,160 mining.miners-count @@ -3821,7 +3879,7 @@ マイニングプール src/app/components/pool-ranking/pool-ranking.component.ts - 57 + 58 @@ -4048,24 +4106,6 @@ latest-blocks.coinbasetag - - Broadcast Transaction - ブロードキャストトランザクション - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 154,162 - - Broadcast Transaction - shared.broadcast-transaction - Transaction hex トランザクションの16進値 @@ -4075,7 +4115,7 @@ src/app/components/transaction/transaction.component.html - 296,297 + 290,291 transaction.hex @@ -4200,6 +4240,78 @@ search-form.search-title + + Bitcoin Block Height + ビットコインブロック高 + + src/app/components/search-form/search-results/search-results.component.html + 3 + + search.bitcoin-block-height + + + Bitcoin Transaction + ビットコイントランザクション + + src/app/components/search-form/search-results/search-results.component.html + 9 + + search.bitcoin-transaction + + + Bitcoin Address + ビットコインアドレス + + src/app/components/search-form/search-results/search-results.component.html + 15 + + search.bitcoin-address + + + Bitcoin Block + ビットコインブロック + + src/app/components/search-form/search-results/search-results.component.html + 21 + + search.bitcoin-block + + + Bitcoin Addresses + ビットコインアドレス + + src/app/components/search-form/search-results/search-results.component.html + 27 + + search.bitcoin-addresses + + + Lightning Nodes + ライトニングノード + + src/app/components/search-form/search-results/search-results.component.html + 35 + + search.lightning-nodes + + + Lightning Channels + ライトニングチャンネル + + src/app/components/search-form/search-results/search-results.component.html + 43 + + search.lightning-channels + + + Go to "" + &quot;&quot;へ + + src/app/components/search-form/search-results/search-results.component.html + 52 + + search.go-to + Mempool by vBytes (sat/vByte) vByte単位のMempool(サトシ/vByte) @@ -4484,7 +4596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 298,301 + 300,303 Transaction unconfirmed state transaction.unconfirmed @@ -4494,11 +4606,11 @@ 最初に見た src/app/components/transaction/transaction.component.html - 108,109 + 102,103 src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4514,11 +4626,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -4528,7 +4640,7 @@ ETA src/app/components/transaction/transaction.component.html - 115,116 + 109,110 Transaction ETA transaction.eta @@ -4538,7 +4650,7 @@ 数時間(またはそれ以上) src/app/components/transaction/transaction.component.html - 121,124 + 115,118 Transaction ETA in several hours or more transaction.eta.in-several-hours @@ -4548,11 +4660,11 @@ Descendant src/app/components/transaction/transaction.component.html - 168,170 + 162,164 src/app/components/transaction/transaction.component.html - 179,181 + 173,175 Descendant transaction.descendant @@ -4562,7 +4674,7 @@ Ancestor src/app/components/transaction/transaction.component.html - 190,192 + 184,186 Transaction Ancestor transaction.ancestor @@ -4572,11 +4684,11 @@ 流れ src/app/components/transaction/transaction.component.html - 208,211 + 202,205 src/app/components/transaction/transaction.component.html - 346,350 + 340,344 Transaction flow transaction.flow @@ -4586,7 +4698,7 @@ 図表を非表示 src/app/components/transaction/transaction.component.html - 211,216 + 205,210 hide-diagram @@ -4595,7 +4707,7 @@ 詳細を表示 src/app/components/transaction/transaction.component.html - 231,233 + 225,227 src/app/components/transactions-list/transactions-list.component.html @@ -4612,7 +4724,7 @@ 詳細を非表示 src/app/components/transaction/transaction.component.html - 233,239 + 227,233 src/app/components/transactions-list/transactions-list.component.html @@ -4625,7 +4737,7 @@ 図表を表示 src/app/components/transaction/transaction.component.html - 253,254 + 247,248 show-diagram @@ -4634,7 +4746,7 @@ ロックタイム src/app/components/transaction/transaction.component.html - 292,294 + 286,288 transaction.locktime @@ -4643,7 +4755,7 @@ トランザクションが見つかりません。 src/app/components/transaction/transaction.component.html - 455,456 + 449,450 transaction.error.transaction-not-found @@ -4652,7 +4764,7 @@ mempoolに表示されるのを待っています... src/app/components/transaction/transaction.component.html - 456,461 + 450,455 transaction.error.waiting-for-it-to-appear @@ -4661,7 +4773,7 @@ 実効手数料レート src/app/components/transaction/transaction.component.html - 491,494 + 485,488 Effective transaction fee rate transaction.effective-fee-rate @@ -4810,7 +4922,7 @@ 手数料データを見るにはもっとインプットを表示する src/app/components/transactions-list/transactions-list.component.html - 288,291 + 290,293 transactions-list.load-to-reveal-fee-info @@ -4819,7 +4931,7 @@ 残り src/app/components/transactions-list/transactions-list.component.html - 330,331 + 332,333 x-remaining @@ -5070,21 +5182,12 @@ dashboard.latest-transactions - - USD - 米ドル - - src/app/dashboard/dashboard.component.html - 126,127 - - dashboard.latest-transactions.USD - Minimum fee 最低料金 src/app/dashboard/dashboard.component.html - 203,204 + 210,211 Minimum mempool fee dashboard.minimum-fee @@ -5094,7 +5197,7 @@ 削除中 src/app/dashboard/dashboard.component.html - 204,205 + 211,212 Purgin below fee dashboard.purging @@ -5104,7 +5207,7 @@ メモリ使用量 src/app/dashboard/dashboard.component.html - 216,217 + 223,224 Memory usage dashboard.memory-usage @@ -5114,10 +5217,19 @@ 流通しているL-BTC src/app/dashboard/dashboard.component.html - 230,232 + 237,239 dashboard.lbtc-pegs-in-circulation + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + mempool.spaceは単にビットコインネットワークのデータを提供するサービスです。 資金の回収やトランザクションの迅速な承認などの問題についてはお手伝いできません。 + + src/app/docs/api-docs/api-docs.component.html + 13 + + faq.big-disclaimer + REST API service REST API @@ -5254,7 +5366,7 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats @@ -5372,7 +5484,7 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html @@ -5389,7 +5501,7 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html @@ -5406,7 +5518,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5427,7 +5539,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5440,7 +5552,7 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html @@ -5452,7 +5564,7 @@ src/app/lightning/node-statistics/node-statistics.component.html - 47,50 + 46,49 src/app/lightning/nodes-list/nodes-list.component.html @@ -5474,6 +5586,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5510,11 +5626,11 @@ ライトニングチャンネル src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5523,11 +5639,11 @@ 最終更新 src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5543,11 +5659,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5556,7 +5672,7 @@ 閉鎖時間 src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html @@ -5569,7 +5685,7 @@ 閉鎖した方: src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by @@ -5578,7 +5694,7 @@ 最初トランザクション src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction @@ -5587,7 +5703,7 @@ 最終トランザクション src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5599,6 +5715,30 @@ 37 + + Mutually closed + 相互合意クローズ + + src/app/lightning/channel/closing-type/closing-type.component.ts + 20 + + + + Force closed + 強制クローズ + + src/app/lightning/channel/closing-type/closing-type.component.ts + 24 + + + + Force closed with penalty + 罰金付き強制クローズ + + src/app/lightning/channel/closing-type/closing-type.component.ts + 28 + + Open 開く @@ -5646,11 +5786,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -5725,6 +5865,24 @@ shared.sats + + avg + 平均 + + src/app/lightning/channels-statistics/channels-statistics.component.html + 3,5 + + statistics.average-small + + + med + 中央値 + + src/app/lightning/channels-statistics/channels-statistics.component.html + 6,9 + + statistics.median-small + Avg Capacity 平均容量 @@ -5853,11 +6011,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 17,18 + 16,17 src/app/lightning/node-statistics/node-statistics.component.html - 54,57 + 53,56 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -5906,10 +6064,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -5927,11 +6081,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 29,30 + 28,29 src/app/lightning/node-statistics/node-statistics.component.html - 61,64 + 60,63 src/app/lightning/nodes-list/nodes-list.component.html @@ -5963,11 +6117,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -6005,7 +6159,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -6021,11 +6175,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -6063,9 +6217,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -6095,6 +6257,30 @@ lightning.node-fee-distribution + + Outgoing Fees + 外向き手数料 + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 170 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 208 + + + + Incoming Fees + 内向き手数料 + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 178 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 222 + + Percentage change past week この1週間のパーセント変化 @@ -6104,11 +6290,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 18,20 + 17,19 src/app/lightning/node-statistics/node-statistics.component.html - 30,32 + 29,31 mining.percentage-change-last-week @@ -6121,11 +6307,11 @@ src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -6138,7 +6324,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -6151,7 +6337,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -6164,21 +6350,12 @@ country - - No node found for public key "" - 公開キー&quot;&quot;のノードは見つかりませんでした - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size 平均チャンネルサイズ src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg @@ -6187,7 +6364,7 @@ 平均チャンネル距離 src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance @@ -6196,7 +6373,7 @@ src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color @@ -6205,7 +6382,7 @@ プロバイダー src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6218,7 +6395,7 @@ Tor専用 src/app/lightning/node/node.component.html - 93,95 + 96,98 tor @@ -6227,7 +6404,7 @@ 流動性要請の広告 src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad @@ -6236,7 +6413,7 @@ リース手数料レート src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6246,16 +6423,16 @@ リース基本手数料 src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee Funding weight - 資金の重み + 資金のウェイト src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight @@ -6264,7 +6441,7 @@ チャンネル手数料レート src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6274,7 +6451,7 @@ チャンネル基本手数料 src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee @@ -6283,7 +6460,7 @@ Compact lease src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease @@ -6292,7 +6469,7 @@ TLV extension records src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6301,7 +6478,7 @@ 開いたチャンネル src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6310,7 +6487,7 @@ 閉じたチャンネル src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6356,7 +6533,7 @@ 地理位置情報データはありません src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 218,213 + 219,214 @@ -6380,9 +6557,9 @@ 112,107 - - Reachable on Clearnet Only - 透明ネットのみから接続可能 + + Clearnet and Darknet + 透明ネットとダークネット src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6392,9 +6569,9 @@ 303,302 - - Reachable on Clearnet and Darknet - 透明ネットとダークネット両方から接続可能 + + Clearnet Only (IPv4, IPv6) + 透明ネットのみ (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6404,9 +6581,9 @@ 295,294 - - Reachable on Darknet Only - ダークネットのみから接続可能 + + Darknet Only (Tor, I2P, cjdns) + ダークネットのみ (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6662,24 +6839,6 @@ 27 - - Top 100 nodes liquidity ranking - ノード流動性上位100個 - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - ノード接続数上位100個 - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes 古いノード diff --git a/frontend/src/locale/messages.ka.xlf b/frontend/src/locale/messages.ka.xlf index c142776da..cc0d90a08 100644 --- a/frontend/src/locale/messages.ka.xlf +++ b/frontend/src/locale/messages.ka.xlf @@ -11,6 +11,7 @@ Slide of + სლაიდი -დან node_modules/src/carousel/carousel.ts 175,181 @@ -147,6 +148,7 @@ + node_modules/src/progressbar/progressbar.ts 30,33 @@ -357,11 +359,11 @@ src/app/components/block/block.component.html - 290,291 + 310,311 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 26,27 + 46,47 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -382,11 +384,11 @@ src/app/components/block/block.component.html - 291,292 + 311,312 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 27,28 + 47,48 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -424,7 +426,7 @@ src/app/components/block/block.component.html - 40,41 + 38,39 block.hash @@ -449,7 +451,7 @@ src/app/components/block/block.component.html - 44,46 + 42,44 src/app/components/blocks-list/blocks-list.component.html @@ -592,11 +594,11 @@ src/app/components/master-page/master-page.component.html - 49,51 + 48,50 src/app/components/pool-ranking/pool-ranking.component.html - 94,96 + 94,95 @@ -773,16 +775,24 @@ src/app/components/about/about.component.html - 385,389 + 375,378 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 88 src/app/dashboard/dashboard.component.html - 150,152 + 157,159 src/app/docs/docs/docs.component.html 51 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 97 + Terms of Service shared.terms-of-service @@ -793,14 +803,22 @@ src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 113,120 + + src/app/components/mining-dashboard/mining-dashboard.component.html + 90 + src/app/dashboard/dashboard.component.html - 152,154 + 159,161 src/app/docs/docs/docs.component.html 53 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 99 + Privacy Policy shared.privacy-policy @@ -988,7 +1006,7 @@ src/app/dashboard/dashboard.component.html - 124,125 + 124,126 @@ -1036,7 +1054,7 @@ src/app/components/transaction/transaction.component.html - 158,160 + 152,154 src/app/components/transactions-list/transactions-list.component.html @@ -1052,11 +1070,11 @@ src/app/components/block/block.component.html - 246,247 + 252,253 src/app/components/transaction/transaction.component.html - 288,290 + 282,284 transaction.version @@ -1106,7 +1124,7 @@ src/app/components/transactions-list/transactions-list.component.html - 294,295 + 296,297 Transaction singular confirmation count shared.confirmation-count.singular @@ -1128,7 +1146,7 @@ src/app/components/transactions-list/transactions-list.component.html - 295,296 + 297,298 Transaction plural confirmation count shared.confirmation-count.plural @@ -1140,10 +1158,6 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html 43,45 - - src/app/components/transaction/transaction.component.html - 65,67 - Transaction included in block transaction.included-in-block @@ -1156,11 +1170,11 @@ src/app/components/transaction/transaction.component.html - 77,80 + 71,74 src/app/components/transaction/transaction.component.html - 135,138 + 129,132 Transaction features transaction.features @@ -1188,11 +1202,11 @@ src/app/components/transaction/transaction.component.html - 262,267 + 256,261 src/app/components/transaction/transaction.component.html - 406,412 + 400,406 transaction.details @@ -1209,11 +1223,11 @@ src/app/components/transaction/transaction.component.html - 249,253 + 243,247 src/app/components/transaction/transaction.component.html - 377,383 + 371,377 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1231,7 +1245,7 @@ src/app/components/transaction/transaction.component.ts - 241,240 + 244,243 @@ -1251,7 +1265,7 @@ src/app/components/transaction/transaction.component.html - 159,160 + 153,154 src/app/dashboard/dashboard.component.html @@ -1267,7 +1281,7 @@ src/app/components/transaction/transaction.component.html - 72,73 + 66,67 Transaction Confirmed state transaction.confirmed @@ -1438,7 +1452,7 @@ ბიტკოინ mempool ი და ბლოქჩეინ ექსპლორერი ბიტკოინ community-სთვის, ფოკუსირებული საკომისიოზე და მრავალ შრიან ბიტკოინ ეკოსისტემაზე, სრულიად თვით რეალიზებული მესამე პირთა დაყდრნობის გარეშე src/app/components/about/about.component.html - 13,17 + 13,16 @@ -1446,7 +1460,7 @@ კორპორატიული სპონსორები src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1455,15 +1469,16 @@ კერძო სპონსორები ❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart Community Integrations + მოხალისეების ინტეგრაციები src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1472,7 +1487,7 @@ ალიანსი src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1481,7 +1496,7 @@ მთარგმნელები src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1490,7 +1505,7 @@ მოხალისეები src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1499,7 +1514,7 @@ პროექტის წევრები src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1508,7 +1523,7 @@ პროექტის შემქმნელები src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1517,7 +1532,7 @@ ჩვენს შესახებ src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1529,11 +1544,12 @@ src/app/components/master-page/master-page.component.html - 58,61 + 57,60 Multisig of + Multisig -დან src/app/components/address-labels/address-labels.component.ts 107 @@ -1565,7 +1581,7 @@ src/app/components/amount/amount.component.html - 6,9 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -1581,7 +1597,7 @@ src/app/components/transactions-list/transactions-list.component.html - 302,304 + 304,306 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1664,7 +1680,7 @@ src/app/components/assets/assets.component.html - 29,31 + 31,33 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -1886,7 +1902,7 @@ src/app/components/assets/assets.component.html - 30,31 + 32,33 Asset ticker header @@ -1899,7 +1915,7 @@ src/app/components/assets/assets.component.html - 31,34 + 33,36 Asset Issuer Domain header @@ -1912,7 +1928,7 @@ src/app/components/assets/assets.component.html - 32,36 + 34,38 Asset ID header @@ -1921,7 +1937,7 @@ ქოინების მონაცემების მოძებვნისას მოხდა შეცდომა. src/app/components/assets/assets.component.html - 48,53 + 50,55 Asset data load error @@ -2034,6 +2050,7 @@ At block: + ბლოკში: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 188 @@ -2044,11 +2061,12 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 161 + 165 Around block: + ბლოკში: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 190 @@ -2059,7 +2077,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 163 + 167 @@ -2071,7 +2089,7 @@ src/app/components/block-fees-graph/block-fees-graph.component.ts - 62 + 67 src/app/components/graphs/graphs.component.html @@ -2084,15 +2102,15 @@ ბლოკის ინდექსირება src/app/components/block-fees-graph/block-fees-graph.component.ts - 110,105 + 116,111 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 108,103 + 113,108 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 115,110 + 116,111 src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -2117,6 +2135,7 @@ not available + მიუწვდომელია src/app/components/block-overview-graph/block-overview-graph.component.html 5 @@ -2136,7 +2155,7 @@ src/app/components/transaction/transaction.component.html - 476 + 472 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2162,11 +2181,11 @@ src/app/components/transaction/transaction.component.html - 476,477 + 472 src/app/components/transactions-list/transactions-list.component.html - 286,287 + 288 sat shared.sat @@ -2180,11 +2199,11 @@ src/app/components/transaction/transaction.component.html - 161,165 + 155,159 src/app/components/transaction/transaction.component.html - 479,481 + 475,477 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2196,7 +2215,7 @@ src/app/lightning/channels-list/channels-list.component.html - 38,39 + 41,42 Transaction fee rate transaction.fee-rate @@ -2214,19 +2233,19 @@ src/app/components/block/block.component.html - 125,128 + 124,127 src/app/components/block/block.component.html - 129 + 128,130 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 12,14 + 19,22 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 15,17 + 30,33 src/app/components/fees-box/fees-box.component.html @@ -2266,27 +2285,27 @@ src/app/components/transaction/transaction.component.html - 173,174 + 167,168 src/app/components/transaction/transaction.component.html - 184,185 + 178,179 src/app/components/transaction/transaction.component.html - 195,196 + 189,190 src/app/components/transaction/transaction.component.html - 481,484 + 477,480 src/app/components/transaction/transaction.component.html - 492,494 + 488,490 src/app/components/transactions-list/transactions-list.component.html - 286 + 286,287 src/app/dashboard/dashboard.component.html @@ -2294,7 +2313,7 @@ src/app/dashboard/dashboard.component.html - 204,208 + 213,217 sat/vB shared.sat-vbyte @@ -2308,17 +2327,18 @@ src/app/components/transaction/transaction.component.html - 160,162 + 154,156 src/app/components/transaction/transaction.component.html - 274,277 + 268,271 Transaction Virtual Size transaction.vsize Audit status + აუდიტის სტატუსი src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 36 @@ -2327,6 +2347,7 @@ Match + დამთხვევა src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 38 @@ -2335,6 +2356,7 @@ Removed + ამოღებულია src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 39 @@ -2343,6 +2365,7 @@ Marginal fee rate + განსაზღვრული საკომისიო src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 40 @@ -2355,6 +2378,7 @@ Recently broadcasted + ბოლოს მიღებული src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 41 @@ -2363,6 +2387,7 @@ Added + დამატებულია src/app/components/block-overview-tooltip/block-overview-tooltip.component.html 42 @@ -2371,6 +2396,7 @@ Block Prediction Accuracy + ბლოკის წინასწარმეტყველების სიზუსტე src/app/components/block-prediction-graph/block-prediction-graph.component.html 6,8 @@ -2387,6 +2413,7 @@ No data to display yet. Try again later. + მონაცემების ჩვენება ჯერ არ არის შესაძლებელი. Მოგვიანებით სცადეთ. src/app/components/block-prediction-graph/block-prediction-graph.component.ts 108,103 @@ -2402,6 +2429,7 @@ Match rate + დამთხვევის მაჩვენებელი src/app/components/block-prediction-graph/block-prediction-graph.component.ts 189,187 @@ -2416,7 +2444,7 @@ src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 60 + 65 src/app/components/graphs/graphs.component.html @@ -2446,15 +2474,15 @@ ზომა src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 180,179 + 184,183 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 226,224 + 239,237 src/app/components/block/block.component.html - 50,52 + 48,50 src/app/components/blocks-list/blocks-list.component.html @@ -2478,7 +2506,7 @@ src/app/components/transaction/transaction.component.html - 270,272 + 264,266 src/app/dashboard/dashboard.component.html @@ -2490,11 +2518,11 @@ წონა src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 188,187 + 192,191 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 257,254 + 270,267 src/app/components/block/block-preview.component.html @@ -2502,15 +2530,28 @@ src/app/components/block/block.component.html - 54,56 + 52,54 src/app/components/transaction/transaction.component.html - 278,280 + 272,274 + + + + Size per weight + ზომა მოცემულ რაოდენობაზე + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 200,199 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 282,279 Block + ბლოკი src/app/components/block/block-preview.component.html 3,7 @@ -2521,14 +2562,6 @@ shared.block-title - - - - src/app/components/block/block-preview.component.html - 11,12 - - shared.block-title - Median fee საშუალო საკომისიო @@ -2538,7 +2571,7 @@ src/app/components/block/block.component.html - 128,129 + 127,128 src/app/components/mempool-block/mempool-block.component.html @@ -2555,11 +2588,11 @@ src/app/components/block/block.component.html - 133,135 + 138,140 src/app/components/block/block.component.html - 159,162 + 164,167 src/app/components/mempool-block/mempool-block.component.html @@ -2577,7 +2610,7 @@ src/app/components/block/block.component.html - 168,170 + 173,175 block.miner @@ -2590,7 +2623,7 @@ src/app/components/block/block.component.ts - 227 + 242 @@ -2615,31 +2648,49 @@ Previous Block - - Block health + + Health + ჯანმრთელობა src/app/components/block/block.component.html - 58,61 + 56 - block.health + + src/app/components/blocks-list/blocks-list.component.html + 18,19 + + + src/app/components/blocks-list/blocks-list.component.html + 18,19 + + latest-blocks.health Unknown + უცნობი src/app/components/block/block.component.html - 69,72 + 67,70 src/app/components/blocks-list/blocks-list.component.html 60,63 - src/app/lightning/node/node.component.html - 52,55 + src/app/components/pool-ranking/pool-ranking.component.html + 121,124 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 src/app/lightning/node/node.component.html - 96,100 + 55,58 + + + src/app/lightning/node/node.component.html + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2656,7 +2707,7 @@ საკომისიოს დიაპაზონი src/app/components/block/block.component.html - 124,125 + 123,124 src/app/components/mempool-block/mempool-block.component.html @@ -2669,7 +2720,7 @@ გამომდინარე საშუალო native segwit 140 vByte ტრანსაქციიდან src/app/components/block/block.component.html - 129,131 + 131,136 src/app/components/fees-box/fees-box.component.html @@ -2693,49 +2744,66 @@ Transaction fee tooltip - - Subsidy + fees: - სუბსიდია + საკომისიო: + + Subsidy + fees + სუბსიდია და საკომისიო src/app/components/block/block.component.html - 148,151 + 153,156 src/app/components/block/block.component.html - 163,167 + 168,172 Total subsidy and fees in a block block.subsidy-and-fees - - Projected + + Expected + მოსალოდნელი src/app/components/block/block.component.html - 210,212 + 216 - block.projected + block.expected + + + beta + ბეტა + + src/app/components/block/block.component.html + 216,217 + + + src/app/components/block/block.component.html + 222,224 + + beta Actual + მიმდინარე src/app/components/block/block.component.html - 212,216 + 218,222 block.actual - - Projected Block + + Expected Block + მოსალოდნელი ბლოკი src/app/components/block/block.component.html - 216,218 + 222 - block.projected-block + block.expected-block Actual Block + მიმდინარე ბლოკი src/app/components/block/block.component.html - 225,227 + 231 block.actual-block @@ -2744,7 +2812,7 @@ Bits src/app/components/block/block.component.html - 250,252 + 256,258 block.bits @@ -2753,7 +2821,7 @@ Merkle root src/app/components/block/block.component.html - 254,256 + 260,262 block.merkle-root @@ -2762,7 +2830,7 @@ სირთულე src/app/components/block/block.component.html - 265,268 + 271,274 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -2791,7 +2859,7 @@ Nonce src/app/components/block/block.component.html - 269,271 + 275,277 block.nonce @@ -2800,32 +2868,42 @@ Block Header Hex src/app/components/block/block.component.html - 273,274 + 279,280 block.header + + Audit + აუდიტი + + src/app/components/block/block.component.html + 297,301 + + Toggle Audit + block.toggle-audit + Details დეტალები src/app/components/block/block.component.html - 284,288 + 304,308 src/app/components/transaction/transaction.component.html - 254,259 + 248,253 src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2835,20 +2913,16 @@ მოხდა შეცდომა src/app/components/block/block.component.html - 303,305 + 323,325 src/app/components/block/block.component.html - 339,343 + 362,366 src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -2861,9 +2935,10 @@ Why is this block empty? + რატომ არის ეს ბლოკი ცარიელი? src/app/components/block/block.component.html - 361,367 + 384,390 block.empty-block-explanation @@ -2909,18 +2984,6 @@ latest-blocks.mined - - Health - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - Reward ანაზღაურება @@ -2984,7 +3047,7 @@ src/app/dashboard/dashboard.component.html - 210,214 + 219,223 dashboard.txs @@ -3150,6 +3213,7 @@ Usually places your transaction in between the second and third mempool blocks + თქვენი ტრანსაქცია წესით ხვდება მეორე და მესამე mempool ის ბლოკებს შორის src/app/components/fees-box/fees-box.component.html 8,9 @@ -3171,6 +3235,7 @@ Usually places your transaction in between the first and second mempool blocks + თქვენი ტრანსაქცია წესით ხვდება პირველ და მემორე mempool ის ბლოკებს შორის src/app/components/fees-box/fees-box.component.html 9,10 @@ -3221,7 +3286,7 @@ src/app/dashboard/dashboard.component.html - 237,238 + 246,247 dashboard.incoming-transactions @@ -3234,7 +3299,7 @@ src/app/dashboard/dashboard.component.html - 240,243 + 249,252 dashboard.backend-is-synchronizing @@ -3247,7 +3312,7 @@ src/app/dashboard/dashboard.component.html - 245,250 + 254,259 vB/s shared.vbytes-per-second @@ -3261,7 +3326,7 @@ src/app/dashboard/dashboard.component.html - 208,209 + 217,218 Unconfirmed count dashboard.unconfirmed @@ -3313,6 +3378,7 @@ Hashrate & Difficulty + ჰაშრეიტი და სირთულე src/app/components/graphs/graphs.component.html 15,16 @@ -3321,6 +3387,7 @@ Lightning + Lightning src/app/components/graphs/graphs.component.html 31 @@ -3329,6 +3396,7 @@ Lightning Nodes Per Network + Lightning ნოდა ყოველ ნეთვორქზე src/app/components/graphs/graphs.component.html 34 @@ -3349,6 +3417,7 @@ Lightning Network Capacity + Lightning ის შესაძლებლობა src/app/components/graphs/graphs.component.html 36 @@ -3369,6 +3438,7 @@ Lightning Nodes Per ISP + Lightning Nodes Per ISP src/app/components/graphs/graphs.component.html 38 @@ -3381,6 +3451,7 @@ Lightning Nodes Per Country + Lightning ის ნოდა ქვეყნების მიხედვით src/app/components/graphs/graphs.component.html 40 @@ -3397,6 +3468,7 @@ Lightning Nodes World Map + Lightning ის ნოდები მსოფლიოს რუქაზე src/app/components/graphs/graphs.component.html 42 @@ -3413,6 +3485,7 @@ Lightning Nodes Channels World Map + Lightning ის ნოდის ჩანელები მსოფლიო რუქაზე src/app/components/graphs/graphs.component.html 44 @@ -3467,6 +3540,7 @@ Hashrate (MA) + ჰაშრეიტი src/app/components/hashrate-chart/hashrate-chart.component.ts 292,291 @@ -3509,7 +3583,7 @@ src/app/components/master-page/master-page.component.html - 52,54 + 51,53 src/app/components/statistics/statistics.component.ts @@ -3532,9 +3606,10 @@ Lightning Explorer + Lightning ექსპლორერი src/app/components/master-page/master-page.component.html - 44,45 + 44,47 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts @@ -3542,20 +3617,12 @@ master-page.lightning - - beta - - src/app/components/master-page/master-page.component.html - 45,48 - - beta - Documentation დოკუმენტაცია src/app/components/master-page/master-page.component.html - 55,57 + 54,56 src/app/docs/docs/docs.component.html @@ -3635,8 +3702,35 @@ dashboard.adjustments + + Broadcast Transaction + Broadcast Transaction + + src/app/components/mining-dashboard/mining-dashboard.component.html + 92 + + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/dashboard/dashboard.component.html + 161,169 + + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 102 + + Broadcast Transaction + shared.broadcast-transaction + Pools luck (1 week) + pool ის იღბალი (1კვ.) src/app/components/pool-ranking/pool-ranking.component.html 9 @@ -3645,6 +3739,7 @@ Pools luck + pool ის იღბალი src/app/components/pool-ranking/pool-ranking.component.html 9,11 @@ -3653,6 +3748,7 @@ The overall luck of all mining pools over the past week. A luck bigger than 100% means the average block time for the current epoch is less than 10 minutes. + ყველა მაინინგ Pool-ის საერთო იღბალი გასული კვირის განმავლობაში. 100%-ზე მეტი მაჩვენებელი ნიშნავს, რომ მიმდინარე ეპოქისთვის ბლოკების საშუალო დრო 10 წუთზე ნაკლები იყო. src/app/components/pool-ranking/pool-ranking.component.html 11,15 @@ -3661,6 +3757,7 @@ Pools count (1w) + pool ის რაოდენობა (1კვ.) src/app/components/pool-ranking/pool-ranking.component.html 17 @@ -3669,6 +3766,7 @@ Pools count + pool ის რაოდენობა src/app/components/pool-ranking/pool-ranking.component.html 17,19 @@ -3677,6 +3775,7 @@ How many unique pools found at least one block over the past week. + რამდენმა უნიკალურმა Pool-მა მოიპოვა მინიმუმ ერთი ბლოკი გასული კვირის განმავლობაში. src/app/components/pool-ranking/pool-ranking.component.html 19,23 @@ -3696,12 +3795,13 @@ src/app/components/pool-ranking/pool-ranking.component.html - 136,138 + 152,154 master-page.blocks The number of blocks found over the past week. + გასული კვირის განმავლობაში მოპოვებული ბლოკების რაოდენობა. src/app/components/pool-ranking/pool-ranking.component.html 27,31 @@ -3725,12 +3825,25 @@ mining.rank + + Avg Health + საშუალო ჯანმრთელობა + + src/app/components/pool-ranking/pool-ranking.component.html + 96,97 + + + src/app/components/pool-ranking/pool-ranking.component.html + 96,98 + + latest-blocks.avg_health + Empty blocks ცარიელი ბლოკი src/app/components/pool-ranking/pool-ranking.component.html - 95,98 + 97,100 mining.empty-blocks @@ -3739,7 +3852,7 @@ ყველა მაინერი src/app/components/pool-ranking/pool-ranking.component.html - 113,114 + 129,130 mining.all-miners @@ -3748,7 +3861,7 @@ pool ის გამართლება (1კვ) src/app/components/pool-ranking/pool-ranking.component.html - 130,132 + 146,148 mining.miners-luck @@ -3757,7 +3870,7 @@ pool ის რაოდენობა (1კვ) src/app/components/pool-ranking/pool-ranking.component.html - 142,144 + 158,160 mining.miners-count @@ -3766,7 +3879,7 @@ მაინინგ pool ები src/app/components/pool-ranking/pool-ranking.component.ts - 57 + 58 @@ -3783,6 +3896,7 @@ mining pool + მაინინგ Pool ი src/app/components/pool/pool-preview.component.html 3,5 @@ -3992,24 +4106,6 @@ latest-blocks.coinbasetag - - Broadcast Transaction - Broadcast Transaction - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 154,161 - - Broadcast Transaction - shared.broadcast-transaction - Transaction hex Transaction hex @@ -4019,7 +4115,7 @@ src/app/components/transaction/transaction.component.html - 296,297 + 290,291 transaction.hex @@ -4051,6 +4147,7 @@ Avg Block Fees + საშუალო ბლოკის საკომისიო src/app/components/reward-stats/reward-stats.component.html 17 @@ -4063,6 +4160,7 @@ Average fees per block in the past 144 blocks + საშუალო ბლოკის საკომისიო ბოლო 144 ბლოკზე src/app/components/reward-stats/reward-stats.component.html 18,20 @@ -4071,6 +4169,7 @@ BTC/block + BTC/block src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -4080,6 +4179,7 @@ Avg Tx Fee + საშ. ტრანსაქციის საკ. src/app/components/reward-stats/reward-stats.component.html 30 @@ -4124,6 +4224,7 @@ Explore the full Bitcoin ecosystem + გაიცანი ბიტკოინის მთლიანი ეკოსისტემა src/app/components/search-form/search-form.component.html 4,5 @@ -4139,6 +4240,78 @@ search-form.search-title + + Bitcoin Block Height + ბიტკოინის ბლოკის სიმაღლე + + src/app/components/search-form/search-results/search-results.component.html + 3 + + search.bitcoin-block-height + + + Bitcoin Transaction + ბიტკოინის ტრანზაქცია + + src/app/components/search-form/search-results/search-results.component.html + 9 + + search.bitcoin-transaction + + + Bitcoin Address + ბიტკოინის მისამართი + + src/app/components/search-form/search-results/search-results.component.html + 15 + + search.bitcoin-address + + + Bitcoin Block + ბიტკოინის ბლოკი + + src/app/components/search-form/search-results/search-results.component.html + 21 + + search.bitcoin-block + + + Bitcoin Addresses + ბიტკოინის მისამართები + + src/app/components/search-form/search-results/search-results.component.html + 27 + + search.bitcoin-addresses + + + Lightning Nodes + Lightning ნოდა + + src/app/components/search-form/search-results/search-results.component.html + 35 + + search.lightning-nodes + + + Lightning Channels + Lightning ჩანელი + + src/app/components/search-form/search-results/search-results.component.html + 43 + + search.lightning-channels + + + Go to "" + Go to &quot;&quot; + + src/app/components/search-form/search-results/search-results.component.html + 52 + + search.go-to + Mempool by vBytes (sat/vByte) მემპული vBytes (სატ/vByte) მიხედვით @@ -4396,6 +4569,7 @@ This transaction replaced: + ამ ტრანზაქციამ ჩაანაცვლა: src/app/components/transaction/transaction.component.html 10,12 @@ -4405,6 +4579,7 @@ Replaced + ჩაანაცვლა src/app/components/transaction/transaction.component.html 36,39 @@ -4421,7 +4596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 298,301 + 300,303 Transaction unconfirmed state transaction.unconfirmed @@ -4431,11 +4606,11 @@ პირველი src/app/components/transaction/transaction.component.html - 108,109 + 102,103 src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4451,11 +4626,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -4465,7 +4640,7 @@ სავარაუდო ლოდინის დრო src/app/components/transaction/transaction.component.html - 115,116 + 109,110 Transaction ETA transaction.eta @@ -4475,7 +4650,7 @@ რამდენიმე საათში (ან მეტი) src/app/components/transaction/transaction.component.html - 121,124 + 115,118 Transaction ETA in several hours or more transaction.eta.in-several-hours @@ -4485,11 +4660,11 @@ კლებადი src/app/components/transaction/transaction.component.html - 168,170 + 162,164 src/app/components/transaction/transaction.component.html - 179,181 + 173,175 Descendant transaction.descendant @@ -4499,37 +4674,40 @@ შთამომავალი src/app/components/transaction/transaction.component.html - 190,192 + 184,186 Transaction Ancestor transaction.ancestor Flow + Flow src/app/components/transaction/transaction.component.html - 208,211 + 202,205 src/app/components/transaction/transaction.component.html - 346,350 + 340,344 Transaction flow transaction.flow Hide diagram + დიაგრამის დამალვა src/app/components/transaction/transaction.component.html - 211,216 + 205,210 hide-diagram Show more + მეტის ჩვენება src/app/components/transaction/transaction.component.html - 231,233 + 225,227 src/app/components/transactions-list/transactions-list.component.html @@ -4543,9 +4721,10 @@ Show less + ნაკლების ჩვენება src/app/components/transaction/transaction.component.html - 233,239 + 227,233 src/app/components/transactions-list/transactions-list.component.html @@ -4555,9 +4734,10 @@ Show diagram + დიაგრამის ჩვენება src/app/components/transaction/transaction.component.html - 253,254 + 247,248 show-diagram @@ -4566,7 +4746,7 @@ Locktime src/app/components/transaction/transaction.component.html - 292,294 + 286,288 transaction.locktime @@ -4575,7 +4755,7 @@ ტრანსაქცია ვერ მოიძებნა. src/app/components/transaction/transaction.component.html - 455,456 + 449,450 transaction.error.transaction-not-found @@ -4584,7 +4764,7 @@ დაელოდეთ mempool-ში რომ გამოჩნდეს... src/app/components/transaction/transaction.component.html - 456,461 + 450,455 transaction.error.waiting-for-it-to-appear @@ -4593,7 +4773,7 @@ ეფექტური საკომისიო src/app/components/transaction/transaction.component.html - 489,492 + 485,488 Effective transaction fee rate transaction.effective-fee-rate @@ -4739,22 +4919,25 @@ Show more inputs to reveal fee data + მეტი input-ის ჩვენება, საკომისიოს დატადან src/app/components/transactions-list/transactions-list.component.html - 288,291 + 290,293 transactions-list.load-to-reveal-fee-info remaining + დარჩენილია src/app/components/transactions-list/transactions-list.component.html - 330,331 + 332,333 x-remaining other inputs + სხვა input ები src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 12 @@ -4763,6 +4946,7 @@ other outputs + სხვა input ები src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 13 @@ -4771,6 +4955,7 @@ Input + Input src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 42 @@ -4783,6 +4968,7 @@ Output + Output src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html 43 @@ -4795,6 +4981,7 @@ This transaction saved % on fees by using native SegWit + ამ ტრანზაქციამ დაზოგა % საკომისიო SegWit-ის გამოყენებით src/app/components/tx-features/tx-features.component.html 2 @@ -4821,6 +5008,7 @@ This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit + ამ ტრანზაქციამ დაზოგა % საკომისიო SegWit-ის გამოყენებით და შეიძლება დაზოგოს % მეტი native SegWit-ზე სრულად განახლებით. src/app/components/tx-features/tx-features.component.html 4 @@ -4829,6 +5017,7 @@ This transaction could save % on fees by upgrading to native SegWit or % by upgrading to SegWit-P2SH + ამ ტრანზაქციას შეუძლია დაზოგოს % საკომისიოებზე, გაaნახლეთ native SegWit-იან % SegWit-P2SH-ზე გადაიყვანეთ src/app/components/tx-features/tx-features.component.html 6 @@ -4837,6 +5026,7 @@ This transaction uses Taproot and thereby saved at least % on fees + ეს ტრანზაქცია იყენებს Taproot-ს და ამით ზოგავს მინიმუმ % საკომისიოზე src/app/components/tx-features/tx-features.component.html 12 @@ -4845,6 +5035,7 @@ Taproot + Taproot src/app/components/tx-features/tx-features.component.html 12 @@ -4870,6 +5061,7 @@ This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot + ეს ტრანზაქცია იყენებს Taproot-ს და უკვე დაზოგილია მინიმუმ % საკომისიოებზე, მაგრამ შეიძლება დაზოგოს დამატებითი % Taproot-ის სრულად გამოყენებით src/app/components/tx-features/tx-features.component.html 14 @@ -4878,6 +5070,7 @@ This transaction could save % on fees by using Taproot + ამ ტრანზაქციას შეუძლია დაზოგოს % საკომისიოზე Taproot-ის გამოყენებით src/app/components/tx-features/tx-features.component.html 16 @@ -4886,6 +5079,7 @@ This transaction does not use Taproot + ეს ტრანზაქცია არ იყენებს Taproot-ს src/app/components/tx-features/tx-features.component.html 18 @@ -4903,6 +5097,7 @@ This transaction supports Replace-By-Fee (RBF) allowing fee bumping + ეს ტრანზაქცია მხარს უჭერს Replace-by-Fee (RBF), რომელიც იძლევა საკომისიოს შეკუმშვის საშუალებას src/app/components/tx-features/tx-features.component.html 28 @@ -4987,21 +5182,12 @@ dashboard.latest-transactions - - USD - დოლარი - - src/app/dashboard/dashboard.component.html - 126,127 - - dashboard.latest-transactions.USD - Minimum fee მინ. საკომისიო src/app/dashboard/dashboard.component.html - 201,202 + 210,211 Minimum mempool fee dashboard.minimum-fee @@ -5011,7 +5197,7 @@ წაშლა src/app/dashboard/dashboard.component.html - 202,203 + 211,212 Purgin below fee dashboard.purging @@ -5021,7 +5207,7 @@ მეხსიერება src/app/dashboard/dashboard.component.html - 214,215 + 223,224 Memory usage dashboard.memory-usage @@ -5031,15 +5217,25 @@ L-BTC ბრუნვაში src/app/dashboard/dashboard.component.html - 228,230 + 237,239 dashboard.lbtc-pegs-in-circulation - - REST API service + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + mempool.space უბრალოდ გვაწვდით მონაცემებს ბიტკოინის ქსელის შესახებ. ის ვერ დაგეხმარებათ ფინანსების მოძიებაში, თქვენი ტრანზაქციის უფრო სწრაფად დადასტურებაში და ა.შ. src/app/docs/api-docs/api-docs.component.html - 39,40 + 13 + + faq.big-disclaimer + + + REST API service + REST API service + + src/app/docs/api-docs/api-docs.component.html + 41,42 api-docs.title @@ -5048,11 +5244,11 @@ დასასრული src/app/docs/api-docs/api-docs.component.html - 48,49 + 50,51 src/app/docs/api-docs/api-docs.component.html - 102,105 + 104,107 Api docs endpoint @@ -5061,11 +5257,11 @@ აღწერა src/app/docs/api-docs/api-docs.component.html - 67,68 + 69,70 src/app/docs/api-docs/api-docs.component.html - 106,107 + 108,109 @@ -5073,7 +5269,7 @@ Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. src/app/docs/api-docs/api-docs.component.html - 107,108 + 109,110 api-docs.websocket.websocket @@ -5142,6 +5338,7 @@ Base fee + საბაზისო საკომისიო src/app/lightning/channel/channel-box/channel-box.component.html 29 @@ -5154,6 +5351,7 @@ mSats + mSats src/app/lightning/channel/channel-box/channel-box.component.html 35 @@ -5168,12 +5366,13 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats This channel supports zero base fee routing + ეს ჩანელი მხარს უჭერს zero base fee როუტინგს src/app/lightning/channel/channel-box/channel-box.component.html 44 @@ -5182,6 +5381,7 @@ Zero base fee + Zero base fee src/app/lightning/channel/channel-box/channel-box.component.html 45 @@ -5190,6 +5390,7 @@ This channel does not support zero base fee routing + ეს ჩანელი არ უჭერს მხარს zero base fee როუტინგს src/app/lightning/channel/channel-box/channel-box.component.html 50 @@ -5198,6 +5399,7 @@ Non-zero base fee + Non-zero base fee src/app/lightning/channel/channel-box/channel-box.component.html 51 @@ -5206,6 +5408,7 @@ Min HTLC + Min HTLC src/app/lightning/channel/channel-box/channel-box.component.html 57 @@ -5214,6 +5417,7 @@ Max HTLC + Max HTLC src/app/lightning/channel/channel-box/channel-box.component.html 63 @@ -5222,6 +5426,7 @@ Timelock delta + Timelock delta src/app/lightning/channel/channel-box/channel-box.component.html 69 @@ -5230,18 +5435,20 @@ channels + ჩანელები src/app/lightning/channel/channel-box/channel-box.component.html 79 src/app/lightning/channels-list/channels-list.component.html - 120,121 + 123,124 lightning.x-channels Starting balance + საწყისი ბალანსი src/app/lightning/channel/channel-close-box/channel-close-box.component.html 6 @@ -5251,6 +5458,7 @@ Closing balance + საბოლოო ბალანსი src/app/lightning/channel/channel-close-box/channel-close-box.component.html 12 @@ -5260,6 +5468,7 @@ lightning channel + lightning channel src/app/lightning/channel/channel-preview.component.html 3,5 @@ -5268,81 +5477,86 @@ Inactive + არააქტიური src/app/lightning/channel/channel-preview.component.html 10,11 - - src/app/lightning/channel/channel.component.html - 11,12 - - - src/app/lightning/channels-list/channels-list.component.html - 65,66 - - status.inactive - - - Active - - src/app/lightning/channel/channel-preview.component.html - 11,12 - - - src/app/lightning/channel/channel.component.html - 12,13 - - - src/app/lightning/channels-list/channels-list.component.html - 66,68 - - status.active - - - Closed - - src/app/lightning/channel/channel-preview.component.html - 12,14 - src/app/lightning/channel/channel.component.html 13,14 + + src/app/lightning/channels-list/channels-list.component.html + 68,69 + + status.inactive + + + Active + აქტიური + + src/app/lightning/channel/channel-preview.component.html + 11,12 + + + src/app/lightning/channel/channel.component.html + 14,15 + + + src/app/lightning/channels-list/channels-list.component.html + 69,71 + + status.active + + + Closed + დახურული + + src/app/lightning/channel/channel-preview.component.html + 12,14 + + + src/app/lightning/channel/channel.component.html + 15,16 + src/app/lightning/channels-list/channels-list.component.html 8,13 src/app/lightning/channels-list/channels-list.component.html - 68,70 + 71,73 status.closed Created + შექმნილია src/app/lightning/channel/channel-preview.component.html 23,26 src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created Capacity + ტევადობა src/app/lightning/channel/channel-preview.component.html 27,28 src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html - 40,43 + 43,46 src/app/lightning/node-statistics/node-statistics.component.html @@ -5350,7 +5564,7 @@ src/app/lightning/node-statistics/node-statistics.component.html - 47,50 + 46,49 src/app/lightning/nodes-list/nodes-list.component.html @@ -5372,6 +5586,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5384,6 +5602,7 @@ ppm + ppm src/app/lightning/channel/channel-preview.component.html 34,35 @@ -5404,25 +5623,27 @@ Lightning channel + Lightning channel-ი src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel Last update + Ბოლო განახლება src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5438,59 +5659,89 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update Closing date + ბოლო თარიღი src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html - 39,40 + 42,43 lightning.closing_date Closed by + დაიხურა src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by Opening transaction + პირველი ტრანზაქცია src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction Closing transaction + საბოლოო ტრანსაქცია src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction Channel: + ჩანელი: src/app/lightning/channel/channel.component.ts 37 + + Mutually closed + თანაბრად დახურული + + src/app/lightning/channel/closing-type/closing-type.component.ts + 20 + + + + Force closed + ჩარევით დახურული + + src/app/lightning/channel/closing-type/closing-type.component.ts + 24 + + + + Force closed with penalty + ჩარევით დახურული ჯარიმით + + src/app/lightning/channel/closing-type/closing-type.component.ts + 28 + + Open + გახსნა src/app/lightning/channels-list/channels-list.component.html 5,7 @@ -5499,17 +5750,19 @@ No channels to display + არხები არ არის ნაჩვენები src/app/lightning/channels-list/channels-list.component.html - 29,35 + 29,37 lightning.empty-channels-list Alias + Alias src/app/lightning/channels-list/channels-list.component.html - 35,37 + 38,40 src/app/lightning/group/group.component.html @@ -5533,39 +5786,42 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias Status + სტატუსი src/app/lightning/channels-list/channels-list.component.html - 37,38 + 40,41 status Channel ID + ჩანელის ID src/app/lightning/channels-list/channels-list.component.html - 41,45 + 44,48 channels.id sats + sats src/app/lightning/channels-list/channels-list.component.html - 60,64 + 63,67 src/app/lightning/channels-list/channels-list.component.html - 84,88 + 87,91 src/app/lightning/channels-statistics/channels-statistics.component.html @@ -5609,8 +5865,27 @@ shared.sats + + avg + საშ. + + src/app/lightning/channels-statistics/channels-statistics.component.html + 3,5 + + statistics.average-small + + + med + მედ. + + src/app/lightning/channels-statistics/channels-statistics.component.html + 6,9 + + statistics.median-small + Avg Capacity + საშ. სიმძლავრე src/app/lightning/channels-statistics/channels-statistics.component.html 13,15 @@ -5623,6 +5898,7 @@ Avg Fee Rate + საშუალო საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html 26,28 @@ -5635,6 +5911,7 @@ The average fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + როუტინგის კვანძების მიერ დაწესებული საშუალო საკომისიოს განაკვეთი, საკომისიოს განაკვეთი რომელიც > 0.5% ან 5000ppm -ზე არ ითვალისწინებს src/app/lightning/channels-statistics/channels-statistics.component.html 28,30 @@ -5643,6 +5920,7 @@ Avg Base Fee + საშუალო საბაზისო საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html 41,43 @@ -5655,6 +5933,7 @@ The average base fee charged by routing nodes, ignoring base fees > 5000ppm + საშუალო საბაზისო საკომისიო დაწესებული როუტინგის კვაშირების მიერ, საბაზისო გადასახადების არ ითვალისწინებს > 5000ppm ზე მეტია. src/app/lightning/channels-statistics/channels-statistics.component.html 43,45 @@ -5663,6 +5942,7 @@ Med Capacity + მედ. სიმძლავრე src/app/lightning/channels-statistics/channels-statistics.component.html 59,61 @@ -5671,6 +5951,7 @@ Med Fee Rate + მედ. საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html 72,74 @@ -5679,6 +5960,7 @@ The median fee rate charged by routing nodes, ignoring fee rates > 0.5% or 5000ppm + მედ. საკომისიო როუტინგის კავშირის გამოყენებით, არ ითვალისწინებს > 0.5% ან 5000ppm -ს src/app/lightning/channels-statistics/channels-statistics.component.html 74,76 @@ -5687,6 +5969,7 @@ Med Base Fee + მედ. საბაზისო საკომისიო src/app/lightning/channels-statistics/channels-statistics.component.html 87,89 @@ -5695,6 +5978,7 @@ The median base fee charged by routing nodes, ignoring base fees > 5000ppm + მედ. საბაზისო საკომისიო როუტინგის კავშირის მიხედვით, არ ითვალისწინებს საბაზისო საკომისიოს > 5000ppm src/app/lightning/channels-statistics/channels-statistics.component.html 89,91 @@ -5703,6 +5987,7 @@ Lightning node group + Lightning ნოდ ჯგუფი src/app/lightning/group/group-preview.component.html 3,5 @@ -5715,6 +6000,7 @@ Nodes + ნოდა src/app/lightning/group/group-preview.component.html 25,29 @@ -5725,11 +6011,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 17,18 + 16,17 src/app/lightning/node-statistics/node-statistics.component.html - 54,57 + 53,56 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -5751,6 +6037,7 @@ Liquidity + ლიკვიდურობა src/app/lightning/group/group-preview.component.html 29,31 @@ -5777,16 +6064,13 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity Channels + ჩანელი src/app/lightning/group/group-preview.component.html 40,43 @@ -5797,11 +6081,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 29,30 + 28,29 src/app/lightning/node-statistics/node-statistics.component.html - 61,64 + 60,63 src/app/lightning/nodes-list/nodes-list.component.html @@ -5833,11 +6117,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -5847,6 +6131,7 @@ Average size + საშუალო ზომა src/app/lightning/group/group-preview.component.html 44,46 @@ -5859,6 +6144,7 @@ Location + ლოკაცია src/app/lightning/group/group.component.html 74,77 @@ -5873,7 +6159,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5889,16 +6175,17 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location Network Statistics + ქსელის სტატისტიკა src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 10 @@ -5907,6 +6194,7 @@ Channels Statistics + ჩანელის სტატისტიკა src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 24 @@ -5915,6 +6203,7 @@ Lightning Network History + Lightning ქსელის ისტორია src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 49 @@ -5923,13 +6212,22 @@ Liquidity Ranking + ლიკვიდურობის რეიტინგი src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -5939,6 +6237,7 @@ Connectivity Ranking + კავშირის რეიტინგი src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 76 @@ -5951,113 +6250,139 @@ Fee distribution + საკომისიოს განაწილება src/app/lightning/node-fee-chart/node-fee-chart.component.html 2 lightning.node-fee-distribution + + Outgoing Fees + გამავალი საკომისიო + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 170 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 208 + + + + Incoming Fees + შემომავალი საკომისიოები + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 178 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 222 + + Percentage change past week + პროცენტული ცვლილება გასულ კვირას src/app/lightning/node-statistics/node-statistics.component.html 5,7 src/app/lightning/node-statistics/node-statistics.component.html - 18,20 + 17,19 src/app/lightning/node-statistics/node-statistics.component.html - 30,32 + 29,31 mining.percentage-change-last-week Lightning node + Lightning ნოდა src/app/lightning/node/node-preview.component.html 3,5 src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node Active capacity + საშუალო სიმძლავრე src/app/lightning/node/node-preview.component.html 20,22 src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity Active channels + აქტიური ჩანელი src/app/lightning/node/node-preview.component.html 26,30 src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels Country + ქვეყანა src/app/lightning/node/node-preview.component.html 44,47 country - - No node found for public key "" - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size + არხის საშუალო ზომა src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg Avg channel distance + არხის საშუალო მანძილი src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance Color + ფერი src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color ISP + ISP src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6067,96 +6392,108 @@ Exclusively on Tor + ექსკლუზიურად Tor-ზე src/app/lightning/node/node.component.html - 93,95 + 96,98 tor Liquidity ad + Liquidity ad src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad Lease fee rate + იჯარის საკომისიო src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate Lease base fee + იჯარის საბაზისო საკომისიო src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee Funding weight + დაფინანსების განაკვეთი src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight Channel fee rate + ჩანელის საკომისიო src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate Channel base fee + ჩანელის საბაზისო საკომისიო src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee Compact lease + კომპაქტური იჯარა src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease TLV extension records + TLV ჩანაწერები src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records Open channels + ჩანელის გახსნა src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels Closed channels + ჩანელის დახურვა src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels Node: + ნოდა: src/app/lightning/node/node.component.ts 60 @@ -6164,6 +6501,7 @@ (Tor nodes excluded) + (Tor nodes excluded) src/app/lightning/nodes-channels-map/nodes-channels-map.component.html 8,11 @@ -6184,6 +6522,7 @@ Lightning Nodes Channels World Map + Lightning ნოდების ჩანელები მსოფლიო რუქაზე src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts 69 @@ -6191,13 +6530,15 @@ No geolocation data available + გეოლოკაციის მონაცემები მიუწვდომელია src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 218,213 + 219,214 Active channels map + აქტირუი ჩანელები რუქაზე src/app/lightning/nodes-channels/node-channels.component.html 2,3 @@ -6206,6 +6547,7 @@ Indexing in progress + ინდექსირება მუშავდება src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 121,116 @@ -6215,8 +6557,9 @@ 112,107 - - Reachable on Clearnet Only + + Clearnet and Darknet + Clearnet ი და Darknet ი src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6226,8 +6569,9 @@ 303,302 - - Reachable on Clearnet and Darknet + + Clearnet Only (IPv4, IPv6) + Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6237,8 +6581,9 @@ 295,294 - - Reachable on Darknet Only + + Darknet Only (Tor, I2P, cjdns) + Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6250,6 +6595,7 @@ Share + გაზიარება src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html 29,31 @@ -6262,6 +6608,7 @@ nodes + ნოდა src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 103,102 @@ -6277,6 +6624,7 @@ BTC capacity + BTC სიმძლავრე src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.ts 104,102 @@ -6284,6 +6632,7 @@ Lightning nodes in + Lightning ნოდა ში src/app/lightning/nodes-per-country/nodes-per-country.component.html 3,4 @@ -6292,6 +6641,7 @@ ISP Count + ISP Count src/app/lightning/nodes-per-country/nodes-per-country.component.html 34,38 @@ -6300,6 +6650,7 @@ Top ISP + Top ISP src/app/lightning/nodes-per-country/nodes-per-country.component.html 38,40 @@ -6308,6 +6659,7 @@ Lightning nodes in + Lightning ნოდები ში src/app/lightning/nodes-per-country/nodes-per-country.component.ts 35 @@ -6315,6 +6667,7 @@ Clearnet Capacity + Clearnet სიმძლავრე src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 6,8 @@ -6327,6 +6680,7 @@ How much liquidity is running on nodes advertising at least one clearnet IP address + რამდენი ლიკვიდურობა არის კვაშირზე, რომლებიც იყენებენ მინიმუმ ერთი წმინდა IP მისამართს src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 8,9 @@ -6335,6 +6689,7 @@ Unknown Capacity + უცნობი სიმძლავრე src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 13,15 @@ -6347,6 +6702,7 @@ How much liquidity is running on nodes which ISP was not identifiable + რამდენად ლიკვიდურია კავშირი, რომელთა იდენტიფიცირებაც ISP არ იყო src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 15,16 @@ -6355,6 +6711,7 @@ Tor Capacity + Tor სიმძლავრე src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 20,22 @@ -6367,6 +6724,7 @@ How much liquidity is running on nodes advertising only Tor addresses + რამდენად ლიკვიდურია მხოლოდ Tor-ის მისამართებზე ნოდები src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 22,23 @@ -6375,6 +6733,7 @@ Top 100 ISPs hosting LN nodes + Top 100 ISPs hosting LN nodes src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 31,33 @@ -6383,6 +6742,7 @@ BTC + BTC src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.ts 158,156 @@ -6394,6 +6754,7 @@ Lightning ISP + Lightning ISP src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 3,5 @@ -6402,6 +6763,7 @@ Top country + ტოპ ქვეყანა src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 39,41 @@ -6414,6 +6776,7 @@ Top node + ტოპ ნოდა src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 45,48 @@ -6422,6 +6785,7 @@ Lightning nodes on ISP: [AS] + Lightning nodes on ISP: [AS] src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 44 @@ -6433,6 +6797,7 @@ Lightning nodes on ISP: + Lightning nodes on ISP: src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 2,4 @@ -6441,6 +6806,7 @@ ASN + ASN src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 11,14 @@ -6449,6 +6815,7 @@ Active nodes + აქტიური ნოდა src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 14,18 @@ -6457,6 +6824,7 @@ Top 100 oldest lightning nodes + ტოპ 100 ყველაზე ძველი ნოდა src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html 3,7 @@ -6465,29 +6833,15 @@ Oldest lightning nodes + ყველაზე ძველი lightning ნოდები src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 27 - - Top 100 nodes liquidity ranking - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes + ყველაზე ძველი ნოდები src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html 36 @@ -6496,6 +6850,7 @@ Top lightning nodes + ტოპ lightning ნოდები src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 22 @@ -6503,6 +6858,7 @@ Indexing in progress + ინდექსაცია მიმდინარეობს src/app/lightning/statistics-chart/lightning-statistics-chart.component.html 52,55 diff --git a/frontend/src/locale/messages.ko.xlf b/frontend/src/locale/messages.ko.xlf index 2930ca097..1d2be3910 100644 --- a/frontend/src/locale/messages.ko.xlf +++ b/frontend/src/locale/messages.ko.xlf @@ -11,6 +11,7 @@ Slide of + 슬라이드 / node_modules/src/carousel/carousel.ts 175,181 @@ -147,6 +148,7 @@ + node_modules/src/progressbar/progressbar.ts 30,33 @@ -357,11 +359,11 @@ src/app/components/block/block.component.html - 290,291 + 310,311 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 26,27 + 46,47 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -382,11 +384,11 @@ src/app/components/block/block.component.html - 291,292 + 311,312 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 27,28 + 47,48 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -424,7 +426,7 @@ src/app/components/block/block.component.html - 40,41 + 38,39 block.hash @@ -449,7 +451,7 @@ src/app/components/block/block.component.html - 44,46 + 42,44 src/app/components/blocks-list/blocks-list.component.html @@ -592,11 +594,11 @@ src/app/components/master-page/master-page.component.html - 49,51 + 48,50 src/app/components/pool-ranking/pool-ranking.component.html - 94,96 + 94,95 @@ -773,16 +775,24 @@ src/app/components/about/about.component.html - 385,389 + 375,378 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 88 src/app/dashboard/dashboard.component.html - 150,152 + 157,159 src/app/docs/docs/docs.component.html 51 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 97 + Terms of Service shared.terms-of-service @@ -793,14 +803,22 @@ src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 113,120 + + src/app/components/mining-dashboard/mining-dashboard.component.html + 90 + src/app/dashboard/dashboard.component.html - 152,154 + 159,161 src/app/docs/docs/docs.component.html 53 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 99 + Privacy Policy shared.privacy-policy @@ -988,7 +1006,7 @@ src/app/dashboard/dashboard.component.html - 124,125 + 124,126 @@ -1036,7 +1054,7 @@ src/app/components/transaction/transaction.component.html - 158,160 + 152,154 src/app/components/transactions-list/transactions-list.component.html @@ -1052,11 +1070,11 @@ src/app/components/block/block.component.html - 246,247 + 252,253 src/app/components/transaction/transaction.component.html - 288,290 + 282,284 transaction.version @@ -1106,7 +1124,7 @@ src/app/components/transactions-list/transactions-list.component.html - 294,295 + 296,297 Transaction singular confirmation count shared.confirmation-count.singular @@ -1128,7 +1146,7 @@ src/app/components/transactions-list/transactions-list.component.html - 295,296 + 297,298 Transaction plural confirmation count shared.confirmation-count.plural @@ -1140,10 +1158,6 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html 43,45 - - src/app/components/transaction/transaction.component.html - 65,67 - Transaction included in block transaction.included-in-block @@ -1156,11 +1170,11 @@ src/app/components/transaction/transaction.component.html - 77,80 + 71,74 src/app/components/transaction/transaction.component.html - 135,138 + 129,132 Transaction features transaction.features @@ -1188,11 +1202,11 @@ src/app/components/transaction/transaction.component.html - 262,267 + 256,261 src/app/components/transaction/transaction.component.html - 406,412 + 400,406 transaction.details @@ -1209,11 +1223,11 @@ src/app/components/transaction/transaction.component.html - 249,253 + 243,247 src/app/components/transaction/transaction.component.html - 377,383 + 371,377 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1231,7 +1245,7 @@ src/app/components/transaction/transaction.component.ts - 241,240 + 244,243 @@ -1251,7 +1265,7 @@ src/app/components/transaction/transaction.component.html - 159,160 + 153,154 src/app/dashboard/dashboard.component.html @@ -1267,7 +1281,7 @@ src/app/components/transaction/transaction.component.html - 72,73 + 66,67 Transaction Confirmed state transaction.confirmed @@ -1438,7 +1452,7 @@ 비트코인 커뮤니티를 위한 멤풀 및 블록체인 탐색기는 트랜잭션 수수료 시장과 다계층 생태계에 중점을 두고 있으며 제3자 없이 자체 호스팅하고 있습니다. src/app/components/about/about.component.html - 13,17 + 13,16 @@ -1446,7 +1460,7 @@ 기업 스폰서🚀 src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1455,7 +1469,7 @@ 커뮤니티 스폰서❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1463,7 +1477,7 @@ Community Integrations src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1472,7 +1486,7 @@ 커뮤니티 연합 src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1481,7 +1495,7 @@ 프로젝트 번역자 src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1490,7 +1504,7 @@ 프로젝트 참여자 목록 src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1499,7 +1513,7 @@ 프로젝트 멤버들 src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1508,7 +1522,7 @@ 프로젝트 관리자 목록 src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1517,7 +1531,7 @@ 대하여 src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1529,11 +1543,12 @@ src/app/components/master-page/master-page.component.html - 58,61 + 57,60 Multisig of + 다중서명 / src/app/components/address-labels/address-labels.component.ts 107 @@ -1565,7 +1580,7 @@ src/app/components/amount/amount.component.html - 6,9 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -1581,7 +1596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 302,304 + 304,306 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1664,7 +1679,7 @@ src/app/components/assets/assets.component.html - 29,31 + 31,33 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -1886,7 +1901,7 @@ src/app/components/assets/assets.component.html - 30,31 + 32,33 Asset ticker header @@ -1899,7 +1914,7 @@ src/app/components/assets/assets.component.html - 31,34 + 33,36 Asset Issuer Domain header @@ -1912,7 +1927,7 @@ src/app/components/assets/assets.component.html - 32,36 + 34,38 Asset ID header @@ -1921,7 +1936,7 @@ 자산 데이터 로딩 실패 src/app/components/assets/assets.component.html - 48,53 + 50,55 Asset data load error @@ -2034,6 +2049,7 @@ At block: + 블록: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 188 @@ -2044,11 +2060,12 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 161 + 165 Around block: + 대략 블록: src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts 190 @@ -2059,7 +2076,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 163 + 167 @@ -2071,7 +2088,7 @@ src/app/components/block-fees-graph/block-fees-graph.component.ts - 62 + 67 src/app/components/graphs/graphs.component.html @@ -2084,15 +2101,15 @@ 블록 인덱싱 중 src/app/components/block-fees-graph/block-fees-graph.component.ts - 110,105 + 116,111 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 108,103 + 113,108 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 115,110 + 116,111 src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -2136,7 +2153,7 @@ src/app/components/transaction/transaction.component.html - 476 + 472 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2162,11 +2179,11 @@ src/app/components/transaction/transaction.component.html - 476,477 + 472 src/app/components/transactions-list/transactions-list.component.html - 286,287 + 288 sat shared.sat @@ -2180,11 +2197,11 @@ src/app/components/transaction/transaction.component.html - 161,165 + 155,159 src/app/components/transaction/transaction.component.html - 479,481 + 475,477 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2196,7 +2213,7 @@ src/app/lightning/channels-list/channels-list.component.html - 38,39 + 41,42 Transaction fee rate transaction.fee-rate @@ -2214,19 +2231,19 @@ src/app/components/block/block.component.html - 125,128 + 124,127 src/app/components/block/block.component.html - 129 + 128,130 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 12,14 + 19,22 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 15,17 + 30,33 src/app/components/fees-box/fees-box.component.html @@ -2266,27 +2283,27 @@ src/app/components/transaction/transaction.component.html - 173,174 + 167,168 src/app/components/transaction/transaction.component.html - 184,185 + 178,179 src/app/components/transaction/transaction.component.html - 195,196 + 189,190 src/app/components/transaction/transaction.component.html - 481,484 + 477,480 src/app/components/transaction/transaction.component.html - 492,494 + 488,490 src/app/components/transactions-list/transactions-list.component.html - 286 + 286,287 src/app/dashboard/dashboard.component.html @@ -2294,7 +2311,7 @@ src/app/dashboard/dashboard.component.html - 204,208 + 213,217 sat/vB shared.sat-vbyte @@ -2308,11 +2325,11 @@ src/app/components/transaction/transaction.component.html - 160,162 + 154,156 src/app/components/transaction/transaction.component.html - 274,277 + 268,271 Transaction Virtual Size transaction.vsize @@ -2416,7 +2433,7 @@ src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 60 + 65 src/app/components/graphs/graphs.component.html @@ -2446,15 +2463,15 @@ 사이즈 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 180,179 + 184,183 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 226,224 + 239,237 src/app/components/block/block.component.html - 50,52 + 48,50 src/app/components/blocks-list/blocks-list.component.html @@ -2478,7 +2495,7 @@ src/app/components/transaction/transaction.component.html - 270,272 + 264,266 src/app/dashboard/dashboard.component.html @@ -2490,11 +2507,11 @@ 무게 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 188,187 + 192,191 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 257,254 + 270,267 src/app/components/block/block-preview.component.html @@ -2502,15 +2519,27 @@ src/app/components/block/block.component.html - 54,56 + 52,54 src/app/components/transaction/transaction.component.html - 278,280 + 272,274 + + + + Size per weight + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 200,199 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 282,279 Block + 블록 src/app/components/block/block-preview.component.html 3,7 @@ -2521,14 +2550,6 @@ shared.block-title - - - - src/app/components/block/block-preview.component.html - 11,12 - - shared.block-title - Median fee 평균 수수료 @@ -2538,7 +2559,7 @@ src/app/components/block/block.component.html - 128,129 + 127,128 src/app/components/mempool-block/mempool-block.component.html @@ -2555,11 +2576,11 @@ src/app/components/block/block.component.html - 133,135 + 138,140 src/app/components/block/block.component.html - 159,162 + 164,167 src/app/components/mempool-block/mempool-block.component.html @@ -2577,7 +2598,7 @@ src/app/components/block/block.component.html - 168,170 + 173,175 block.miner @@ -2590,7 +2611,7 @@ src/app/components/block/block.component.ts - 227 + 242 @@ -2615,31 +2636,47 @@ Previous Block - - Block health + + Health src/app/components/block/block.component.html - 58,61 + 56 - block.health + + src/app/components/blocks-list/blocks-list.component.html + 18,19 + + + src/app/components/blocks-list/blocks-list.component.html + 18,19 + + latest-blocks.health Unknown src/app/components/block/block.component.html - 69,72 + 67,70 src/app/components/blocks-list/blocks-list.component.html 60,63 - src/app/lightning/node/node.component.html - 52,55 + src/app/components/pool-ranking/pool-ranking.component.html + 121,124 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 src/app/lightning/node/node.component.html - 96,100 + 55,58 + + + src/app/lightning/node/node.component.html + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2656,7 +2693,7 @@ 수수료 범위 src/app/components/block/block.component.html - 124,125 + 123,124 src/app/components/mempool-block/mempool-block.component.html @@ -2669,7 +2706,7 @@ 평균 native segwit 트랜잭션의 140 vBytes 기준 src/app/components/block/block.component.html - 129,131 + 131,136 src/app/components/fees-box/fees-box.component.html @@ -2693,49 +2730,62 @@ Transaction fee tooltip - - Subsidy + fees: - 채굴된 양 + 수수료: + + Subsidy + fees src/app/components/block/block.component.html - 148,151 + 153,156 src/app/components/block/block.component.html - 163,167 + 168,172 Total subsidy and fees in a block block.subsidy-and-fees - - Projected + + Expected src/app/components/block/block.component.html - 210,212 + 216 - block.projected + block.expected + + + beta + + src/app/components/block/block.component.html + 216,217 + + + src/app/components/block/block.component.html + 222,224 + + beta Actual src/app/components/block/block.component.html - 212,216 + 218,222 block.actual - - Projected Block + + Expected Block + 예상된 블록 src/app/components/block/block.component.html - 216,218 + 222 - block.projected-block + block.expected-block Actual Block + 실제 블록 src/app/components/block/block.component.html - 225,227 + 231 block.actual-block @@ -2744,7 +2794,7 @@ 비트 src/app/components/block/block.component.html - 250,252 + 256,258 block.bits @@ -2753,7 +2803,7 @@ 머클 루트 src/app/components/block/block.component.html - 254,256 + 260,262 block.merkle-root @@ -2762,7 +2812,7 @@ 난이도 src/app/components/block/block.component.html - 265,268 + 271,274 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -2791,7 +2841,7 @@ 임시값 src/app/components/block/block.component.html - 269,271 + 275,277 block.nonce @@ -2800,32 +2850,41 @@ 블록헤더 16진수 src/app/components/block/block.component.html - 273,274 + 279,280 block.header + + Audit + + src/app/components/block/block.component.html + 297,301 + + Toggle Audit + block.toggle-audit + Details 자세히 src/app/components/block/block.component.html - 284,288 + 304,308 src/app/components/transaction/transaction.component.html - 254,259 + 248,253 src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2835,20 +2894,16 @@ 데이터 불러오기 실패. src/app/components/block/block.component.html - 303,305 + 323,325 src/app/components/block/block.component.html - 339,343 + 362,366 src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -2861,9 +2916,10 @@ Why is this block empty? + 이 블록은 왜 트랜잭션이 없나요? src/app/components/block/block.component.html - 361,367 + 384,390 block.empty-block-explanation @@ -2909,18 +2965,6 @@ latest-blocks.mined - - Health - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - - src/app/components/blocks-list/blocks-list.component.html - 18,19 - - latest-blocks.health - Reward 보상 @@ -2984,7 +3028,7 @@ src/app/dashboard/dashboard.component.html - 210,214 + 219,223 dashboard.txs @@ -3221,7 +3265,7 @@ src/app/dashboard/dashboard.component.html - 237,238 + 246,247 dashboard.incoming-transactions @@ -3234,7 +3278,7 @@ src/app/dashboard/dashboard.component.html - 240,243 + 249,252 dashboard.backend-is-synchronizing @@ -3247,7 +3291,7 @@ src/app/dashboard/dashboard.component.html - 245,250 + 254,259 vB/s shared.vbytes-per-second @@ -3261,7 +3305,7 @@ src/app/dashboard/dashboard.component.html - 208,209 + 217,218 Unconfirmed count dashboard.unconfirmed @@ -3321,6 +3365,7 @@ Lightning + 라이트닝 src/app/components/graphs/graphs.component.html 31 @@ -3329,6 +3374,7 @@ Lightning Nodes Per Network + 네트워크당 라이트닝 노드 src/app/components/graphs/graphs.component.html 34 @@ -3509,7 +3555,7 @@ src/app/components/master-page/master-page.component.html - 52,54 + 51,53 src/app/components/statistics/statistics.component.ts @@ -3534,7 +3580,7 @@ Lightning Explorer src/app/components/master-page/master-page.component.html - 44,45 + 44,47 src/app/lightning/lightning-dashboard/lightning-dashboard.component.ts @@ -3542,20 +3588,12 @@ master-page.lightning - - beta - - src/app/components/master-page/master-page.component.html - 45,48 - - beta - Documentation 문서 src/app/components/master-page/master-page.component.html - 55,57 + 54,56 src/app/docs/docs/docs.component.html @@ -3635,6 +3673,32 @@ dashboard.adjustments + + Broadcast Transaction + 트랜잭션을 비트코인 네트워크에 전송하기 + + src/app/components/mining-dashboard/mining-dashboard.component.html + 92 + + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/dashboard/dashboard.component.html + 161,169 + + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 102 + + Broadcast Transaction + shared.broadcast-transaction + Pools luck (1 week) @@ -3696,7 +3760,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 136,138 + 152,154 master-page.blocks @@ -3725,12 +3789,24 @@ mining.rank + + Avg Health + + src/app/components/pool-ranking/pool-ranking.component.html + 96,97 + + + src/app/components/pool-ranking/pool-ranking.component.html + 96,98 + + latest-blocks.avg_health + Empty blocks 빈 블록 src/app/components/pool-ranking/pool-ranking.component.html - 95,98 + 97,100 mining.empty-blocks @@ -3739,7 +3815,7 @@ 모든 채굴자 src/app/components/pool-ranking/pool-ranking.component.html - 113,114 + 129,130 mining.all-miners @@ -3748,7 +3824,7 @@ 채굴 풀들의 운 (1주) src/app/components/pool-ranking/pool-ranking.component.html - 130,132 + 146,148 mining.miners-luck @@ -3757,7 +3833,7 @@ 채굴 풀 개수 src/app/components/pool-ranking/pool-ranking.component.html - 142,144 + 158,160 mining.miners-count @@ -3766,7 +3842,7 @@ 채굴 풀 src/app/components/pool-ranking/pool-ranking.component.ts - 57 + 58 @@ -3992,24 +4068,6 @@ latest-blocks.coinbasetag - - Broadcast Transaction - 트랜잭션을 비트코인 네트워크에 전송하기 - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 154,161 - - Broadcast Transaction - shared.broadcast-transaction - Transaction hex 트랜잭션 16진수 @@ -4019,7 +4077,7 @@ src/app/components/transaction/transaction.component.html - 296,297 + 290,291 transaction.hex @@ -4139,6 +4197,77 @@ search-form.search-title + + Bitcoin Block Height + 비트코인 블록 높이 + + src/app/components/search-form/search-results/search-results.component.html + 3 + + search.bitcoin-block-height + + + Bitcoin Transaction + 비트코인 트랜잭션 + + src/app/components/search-form/search-results/search-results.component.html + 9 + + search.bitcoin-transaction + + + Bitcoin Address + 비트코인 주소 + + src/app/components/search-form/search-results/search-results.component.html + 15 + + search.bitcoin-address + + + Bitcoin Block + 비트코인 블록 + + src/app/components/search-form/search-results/search-results.component.html + 21 + + search.bitcoin-block + + + Bitcoin Addresses + 비트코인 주소들 + + src/app/components/search-form/search-results/search-results.component.html + 27 + + search.bitcoin-addresses + + + Lightning Nodes + 라이트닝 노드들 + + src/app/components/search-form/search-results/search-results.component.html + 35 + + search.lightning-nodes + + + Lightning Channels + 라이트닝 채널들 + + src/app/components/search-form/search-results/search-results.component.html + 43 + + search.lightning-channels + + + Go to "" + + src/app/components/search-form/search-results/search-results.component.html + 52 + + search.go-to + Mempool by vBytes (sat/vByte) Mempool by vBytes (sat.vByte) @@ -4421,7 +4550,7 @@ src/app/components/transactions-list/transactions-list.component.html - 298,301 + 300,303 Transaction unconfirmed state transaction.unconfirmed @@ -4431,11 +4560,11 @@ 처음으로 감지됨 src/app/components/transaction/transaction.component.html - 108,109 + 102,103 src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4451,11 +4580,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -4465,7 +4594,7 @@ 컨펌까지 남은 예상시간 src/app/components/transaction/transaction.component.html - 115,116 + 109,110 Transaction ETA transaction.eta @@ -4475,7 +4604,7 @@ 몇 시간 후 (또는 그 이상) src/app/components/transaction/transaction.component.html - 121,124 + 115,118 Transaction ETA in several hours or more transaction.eta.in-several-hours @@ -4485,11 +4614,11 @@ 자손 src/app/components/transaction/transaction.component.html - 168,170 + 162,164 src/app/components/transaction/transaction.component.html - 179,181 + 173,175 Descendant transaction.descendant @@ -4499,7 +4628,7 @@ 조상 src/app/components/transaction/transaction.component.html - 190,192 + 184,186 Transaction Ancestor transaction.ancestor @@ -4508,11 +4637,11 @@ Flow src/app/components/transaction/transaction.component.html - 208,211 + 202,205 src/app/components/transaction/transaction.component.html - 346,350 + 340,344 Transaction flow transaction.flow @@ -4521,15 +4650,16 @@ Hide diagram src/app/components/transaction/transaction.component.html - 211,216 + 205,210 hide-diagram Show more + 더 보기 src/app/components/transaction/transaction.component.html - 231,233 + 225,227 src/app/components/transactions-list/transactions-list.component.html @@ -4543,9 +4673,10 @@ Show less + 숨기기 src/app/components/transaction/transaction.component.html - 233,239 + 227,233 src/app/components/transactions-list/transactions-list.component.html @@ -4555,9 +4686,10 @@ Show diagram + 도표 보기 src/app/components/transaction/transaction.component.html - 253,254 + 247,248 show-diagram @@ -4566,7 +4698,7 @@ 잠금 시간 src/app/components/transaction/transaction.component.html - 292,294 + 286,288 transaction.locktime @@ -4575,7 +4707,7 @@ 트랜잭션을 찾을 수 없음 src/app/components/transaction/transaction.component.html - 455,456 + 449,450 transaction.error.transaction-not-found @@ -4584,7 +4716,7 @@ 멤풀에 포함될때까지 대기하는 중... src/app/components/transaction/transaction.component.html - 456,461 + 450,455 transaction.error.waiting-for-it-to-appear @@ -4593,7 +4725,7 @@ 유효 수수료율 src/app/components/transaction/transaction.component.html - 489,492 + 485,488 Effective transaction fee rate transaction.effective-fee-rate @@ -4741,7 +4873,7 @@ Show more inputs to reveal fee data src/app/components/transactions-list/transactions-list.component.html - 288,291 + 290,293 transactions-list.load-to-reveal-fee-info @@ -4749,7 +4881,7 @@ remaining src/app/components/transactions-list/transactions-list.component.html - 330,331 + 332,333 x-remaining @@ -4987,21 +5119,12 @@ dashboard.latest-transactions - - USD - 달러 - - src/app/dashboard/dashboard.component.html - 126,127 - - dashboard.latest-transactions.USD - Minimum fee 최소 수수료 src/app/dashboard/dashboard.component.html - 201,202 + 210,211 Minimum mempool fee dashboard.minimum-fee @@ -5011,7 +5134,7 @@ 퍼징 src/app/dashboard/dashboard.component.html - 202,203 + 211,212 Purgin below fee dashboard.purging @@ -5021,7 +5144,7 @@ 멤풀 메모리 사용량 src/app/dashboard/dashboard.component.html - 214,215 + 223,224 Memory usage dashboard.memory-usage @@ -5031,15 +5154,23 @@ 유통 중인 L-BTC src/app/dashboard/dashboard.component.html - 228,230 + 237,239 dashboard.lbtc-pegs-in-circulation + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + + src/app/docs/api-docs/api-docs.component.html + 13 + + faq.big-disclaimer + REST API service src/app/docs/api-docs/api-docs.component.html - 39,40 + 41,42 api-docs.title @@ -5048,11 +5179,11 @@ 엔드포인트 src/app/docs/api-docs/api-docs.component.html - 48,49 + 50,51 src/app/docs/api-docs/api-docs.component.html - 102,105 + 104,107 Api docs endpoint @@ -5061,11 +5192,11 @@ 설명 src/app/docs/api-docs/api-docs.component.html - 67,68 + 69,70 src/app/docs/api-docs/api-docs.component.html - 106,107 + 108,109 @@ -5073,7 +5204,7 @@ 기본 푸시: 작업: 'want', 데이터 : [ 'blocks', ...] 을 사용하여 푸시하려는 것을 표시할 수 있습니다. 사용 가능: blocks, mempool-blocks, live-2h-chart, 및stats.주소와 관련된 트랜잭션을 푸시:’track-address’: ‘3PbJ…bF9B’을 사용하여 인풋 또는 아웃풋 주소를 포함한 새로운 트랜잭션을 받을 수 있습니다. 트랜잭션들은 행렬로 반환합니다. 새로운 트랜잭션일 경우address-transactions이고, 새롭게 컨펌된 트랜잭션일 경우block-transactions입니다. src/app/docs/api-docs/api-docs.component.html - 107,108 + 109,110 api-docs.websocket.websocket @@ -5168,7 +5299,7 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats @@ -5236,7 +5367,7 @@ src/app/lightning/channels-list/channels-list.component.html - 120,121 + 123,124 lightning.x-channels @@ -5274,11 +5405,11 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html - 65,66 + 68,69 status.inactive @@ -5290,11 +5421,11 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html - 66,68 + 69,71 status.active @@ -5306,7 +5437,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5314,7 +5445,7 @@ src/app/lightning/channels-list/channels-list.component.html - 68,70 + 71,73 status.closed @@ -5326,7 +5457,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5338,11 +5469,11 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html - 40,43 + 43,46 src/app/lightning/node-statistics/node-statistics.component.html @@ -5350,7 +5481,7 @@ src/app/lightning/node-statistics/node-statistics.component.html - 47,50 + 46,49 src/app/lightning/nodes-list/nodes-list.component.html @@ -5372,6 +5503,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5406,11 +5541,11 @@ Lightning channel src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5418,11 +5553,11 @@ Last update src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5438,11 +5573,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5450,11 +5585,11 @@ Closing date src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html - 39,40 + 42,43 lightning.closing_date @@ -5462,7 +5597,7 @@ Closed by src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by @@ -5470,7 +5605,7 @@ Opening transaction src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction @@ -5478,7 +5613,7 @@ Closing transaction src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5489,6 +5624,27 @@ 37 + + Mutually closed + + src/app/lightning/channel/closing-type/closing-type.component.ts + 20 + + + + Force closed + + src/app/lightning/channel/closing-type/closing-type.component.ts + 24 + + + + Force closed with penalty + + src/app/lightning/channel/closing-type/closing-type.component.ts + 28 + + Open @@ -5501,7 +5657,7 @@ No channels to display src/app/lightning/channels-list/channels-list.component.html - 29,35 + 29,37 lightning.empty-channels-list @@ -5509,7 +5665,7 @@ Alias src/app/lightning/channels-list/channels-list.component.html - 35,37 + 38,40 src/app/lightning/group/group.component.html @@ -5533,11 +5689,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -5545,7 +5701,7 @@ Status src/app/lightning/channels-list/channels-list.component.html - 37,38 + 40,41 status @@ -5553,7 +5709,7 @@ Channel ID src/app/lightning/channels-list/channels-list.component.html - 41,45 + 44,48 channels.id @@ -5561,11 +5717,11 @@ sats src/app/lightning/channels-list/channels-list.component.html - 60,64 + 63,67 src/app/lightning/channels-list/channels-list.component.html - 84,88 + 87,91 src/app/lightning/channels-statistics/channels-statistics.component.html @@ -5609,6 +5765,22 @@ shared.sats + + avg + + src/app/lightning/channels-statistics/channels-statistics.component.html + 3,5 + + statistics.average-small + + + med + + src/app/lightning/channels-statistics/channels-statistics.component.html + 6,9 + + statistics.median-small + Avg Capacity @@ -5725,11 +5897,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 17,18 + 16,17 src/app/lightning/node-statistics/node-statistics.component.html - 54,57 + 53,56 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -5777,10 +5949,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -5797,11 +5965,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 29,30 + 28,29 src/app/lightning/node-statistics/node-statistics.component.html - 61,64 + 60,63 src/app/lightning/nodes-list/nodes-list.component.html @@ -5833,11 +6001,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -5873,7 +6041,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5889,11 +6057,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -5927,9 +6095,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -5957,6 +6133,28 @@ lightning.node-fee-distribution + + Outgoing Fees + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 170 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 208 + + + + Incoming Fees + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 178 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 222 + + Percentage change past week @@ -5965,11 +6163,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 18,20 + 17,19 src/app/lightning/node-statistics/node-statistics.component.html - 30,32 + 29,31 mining.percentage-change-last-week @@ -5981,11 +6179,11 @@ src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -5997,7 +6195,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -6009,7 +6207,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -6021,19 +6219,11 @@ country - - No node found for public key "" - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg @@ -6041,23 +6231,25 @@ Avg channel distance src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance Color + src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color ISP + 통신사 src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6069,15 +6261,16 @@ Exclusively on Tor src/app/lightning/node/node.component.html - 93,95 + 96,98 tor Liquidity ad + 유동성 광고 src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad @@ -6085,7 +6278,7 @@ Lease fee rate src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6094,7 +6287,7 @@ Lease base fee src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee @@ -6102,7 +6295,7 @@ Funding weight src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight @@ -6110,7 +6303,7 @@ Channel fee rate src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6119,7 +6312,7 @@ Channel base fee src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee @@ -6127,7 +6320,7 @@ Compact lease src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease @@ -6135,7 +6328,7 @@ TLV extension records src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6143,7 +6336,7 @@ Open channels src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6151,7 +6344,7 @@ Closed channels src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6193,7 +6386,7 @@ No geolocation data available src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 218,213 + 219,214 @@ -6215,8 +6408,8 @@ 112,107 - - Reachable on Clearnet Only + + Clearnet and Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6226,8 +6419,8 @@ 303,302 - - Reachable on Clearnet and Darknet + + Clearnet Only (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6237,8 +6430,8 @@ 295,294 - - Reachable on Darknet Only + + Darknet Only (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6470,22 +6663,6 @@ 27 - - Top 100 nodes liquidity ranking - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes diff --git a/frontend/src/locale/messages.lt.xlf b/frontend/src/locale/messages.lt.xlf index d28aaabc5..1360df21c 100644 --- a/frontend/src/locale/messages.lt.xlf +++ b/frontend/src/locale/messages.lt.xlf @@ -11,7 +11,7 @@ Slide of - Skaidrė + Langas node_modules/src/carousel/carousel.ts 175,181 @@ -359,11 +359,11 @@ src/app/components/block/block.component.html - 303,304 + 310,311 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 26,27 + 46,47 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -384,11 +384,11 @@ src/app/components/block/block.component.html - 304,305 + 311,312 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 27,28 + 47,48 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -598,7 +598,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 94,96 + 94,95 @@ -629,7 +629,7 @@ Bitcoin Markets - Bitkoino rinkos + Bitkoino Rinkos src/app/bisq/bisq-dashboard/bisq-dashboard.component.html 21,24 @@ -721,7 +721,7 @@ Bisq Price Index - "Bisq" kainos indeksas + "Bisq" Kainos Indeksas src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 9,11 @@ -730,7 +730,7 @@ Bisq Market Price - "Bisq" rinkos kaina + "Bisq" Rinkos Kaina src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 21,23 @@ -768,41 +768,57 @@ Terms of Service - Paslaugų teikimo sąlygos + Paslaugų Teikimo Sąlygos src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 111,113 src/app/components/about/about.component.html - 385,389 + 375,378 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 88 src/app/dashboard/dashboard.component.html - 150,152 + 157,159 src/app/docs/docs/docs.component.html 51 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 97 + Terms of Service shared.terms-of-service Privacy Policy - Privatumo politika + Privatumo Politika src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 113,120 + + src/app/components/mining-dashboard/mining-dashboard.component.html + 90 + src/app/dashboard/dashboard.component.html - 152,154 + 159,161 src/app/docs/docs/docs.component.html 53 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 99 + Privacy Policy shared.privacy-policy @@ -990,7 +1006,7 @@ src/app/dashboard/dashboard.component.html - 124,125 + 124,126 @@ -1038,7 +1054,7 @@ src/app/components/transaction/transaction.component.html - 158,160 + 152,154 src/app/components/transactions-list/transactions-list.component.html @@ -1054,17 +1070,17 @@ src/app/components/block/block.component.html - 245,246 + 252,253 src/app/components/transaction/transaction.component.html - 288,290 + 282,284 transaction.version Transaction - Operacija + Sandoris src/app/bisq/bisq-transaction/bisq-transaction.component.html 6,11 @@ -1108,7 +1124,7 @@ src/app/components/transactions-list/transactions-list.component.html - 294,295 + 296,297 Transaction singular confirmation count shared.confirmation-count.singular @@ -1130,7 +1146,7 @@ src/app/components/transactions-list/transactions-list.component.html - 295,296 + 297,298 Transaction plural confirmation count shared.confirmation-count.plural @@ -1142,10 +1158,6 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html 43,45 - - src/app/components/transaction/transaction.component.html - 65,67 - Transaction included in block transaction.included-in-block @@ -1158,11 +1170,11 @@ src/app/components/transaction/transaction.component.html - 77,80 + 71,74 src/app/components/transaction/transaction.component.html - 135,138 + 129,132 Transaction features transaction.features @@ -1190,17 +1202,17 @@ src/app/components/transaction/transaction.component.html - 262,267 + 256,261 src/app/components/transaction/transaction.component.html - 406,412 + 400,406 transaction.details Inputs & Outputs - Įvestys ir išvestys + Įvestys ir Išvestys src/app/bisq/bisq-transaction/bisq-transaction.component.html 97,105 @@ -1211,11 +1223,11 @@ src/app/components/transaction/transaction.component.html - 249,253 + 243,247 src/app/components/transaction/transaction.component.html - 377,383 + 371,377 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1233,12 +1245,12 @@ src/app/components/transaction/transaction.component.ts - 241,240 + 244,243 BSQ Transactions - BSQ operacijos + BSQ Sandoriai src/app/bisq/bisq-transactions/bisq-transactions.component.html 2,5 @@ -1253,7 +1265,7 @@ src/app/components/transaction/transaction.component.html - 159,160 + 153,154 src/app/dashboard/dashboard.component.html @@ -1269,7 +1281,7 @@ src/app/components/transaction/transaction.component.html - 72,73 + 66,67 Transaction Confirmed state transaction.confirmed @@ -1396,7 +1408,7 @@ Select all - Pasirinkti viską + Žymėti viską src/app/bisq/bisq-transactions/bisq-transactions.component.ts 58,56 @@ -1404,7 +1416,7 @@ Unselect all - Atšaukti visus pasirinkimus + Nežymėti nieko src/app/bisq/bisq-transactions/bisq-transactions.component.ts 59 @@ -1420,7 +1432,7 @@ Volume - Prekybos apimtis + Apimtis src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts 100 @@ -1428,7 +1440,7 @@ The Mempool Open Source Project - „Mempool“ atvirojo kodo projektas + „Mempool“ Atviro Kodo Projektas src/app/components/about/about.component.html 12,13 @@ -1437,27 +1449,27 @@ Our mempool and blockchain explorer for the Bitcoin community, focusing on the transaction fee market and multi-layer ecosystem, completely self-hosted without any trusted third-parties. - Nuo trečiųjų šalių prieglobos paslaugų nepriklausoma BTC operacijų mokesčių ir daugiasluoksnės Bitkoino ekosistemos analizei skirta mempulo ir blokų grandinės naršyklė. + Nuo trečiųjų šalių paslaugų nepriklausoma BTC sandorių ir daugiasluoksnės Bitkoino ekosistemos analizei skirta atminties baseino bei blokų grandinės naršyklė. src/app/components/about/about.component.html - 13,17 + 13,16 Enterprise Sponsors 🚀 - Rėmėjai iš verslo 🚀 + Verslo Rėmėjai 🚀 src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket Community Sponsors ❤️ - Rėmėjai iš bendruomenės ❤️ + Bendruomenės Rėmėjai ❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1466,7 +1478,7 @@ Bendruomenės Integracijos src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1475,7 +1487,7 @@ Bendruomenės Aljansai src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1484,7 +1496,7 @@ Projekto Vertėjai src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1493,7 +1505,7 @@ Projekto Pagalbininkai src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1502,7 +1514,7 @@ Projekto Nariai src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1511,7 +1523,7 @@ Projekto Prižiūrėtojai src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1520,7 +1532,7 @@ Apie src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1569,7 +1581,7 @@ src/app/components/amount/amount.component.html - 6,9 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -1585,7 +1597,7 @@ src/app/components/transactions-list/transactions-list.component.html - 302,304 + 304,306 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -1638,7 +1650,7 @@ There many transactions on this address, more than your backend can handle. See more on setting up a stronger backend. Consider viewing this address on the official Mempool website instead: - Šiuo adresu yra daug operacijų, daugiau nei gali parodyti jūsų vidinė sistema. Žr. daugiau apie , kaip nustatyti galingesnę vidinę sistemą . Patikrinkite šį adresą oficialioje „Mempool“ svetainėje: + Šiuo adresu yra daug sandorių, daugiau nei gali parodyti jūsų sistema. Žr. daugiau apie , kaip pasidaryti našesnę sistemą . Tikrinkite šį adresą oficialioje „Mempool“ svetainėje: src/app/components/address/address.component.html 134,137 @@ -1779,7 +1791,7 @@ Error loading asset data. - Įkeliant lėšų duomenis įvyko klaida. + Įkeliant turto duomenis įvyko klaida. src/app/components/asset/asset.component.html 150 @@ -1788,7 +1800,7 @@ Asset: - Lėšos: + Turtai: src/app/components/asset/asset.component.ts 75 @@ -1796,7 +1808,7 @@ Group of assets - lėšų grupė + turtų grupė src/app/components/assets/asset-group/asset-group.component.html 8,9 @@ -1808,7 +1820,7 @@ Assets - Lėšos + Turtai src/app/components/assets/assets-nav/assets-nav.component.html 3 @@ -1829,7 +1841,7 @@ Featured - Rodomas + Pateikta src/app/components/assets/assets-nav/assets-nav.component.html 9 @@ -1865,7 +1877,7 @@ Search asset - Ieškoti lėšų + Ieškoti turto src/app/components/assets/assets-nav/assets-nav.component.html 19 @@ -1909,7 +1921,7 @@ Asset ID - Lėšų ID + Turto ID src/app/components/assets/assets.component.html 7,10 @@ -1922,7 +1934,7 @@ Error loading assets data. - Įkeliant lėšų duomenis įvyko klaida. + Įkeliant duomenis įvyko klaida. src/app/components/assets/assets.component.html 50,55 @@ -1965,7 +1977,7 @@ Layer 2 Networks - 2-ojo sluoksnio tinklai + 2-o Sluoksnio Tinklai src/app/components/bisq-master-page/bisq-master-page.component.html 50,51 @@ -1982,7 +1994,7 @@ Dashboard - Valdymo skydas + Valdymo Skydas src/app/components/bisq-master-page/bisq-master-page.component.html 60,62 @@ -2049,7 +2061,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 161 + 165 @@ -2065,7 +2077,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 163 + 167 @@ -2077,7 +2089,7 @@ src/app/components/block-fees-graph/block-fees-graph.component.ts - 62 + 67 src/app/components/graphs/graphs.component.html @@ -2090,15 +2102,15 @@ Indeksavimo blokai src/app/components/block-fees-graph/block-fees-graph.component.ts - 110,105 + 116,111 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 108,103 + 113,108 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 115,110 + 116,111 src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -2143,7 +2155,7 @@ src/app/components/transaction/transaction.component.html - 478 + 472 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2169,11 +2181,11 @@ src/app/components/transaction/transaction.component.html - 478,479 + 472 src/app/components/transactions-list/transactions-list.component.html - 286,287 + 288 sat shared.sat @@ -2187,11 +2199,11 @@ src/app/components/transaction/transaction.component.html - 161,165 + 155,159 src/app/components/transaction/transaction.component.html - 481,483 + 475,477 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2221,19 +2233,19 @@ src/app/components/block/block.component.html - 123,126 + 124,127 src/app/components/block/block.component.html - 127 + 128,130 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 12,14 + 19,22 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 15,17 + 30,33 src/app/components/fees-box/fees-box.component.html @@ -2273,27 +2285,27 @@ src/app/components/transaction/transaction.component.html - 173,174 + 167,168 src/app/components/transaction/transaction.component.html - 184,185 + 178,179 src/app/components/transaction/transaction.component.html - 195,196 + 189,190 src/app/components/transaction/transaction.component.html - 483,486 + 477,480 src/app/components/transaction/transaction.component.html - 494,496 + 488,490 src/app/components/transactions-list/transactions-list.component.html - 286 + 286,287 src/app/dashboard/dashboard.component.html @@ -2301,7 +2313,7 @@ src/app/dashboard/dashboard.component.html - 206,210 + 213,217 sat/vB shared.sat-vbyte @@ -2315,11 +2327,11 @@ src/app/components/transaction/transaction.component.html - 160,162 + 154,156 src/app/components/transaction/transaction.component.html - 274,277 + 268,271 Transaction Virtual Size transaction.vsize @@ -2384,7 +2396,7 @@ Block Prediction Accuracy - Blokų Spėjimo Tikslumas + Blokų Nuspėjimo Tikslumas src/app/components/block-prediction-graph/block-prediction-graph.component.html 6,8 @@ -2417,7 +2429,7 @@ Match rate - Atitikties rodiklis + Atitikmens rodiklis src/app/components/block-prediction-graph/block-prediction-graph.component.ts 189,187 @@ -2432,7 +2444,7 @@ src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 60 + 65 src/app/components/graphs/graphs.component.html @@ -2462,11 +2474,11 @@ Dydis src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 180,179 + 184,183 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 226,224 + 239,237 src/app/components/block/block.component.html @@ -2494,7 +2506,7 @@ src/app/components/transaction/transaction.component.html - 270,272 + 264,266 src/app/dashboard/dashboard.component.html @@ -2506,11 +2518,11 @@ Svoris src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 188,187 + 192,191 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 257,254 + 270,267 src/app/components/block/block-preview.component.html @@ -2522,7 +2534,19 @@ src/app/components/transaction/transaction.component.html - 278,280 + 272,274 + + + + Size per weight + Dydis pagal Svorį + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 200,199 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 282,279 @@ -2538,15 +2562,6 @@ shared.block-title - - - - - src/app/components/block/block-preview.component.html - 11,12 - - shared.block-title - Median fee Vidutinis mokestis @@ -2556,7 +2571,7 @@ src/app/components/block/block.component.html - 126,127 + 127,128 src/app/components/mempool-block/mempool-block.component.html @@ -2566,18 +2581,18 @@ Total fees - Bendri mokesčiai + Viso mokesčių src/app/components/block/block-preview.component.html 41,43 src/app/components/block/block.component.html - 131,133 + 138,140 src/app/components/block/block.component.html - 157,160 + 164,167 src/app/components/mempool-block/mempool-block.component.html @@ -2595,7 +2610,7 @@ src/app/components/block/block.component.html - 166,168 + 173,175 block.miner @@ -2608,7 +2623,7 @@ src/app/components/block/block.component.ts - 234 + 242 @@ -2662,12 +2677,20 @@ 60,63 - src/app/lightning/node/node.component.html - 52,55 + src/app/components/pool-ranking/pool-ranking.component.html + 121,124 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 src/app/lightning/node/node.component.html - 96,100 + 55,58 + + + src/app/lightning/node/node.component.html + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2684,7 +2707,7 @@ Mokesčių intervalas src/app/components/block/block.component.html - 122,123 + 123,124 src/app/components/mempool-block/mempool-block.component.html @@ -2697,7 +2720,7 @@ Remiantis vidutine 140 vBaitų 'native segwit' operacija src/app/components/block/block.component.html - 127,129 + 131,136 src/app/components/fees-box/fees-box.component.html @@ -2721,25 +2744,26 @@ Transaction fee tooltip - - Subsidy + fees: - Subsidija + mokesčiai: + + Subsidy + fees + Subsidija + mokesčiai src/app/components/block/block.component.html - 146,149 + 153,156 src/app/components/block/block.component.html - 161,165 + 168,172 Total subsidy and fees in a block block.subsidy-and-fees Expected + Tikimasi src/app/components/block/block.component.html - 209 + 216 block.expected @@ -2748,11 +2772,11 @@ beta versija src/app/components/block/block.component.html - 209,210 + 216,217 src/app/components/block/block.component.html - 215,217 + 222,224 beta @@ -2761,23 +2785,25 @@ Tikras src/app/components/block/block.component.html - 211,215 + 218,222 block.actual Expected Block + Numatytas Blokas src/app/components/block/block.component.html - 215 + 222 block.expected-block Actual Block + Esamas Blokas src/app/components/block/block.component.html - 224 + 231 block.actual-block @@ -2786,7 +2812,7 @@ Bitai src/app/components/block/block.component.html - 249,251 + 256,258 block.bits @@ -2795,7 +2821,7 @@ Merkle šaknis src/app/components/block/block.component.html - 253,255 + 260,262 block.merkle-root @@ -2804,7 +2830,7 @@ Sudėtingumas src/app/components/block/block.component.html - 264,267 + 271,274 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -2833,7 +2859,7 @@ Noncas src/app/components/block/block.component.html - 268,270 + 275,277 block.nonce @@ -2842,7 +2868,7 @@ Bloko Antraštės Hex src/app/components/block/block.component.html - 272,273 + 279,280 block.header @@ -2851,7 +2877,7 @@ Auditas src/app/components/block/block.component.html - 290,294 + 297,301 Toggle Audit block.toggle-audit @@ -2861,23 +2887,23 @@ Detalės src/app/components/block/block.component.html - 297,301 + 304,308 src/app/components/transaction/transaction.component.html - 254,259 + 248,253 src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2887,20 +2913,16 @@ Įkeliant duomenis įvyko klaida. src/app/components/block/block.component.html - 316,318 + 323,325 src/app/components/block/block.component.html - 355,359 + 362,366 src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -2916,7 +2938,7 @@ Kodėl šis blokas tuščias? src/app/components/block/block.component.html - 377,383 + 384,390 block.empty-block-explanation @@ -3025,7 +3047,7 @@ src/app/dashboard/dashboard.component.html - 212,216 + 219,223 dashboard.txs @@ -3057,7 +3079,7 @@ Difficulty Adjustment - Sunkumo Koregavimas + Sudėtingumo Koregavimas src/app/components/difficulty/difficulty.component.html 1,5 @@ -3169,7 +3191,7 @@ Either 2x the minimum, or the Low Priority rate (whichever is lower) - 2x daugiau už minimalų arba žemo prioriteto tarifas (atsižvelgiant į tai, kuris mažesnis) + Arba 2x daugiau už minimalų arba žemo prioriteto tarifas (pagal tai kuris mažesnis) src/app/components/fees-box/fees-box.component.html 4,7 @@ -3264,20 +3286,20 @@ src/app/dashboard/dashboard.component.html - 239,240 + 246,247 dashboard.incoming-transactions Backend is synchronizing - Vidinė sistema sinchronizuojasi + Sistema sinchronizuojasi src/app/components/footer/footer.component.html 8,10 src/app/dashboard/dashboard.component.html - 242,245 + 249,252 dashboard.backend-is-synchronizing @@ -3290,7 +3312,7 @@ src/app/dashboard/dashboard.component.html - 247,252 + 254,259 vB/s shared.vbytes-per-second @@ -3304,7 +3326,7 @@ src/app/dashboard/dashboard.component.html - 210,211 + 217,218 Unconfirmed count dashboard.unconfirmed @@ -3330,7 +3352,7 @@ Pools Ranking - Baseinų Reitingas + Telkinių Reitingas src/app/components/graphs/graphs.component.html 11 @@ -3343,7 +3365,7 @@ Pools Dominance - Baseinų Dominavimas + Telkinių Dominavimas src/app/components/graphs/graphs.component.html 13 @@ -3571,7 +3593,7 @@ Mining Dashboard - Gavybos Valdymo Skydas + Kasimo Duomenys src/app/components/master-page/master-page.component.html 41,43 @@ -3584,7 +3606,7 @@ Lightning Explorer - Žaibatinklio Naršyklė + "Lightning" Naršyklė src/app/components/master-page/master-page.component.html 44,47 @@ -3680,6 +3702,32 @@ dashboard.adjustments + + Broadcast Transaction + Transliavimo Sandoris + + src/app/components/mining-dashboard/mining-dashboard.component.html + 92 + + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/dashboard/dashboard.component.html + 161,169 + + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 102 + + Broadcast Transaction + shared.broadcast-transaction + Pools luck (1 week) Telkinių sėkmė (1 savaitė) @@ -3691,7 +3739,7 @@ Pools luck - Telkinių sėkmė + Telkinio sėkmė src/app/components/pool-ranking/pool-ranking.component.html 9,11 @@ -3700,7 +3748,7 @@ The overall luck of all mining pools over the past week. A luck bigger than 100% means the average block time for the current epoch is less than 10 minutes. - Bendra visų gavybos telkinių sėkmė per praėjusią savaitę. Sėkmė, didesnė nei 100 %, reiškia, kad vidutinis einamosios epochos bloko laikas yra trumpesnis nei 10 minučių. + Bendra visų kasimo telkinių sėkmė per praėjusią savaitę. Sėkmė, didesnė nei 100 %, reiškia, kad vidutinis einamosios epochos bloko laikas yra trumpesnis nei 10 minučių. src/app/components/pool-ranking/pool-ranking.component.html 11,15 @@ -3727,7 +3775,7 @@ How many unique pools found at least one block over the past week. - Kiek unikalių telkinių rado bent vieną bloką per pastarąją savaitę. + Kiek unikalių telkinių rado bent vieną bloką per paskutinę savaitę. src/app/components/pool-ranking/pool-ranking.component.html 19,23 @@ -3747,13 +3795,13 @@ src/app/components/pool-ranking/pool-ranking.component.html - 136,138 + 152,154 master-page.blocks The number of blocks found over the past week. - Per pastarąją savaitę rastų blokų skaičius. + Paskutinę savaitę rastų blokų skaičius. src/app/components/pool-ranking/pool-ranking.component.html 27,31 @@ -3777,21 +3825,34 @@ mining.rank + + Avg Health + Vid. sveikata + + src/app/components/pool-ranking/pool-ranking.component.html + 96,97 + + + src/app/components/pool-ranking/pool-ranking.component.html + 96,98 + + latest-blocks.avg_health + Empty blocks Tušti blokai src/app/components/pool-ranking/pool-ranking.component.html - 95,98 + 97,100 mining.empty-blocks All miners - Visi išgavėjai + Visi kasėjai src/app/components/pool-ranking/pool-ranking.component.html - 113,114 + 129,130 mining.all-miners @@ -3800,7 +3861,7 @@ Telkinių sėkmė (1 sav.) src/app/components/pool-ranking/pool-ranking.component.html - 130,132 + 146,148 mining.miners-luck @@ -3809,16 +3870,16 @@ Suskaičiuota Telkinių (1 sav.) src/app/components/pool-ranking/pool-ranking.component.html - 142,144 + 158,160 mining.miners-count Mining Pools - Gavybos Telkiniai + Kasimo Telkiniai src/app/components/pool-ranking/pool-ranking.component.ts - 57 + 58 @@ -3835,7 +3896,7 @@ mining pool - gavybos telkinys + kasimo telkinys src/app/components/pool/pool-preview.component.html 3,5 @@ -3924,7 +3985,7 @@ Estimated - Apytikris + Spėjama src/app/components/pool/pool.component.html 96,97 @@ -4045,34 +4106,16 @@ latest-blocks.coinbasetag - - Broadcast Transaction - Transliavimo Operacija - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 154,162 - - Broadcast Transaction - shared.broadcast-transaction - Transaction hex - Operacijos hex + Sandorio hex src/app/components/push-transaction/push-transaction.component.html 6 src/app/components/transaction/transaction.component.html - 296,297 + 290,291 transaction.hex @@ -4095,7 +4138,7 @@ Amount being paid to miners in the past 144 blocks - Suma, mokama išgavėjams per pastaruosius 144 blokus + Suma, mokama kasėjams per paskutinius 144 blokus src/app/components/reward-stats/reward-stats.component.html 6,8 @@ -4104,6 +4147,7 @@ Avg Block Fees + Vid. Bloko Mokesčiai src/app/components/reward-stats/reward-stats.component.html 17 @@ -4116,6 +4160,7 @@ Average fees per block in the past 144 blocks + Vid. mokesčiai už bloką per paskutinius 144 blokus src/app/components/reward-stats/reward-stats.component.html 18,20 @@ -4124,6 +4169,7 @@ BTC/block + BTC/blokas src/app/components/reward-stats/reward-stats.component.html 21,24 @@ -4133,6 +4179,7 @@ Avg Tx Fee + Vid. Mokestis src/app/components/reward-stats/reward-stats.component.html 30 @@ -4145,7 +4192,7 @@ Fee paid on average for each transaction in the past 144 blocks - Vidutinis mokestis už kiekvieną operaciją per pastaruosius 144 blokus + Vid. mokestis už sandorį per paskutinius 144 blokus src/app/components/reward-stats/reward-stats.component.html 31,32 @@ -4177,7 +4224,7 @@ Explore the full Bitcoin ecosystem - Tyrinėkite visą Bitkoino ekosistemą + Tyrinėk visą Bitkoino ekosistemą src/app/components/search-form/search-form.component.html 4,5 @@ -4193,6 +4240,78 @@ search-form.search-title + + Bitcoin Block Height + Bitkoino Bloko Aukštis + + src/app/components/search-form/search-results/search-results.component.html + 3 + + search.bitcoin-block-height + + + Bitcoin Transaction + Bitkoino Sandoris + + src/app/components/search-form/search-results/search-results.component.html + 9 + + search.bitcoin-transaction + + + Bitcoin Address + Bitkoino Adresas + + src/app/components/search-form/search-results/search-results.component.html + 15 + + search.bitcoin-address + + + Bitcoin Block + Bitkoino Blokas + + src/app/components/search-form/search-results/search-results.component.html + 21 + + search.bitcoin-block + + + Bitcoin Addresses + Bitkoino Adresai + + src/app/components/search-form/search-results/search-results.component.html + 27 + + search.bitcoin-addresses + + + Lightning Nodes + "Lightning" Mazgai + + src/app/components/search-form/search-results/search-results.component.html + 35 + + search.lightning-nodes + + + Lightning Channels + "Lightning" Kanalai + + src/app/components/search-form/search-results/search-results.component.html + 43 + + search.lightning-channels + + + Go to "" + Eikite į &quot; &quot; + + src/app/components/search-form/search-results/search-results.component.html + 52 + + search.go-to + Mempool by vBytes (sat/vByte) Mempool pagal vBitus (sat/vByte) @@ -4440,7 +4559,7 @@ This transaction has been replaced by: - Ši operacija buvo pakeista: + Šis sandoris buvo pakeistas į šį: src/app/components/transaction/transaction.component.html 5,6 @@ -4450,6 +4569,7 @@ This transaction replaced: + Šis sandoris pakeitė šį: src/app/components/transaction/transaction.component.html 10,12 @@ -4459,6 +4579,7 @@ Replaced + Pakeista src/app/components/transaction/transaction.component.html 36,39 @@ -4475,21 +4596,21 @@ src/app/components/transactions-list/transactions-list.component.html - 298,301 + 300,303 Transaction unconfirmed state transaction.unconfirmed First seen - Pirmą kartą pamatytas + Pirma pamatytas src/app/components/transaction/transaction.component.html - 108,109 + 102,103 src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4505,11 +4626,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -4519,7 +4640,7 @@ Tikimasi src/app/components/transaction/transaction.component.html - 115,116 + 109,110 Transaction ETA transaction.eta @@ -4529,7 +4650,7 @@ Po kelių valandų (ar daugiau) src/app/components/transaction/transaction.component.html - 121,124 + 115,118 Transaction ETA in several hours or more transaction.eta.in-several-hours @@ -4539,11 +4660,11 @@ Palikuonis src/app/components/transaction/transaction.component.html - 168,170 + 162,164 src/app/components/transaction/transaction.component.html - 179,181 + 173,175 Descendant transaction.descendant @@ -4553,7 +4674,7 @@ Protėvis src/app/components/transaction/transaction.component.html - 190,192 + 184,186 Transaction Ancestor transaction.ancestor @@ -4563,11 +4684,11 @@ Srautas src/app/components/transaction/transaction.component.html - 208,211 + 202,205 src/app/components/transaction/transaction.component.html - 346,350 + 340,344 Transaction flow transaction.flow @@ -4577,7 +4698,7 @@ Slėpti diagramą src/app/components/transaction/transaction.component.html - 211,216 + 205,210 hide-diagram @@ -4586,7 +4707,7 @@ Rodyti daugiau src/app/components/transaction/transaction.component.html - 231,233 + 225,227 src/app/components/transactions-list/transactions-list.component.html @@ -4603,7 +4724,7 @@ Rodyti mažiau src/app/components/transaction/transaction.component.html - 233,239 + 227,233 src/app/components/transactions-list/transactions-list.component.html @@ -4616,7 +4737,7 @@ Rodyti diagramą src/app/components/transaction/transaction.component.html - 253,254 + 247,248 show-diagram @@ -4625,16 +4746,16 @@ Užrakinimo laikas src/app/components/transaction/transaction.component.html - 292,294 + 286,288 transaction.locktime Transaction not found. - Operacija nerasta. + Sandoris nerastas. src/app/components/transaction/transaction.component.html - 455,456 + 449,450 transaction.error.transaction-not-found @@ -4643,16 +4764,16 @@ Laukiama pasirodymo atmintinėje... src/app/components/transaction/transaction.component.html - 456,461 + 450,455 transaction.error.waiting-for-it-to-appear Effective fee rate - Efektyvus mokesčio tarifas + Efektyvus mokesčių tarifas src/app/components/transaction/transaction.component.html - 491,494 + 485,488 Effective transaction fee rate transaction.effective-fee-rate @@ -4751,7 +4872,7 @@ Previous output script - Ankstesnis išvesties skriptas + Ankstesnės išvesties skriptas src/app/components/transactions-list/transactions-list.component.html 144,145 @@ -4760,7 +4881,7 @@ Previous output type - Ankstesnis išvesties tipas + Ankstesnės išvesties tipas src/app/components/transactions-list/transactions-list.component.html 148,149 @@ -4798,17 +4919,19 @@ Show more inputs to reveal fee data + Žiūrėti daugiau įvesčių kad matyti mokesčių duomenis src/app/components/transactions-list/transactions-list.component.html - 288,291 + 290,293 transactions-list.load-to-reveal-fee-info remaining + liko src/app/components/transactions-list/transactions-list.component.html - 330,331 + 332,333 x-remaining @@ -4858,7 +4981,7 @@ This transaction saved % on fees by using native SegWit - Ši operacija sutaupė % mokesčių, naudojant vietinį SegWit + Šis sandoris sutaupė % mokesčių nes naudojo vietinį SegWit src/app/components/tx-features/tx-features.component.html 2 @@ -4885,7 +5008,7 @@ This transaction saved % on fees by using SegWit and could save % more by fully upgrading to native SegWit - Ši operacija sutaupė % mokesčių naudojant SegWit ir gali sutaupyti % daugiau visiškai naujovinus į vietinį SegWit + Šis sandoris sutaupė % mokesčių naudojant SegWit ir gali sutaupyti % daugiau naudojant vietinį SegWit src/app/components/tx-features/tx-features.component.html 4 @@ -4894,7 +5017,7 @@ This transaction could save % on fees by upgrading to native SegWit or % by upgrading to SegWit-P2SH - Ši operacija galėtų sutaupyti % mokesčių atnaujinus į vietinį SegWit arba % naujovinus į SegWit-P2SH + Šis sandoris galėjo sutaupyti % mokesčių naudojant vietinį SegWit arba % naujovinus į SegWit-P2SH src/app/components/tx-features/tx-features.component.html 6 @@ -4903,7 +5026,7 @@ This transaction uses Taproot and thereby saved at least % on fees - Ši operacija naudoja Taproot ir taip sutaupė bent % mokesčių + Šis sandoris naudoja Taproot ir taip sutaupė bent % mokesčių src/app/components/tx-features/tx-features.component.html 12 @@ -4938,7 +5061,7 @@ This transaction uses Taproot and already saved at least % on fees, but could save an additional % by fully using Taproot - Ši operacija naudoja „Taproot“ ir jau sutaupė bent % mokesčių, bet gali sutaupyti papildomai % visiškai naudojant Taproot + Šis sandoris naudojo „Taproot“ ir jau sutaupė bent % mokesčių, bet gali sutaupyti papildomai % pilnai išnaudojant Taproot src/app/components/tx-features/tx-features.component.html 14 @@ -4947,7 +5070,7 @@ This transaction could save % on fees by using Taproot - Ši operacija gali sutaupyti % mokesčių naudojant Taproot + Šis sandoris gali sutaupyti % mokesčių naudojant Taproot src/app/components/tx-features/tx-features.component.html 16 @@ -4956,6 +5079,7 @@ This transaction does not use Taproot + Šis sandoris nenaudoja Taproot src/app/components/tx-features/tx-features.component.html 18 @@ -4964,7 +5088,7 @@ This transaction uses Taproot - Ši operacija naudoja Taproot + Šis sandoris naudoja Taproot src/app/components/tx-features/tx-features.component.html 21 @@ -4973,7 +5097,7 @@ This transaction supports Replace-By-Fee (RBF) allowing fee bumping - Ši operacija palaiko „Replace-By-Fee“ (RBF), leidžiančią pridėti mokesčius + Šis sandoris palaiko „Replace-By-Fee“ (RBF), kuris leidžia jį paspartinti. src/app/components/tx-features/tx-features.component.html 28 @@ -4996,7 +5120,7 @@ This transaction does NOT support Replace-By-Fee (RBF) and cannot be fee bumped using this method - Ši operacija nepalaiko "Replace-By-Fee" (RBF) ir negali būti paspartinta naudojant šį metodą. + Ši operacija nepalaiko "Replace-By-Fee" (RBF) ir negali būti paspartinta. src/app/components/tx-features/tx-features.component.html 29 @@ -5015,7 +5139,7 @@ Only ~ sat/vB was needed to get into this block - Norint patekti į šį bloką, būtų užtekę ir ~ sat/vB + Norint patekti į šį bloką, būtų užtekę ir ~ sat/vB src/app/components/tx-fee-rating/tx-fee-rating.component.html 2 @@ -5042,7 +5166,7 @@ Transaction Fees - Operacijos mokesčiai + Sandorių Mokesčiai src/app/dashboard/dashboard.component.html 6,9 @@ -5051,28 +5175,19 @@ Latest transactions - Naujausios operacijos + Naujausi sandoriai src/app/dashboard/dashboard.component.html 120,123 dashboard.latest-transactions - - USD - USD - - src/app/dashboard/dashboard.component.html - 126,127 - - dashboard.latest-transactions.USD - Minimum fee Minimalus mokestis src/app/dashboard/dashboard.component.html - 203,204 + 210,211 Minimum mempool fee dashboard.minimum-fee @@ -5082,7 +5197,7 @@ Valymas src/app/dashboard/dashboard.component.html - 204,205 + 211,212 Purgin below fee dashboard.purging @@ -5092,7 +5207,7 @@ Atminties naudojimas src/app/dashboard/dashboard.component.html - 216,217 + 223,224 Memory usage dashboard.memory-usage @@ -5102,10 +5217,19 @@ L-BTC apyvartoje src/app/dashboard/dashboard.component.html - 230,232 + 237,239 dashboard.lbtc-pegs-in-circulation + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + mempool.space teikia duomenis apie Bitkoino tinklą. Projektas negali padėti atgauti prarastų lėšų, greičiau patvirtinti operaciją ir pan. + + src/app/docs/api-docs/api-docs.component.html + 13 + + faq.big-disclaimer + REST API service REST API paslauga @@ -5142,7 +5266,7 @@ Default push: action: 'want', data: ['blocks', ...] to express what you want pushed. Available: blocks, mempool-blocks, live-2h-chart, and stats.Push transactions related to address: 'track-address': '3PbJ...bF9B' to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions. - Numatytasis siuntimas: veiksmas: 'want', duomenys: ['blocks', ...] , kad išreikštumėte tai, ką norite pastūmėti. Galimi: blokai , mempool blokai , realaus laiko-2val grafikas , ir statistika . Pastūmėti operacijas susietas su adresu: 'track-address': '3PbJ...bF9B' priimti visas naujas operacijas susietas su adresu kaip įvestis ar išvestis. Pateikiama kaip operacijų rinkinys. adreso-operacijosnaujoms mempool operacijoms, ir bloko operacijosnaujoms bloke patvirtintoms operacijoms. + Numatytas passtūmimas: veiksmas: 'want', data: ['blocks', ...] , išreikšti tai, ką norite pastūmėti. Galimi: blokai , mempool blokai , realaus laiko-2val grafikas , ir statistika . Pastūmėti sandorius susietus su adresu: 'track-address': '3PbJ...bF9B' priimti visus naujus sandorius susietus su adresu kaip įvestis ar išvestis. Pateikiama kaip sandorių rinkinys. adreso-sandoriainaujiems mempool sandoriams, ir bloko sandoriainaujiems bloke patvirtintoms sandoriams. src/app/docs/api-docs/api-docs.component.html 109,110 @@ -5214,7 +5338,7 @@ Base fee - Bazės mokestis + Bazinis mokestis src/app/lightning/channel/channel-box/channel-box.component.html 29 @@ -5242,13 +5366,13 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats This channel supports zero base fee routing - Šis kanalas palaiko nulinio bazinio mokesčio maršrutą + Šis kanalas palaiko nulinių mokesčių maršrutą src/app/lightning/channel/channel-box/channel-box.component.html 44 @@ -5266,7 +5390,7 @@ This channel does not support zero base fee routing - Šis kanalas nepalaiko nulinio bazinio mokesčio + Šis kanalas nepalaiko nulinių bazinių mokesčių src/app/lightning/channel/channel-box/channel-box.component.html 50 @@ -5324,6 +5448,7 @@ Starting balance + Pradinis balansas src/app/lightning/channel/channel-close-box/channel-close-box.component.html 6 @@ -5333,6 +5458,7 @@ Closing balance + Uždarymo balansas src/app/lightning/channel/channel-close-box/channel-close-box.component.html 12 @@ -5342,7 +5468,7 @@ lightning channel - žaibatinklio kanalas + "Lightning" kanalas src/app/lightning/channel/channel-preview.component.html 3,5 @@ -5358,7 +5484,7 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html @@ -5375,7 +5501,7 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html @@ -5392,7 +5518,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5413,7 +5539,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5426,7 +5552,7 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html @@ -5438,7 +5564,7 @@ src/app/lightning/node-statistics/node-statistics.component.html - 47,50 + 46,49 src/app/lightning/nodes-list/nodes-list.component.html @@ -5460,6 +5586,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5493,14 +5623,14 @@ Lightning channel - Žaibatinklio kanalas + "Lightning" kanalas src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5509,11 +5639,11 @@ Atnaujinta src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5529,11 +5659,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5542,7 +5672,7 @@ Uždarymo data src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html @@ -5552,27 +5682,28 @@ Closed by + Uždarė src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by Opening transaction - Atidarymo operacija + Atidarymo sandoris src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction Closing transaction - Uždarymo operacija + Uždarymo sandoris src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5584,6 +5715,30 @@ 37 + + Mutually closed + Abipusiai uždarytas + + src/app/lightning/channel/closing-type/closing-type.component.ts + 20 + + + + Force closed + Priverstinai uždarytas + + src/app/lightning/channel/closing-type/closing-type.component.ts + 24 + + + + Force closed with penalty + Priverstinai uždarytas su bauda + + src/app/lightning/channel/closing-type/closing-type.component.ts + 28 + + Open Atidarytas @@ -5631,11 +5786,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -5710,6 +5865,24 @@ shared.sats + + avg + vid. + + src/app/lightning/channels-statistics/channels-statistics.component.html + 3,5 + + statistics.average-small + + + med + med. + + src/app/lightning/channels-statistics/channels-statistics.component.html + 6,9 + + statistics.median-small + Avg Capacity Vid. Talpa @@ -5814,7 +5987,7 @@ Lightning node group - Žaibatinklio mazgų grupė + "Lightning" mazgų grupė src/app/lightning/group/group-preview.component.html 3,5 @@ -5838,11 +6011,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 17,18 + 16,17 src/app/lightning/node-statistics/node-statistics.component.html - 54,57 + 53,56 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -5891,10 +6064,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -5912,11 +6081,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 29,30 + 28,29 src/app/lightning/node-statistics/node-statistics.component.html - 61,64 + 60,63 src/app/lightning/nodes-list/nodes-list.component.html @@ -5948,11 +6117,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -5990,7 +6159,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -6006,11 +6175,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -6034,7 +6203,7 @@ Lightning Network History - Žaibo Tinklo Istorija + "Lightning" Tinklo Istorija src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 49 @@ -6048,9 +6217,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -6073,12 +6250,37 @@ Fee distribution + Mokesčio išskirstymas src/app/lightning/node-fee-chart/node-fee-chart.component.html 2 lightning.node-fee-distribution + + Outgoing Fees + Siuntimo Mokesčiai + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 170 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 208 + + + + Incoming Fees + Gaunami Mokesčiai + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 178 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 222 + + Percentage change past week Praėjusios savaitės procentinis pokytis @@ -6088,28 +6290,28 @@ src/app/lightning/node-statistics/node-statistics.component.html - 18,20 + 17,19 src/app/lightning/node-statistics/node-statistics.component.html - 30,32 + 29,31 mining.percentage-change-last-week Lightning node - Žaibatinklio mazgas + "Lightning" mazgas src/app/lightning/node/node-preview.component.html 3,5 src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -6122,7 +6324,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -6135,7 +6337,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -6148,29 +6350,21 @@ country - - No node found for public key "" - Viešajam raktui mazgas nerastas &quot; &quot; - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size Vidutinis kanalo dydis src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg Avg channel distance + Vid. kanalo atstumas src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance @@ -6179,7 +6373,7 @@ Spalva src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color @@ -6188,7 +6382,7 @@ IPT src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6201,73 +6395,81 @@ Tik Tor src/app/lightning/node/node.component.html - 93,95 + 96,98 tor Liquidity ad + Likvidumo skelbimas src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad Lease fee rate + Nuomos mokesčio tarifas src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate Lease base fee + Nuomos bazinis mokestis src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee Funding weight + Finansavimo svoris src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight Channel fee rate + Kanalo mokesčio tarifas src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate Channel base fee + Kanalo bazinis mokestis src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee Compact lease + Kompaktinė nuoma src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease TLV extension records + TLV pratęsimo įrašai src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6276,7 +6478,7 @@ Atviri kanalai src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6285,7 +6487,7 @@ Uždaryti kanalai src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6331,7 +6533,7 @@ Geografinės vietos duomenų nėra src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 218,213 + 219,214 @@ -6345,6 +6547,7 @@ Indexing in progress + Vyksta indeksavimas src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 121,116 @@ -6354,9 +6557,9 @@ 112,107 - - Reachable on Clearnet Only - Pasiekiama tik per Clearnet + + Clearnet and Darknet + Clearnet ir Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6366,9 +6569,9 @@ 303,302 - - Reachable on Clearnet and Darknet - Galima Pasiekti per Clearnet ir Darknet + + Clearnet Only (IPv4, IPv6) + Tik „Clearnet“ (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6378,9 +6581,9 @@ 295,294 - - Reachable on Darknet Only - Pasiekiamas tik per Darknet + + Darknet Only (Tor, I2P, cjdns) + Tik „Darknet“ („Tor“, „I2P“, „cjdns“) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6429,7 +6632,7 @@ Lightning nodes in - Žaibatinklio mazgai + "Lightning" mazgai src/app/lightning/nodes-per-country/nodes-per-country.component.html 3,4 @@ -6447,7 +6650,7 @@ Top ISP - Populiariausias IPT + Populiariausi IPT src/app/lightning/nodes-per-country/nodes-per-country.component.html 38,40 @@ -6456,7 +6659,7 @@ Lightning nodes in - Žaibatinklio mazgai + "Lightning" mazgai src/app/lightning/nodes-per-country/nodes-per-country.component.ts 35 @@ -6530,7 +6733,7 @@ Top 100 ISPs hosting LN nodes - 100 geriausių IPT, kuriuose yra ŽT mazgai + 100 geriausių IPT, kuriuose yra LN mazgai src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html 31,33 @@ -6551,7 +6754,7 @@ Lightning ISP - Žaibatinklio IPT + "Lightning" IPT src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 3,5 @@ -6560,7 +6763,7 @@ Top country - Geriausia šalis + Top šalis src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 39,41 @@ -6573,7 +6776,7 @@ Top node - Geriausias mazgas + Top mazgas src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.html 45,48 @@ -6582,7 +6785,7 @@ Lightning nodes on ISP: [AS] - Žaibatinklio mazgai ant IPT: [AS ] + "Lightning" mazgai pagal IPT: [AS ] src/app/lightning/nodes-per-isp/nodes-per-isp-preview.component.ts 44 @@ -6594,7 +6797,7 @@ Lightning nodes on ISP: - Žaibatinklio mazgai ant IPT: + "Lightning" mazgai pagal IPT: src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 2,4 @@ -6612,6 +6815,7 @@ Active nodes + Aktyvūs mazgai src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 14,18 @@ -6620,7 +6824,7 @@ Top 100 oldest lightning nodes - 100 seniausių žaibatinklio mazgų + Top 100 seniausių "Lightning" mazgų src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.html 3,7 @@ -6629,30 +6833,12 @@ Oldest lightning nodes - Seniausi žaibatinklio mazgai + Seniausi "Lightning" mazgai src/app/lightning/nodes-ranking/oldest-nodes/oldest-nodes.component.ts 27 - - Top 100 nodes liquidity ranking - 100 geriausių mazgų likvidumo reitingas - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - 100 geriausių mazgų ryšio reitingas - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes Seniausi mazgai @@ -6664,7 +6850,7 @@ Top lightning nodes - Geriausi žaibatinklio mazgai + Top "Lightning" mazgai src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.ts 22 diff --git a/frontend/src/locale/messages.sv.xlf b/frontend/src/locale/messages.sv.xlf index 5a75337f0..0ba5402ad 100644 --- a/frontend/src/locale/messages.sv.xlf +++ b/frontend/src/locale/messages.sv.xlf @@ -359,11 +359,11 @@ src/app/components/block/block.component.html - 303,304 + 310,311 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 26,27 + 46,47 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -384,11 +384,11 @@ src/app/components/block/block.component.html - 304,305 + 311,312 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 27,28 + 47,48 src/app/components/mempool-blocks/mempool-blocks.component.html @@ -598,7 +598,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 94,96 + 94,95 @@ -775,16 +775,24 @@ src/app/components/about/about.component.html - 385,389 + 375,378 + + + src/app/components/mining-dashboard/mining-dashboard.component.html + 88 src/app/dashboard/dashboard.component.html - 150,152 + 157,159 src/app/docs/docs/docs.component.html 51 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 97 + Terms of Service shared.terms-of-service @@ -795,14 +803,22 @@ src/app/bisq/bisq-main-dashboard/bisq-main-dashboard.component.html 113,120 + + src/app/components/mining-dashboard/mining-dashboard.component.html + 90 + src/app/dashboard/dashboard.component.html - 152,154 + 159,161 src/app/docs/docs/docs.component.html 53 + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 99 + Privacy Policy shared.privacy-policy @@ -990,7 +1006,7 @@ src/app/dashboard/dashboard.component.html - 124,125 + 124,126 @@ -1038,7 +1054,7 @@ src/app/components/transaction/transaction.component.html - 158,160 + 152,154 src/app/components/transactions-list/transactions-list.component.html @@ -1054,11 +1070,11 @@ src/app/components/block/block.component.html - 245,246 + 252,253 src/app/components/transaction/transaction.component.html - 288,290 + 282,284 transaction.version @@ -1108,7 +1124,7 @@ src/app/components/transactions-list/transactions-list.component.html - 294,295 + 296,297 Transaction singular confirmation count shared.confirmation-count.singular @@ -1130,7 +1146,7 @@ src/app/components/transactions-list/transactions-list.component.html - 295,296 + 297,298 Transaction plural confirmation count shared.confirmation-count.plural @@ -1142,10 +1158,6 @@ src/app/bisq/bisq-transaction/bisq-transaction.component.html 43,45 - - src/app/components/transaction/transaction.component.html - 65,67 - Transaction included in block transaction.included-in-block @@ -1158,11 +1170,11 @@ src/app/components/transaction/transaction.component.html - 77,80 + 71,74 src/app/components/transaction/transaction.component.html - 135,138 + 129,132 Transaction features transaction.features @@ -1190,11 +1202,11 @@ src/app/components/transaction/transaction.component.html - 262,267 + 256,261 src/app/components/transaction/transaction.component.html - 406,412 + 400,406 transaction.details @@ -1211,11 +1223,11 @@ src/app/components/transaction/transaction.component.html - 249,253 + 243,247 src/app/components/transaction/transaction.component.html - 377,383 + 371,377 Transaction inputs and outputs transaction.inputs-and-outputs @@ -1233,7 +1245,7 @@ src/app/components/transaction/transaction.component.ts - 241,240 + 244,243 @@ -1253,7 +1265,7 @@ src/app/components/transaction/transaction.component.html - 159,160 + 153,154 src/app/dashboard/dashboard.component.html @@ -1269,7 +1281,7 @@ src/app/components/transaction/transaction.component.html - 72,73 + 66,67 Transaction Confirmed state transaction.confirmed @@ -1440,7 +1452,7 @@ Vår mempool- och blockchainutforskare för bitcoincommunitit, med fokus på marknaden för transaktionsavgifter och multilagerekosystemet, helt självhostad utan betrodda tredjeparttjänster. src/app/components/about/about.component.html - 13,17 + 13,16 @@ -1448,7 +1460,7 @@ Företagssponsorer 🚀 src/app/components/about/about.component.html - 29,32 + 19,22 about.sponsors.enterprise.withRocket @@ -1457,7 +1469,7 @@ Communitysponsorer ❤️ src/app/components/about/about.component.html - 177,180 + 167,170 about.sponsors.withHeart @@ -1466,7 +1478,7 @@ Communityintegrationer src/app/components/about/about.component.html - 191,193 + 181,183 about.community-integrations @@ -1475,7 +1487,7 @@ Communityallianser src/app/components/about/about.component.html - 285,287 + 275,277 about.alliances @@ -1484,7 +1496,7 @@ Projektöversättare src/app/components/about/about.component.html - 301,303 + 291,293 about.translators @@ -1493,7 +1505,7 @@ Projektbidragare src/app/components/about/about.component.html - 315,317 + 305,307 about.contributors @@ -1502,7 +1514,7 @@ Projektmedlemmar src/app/components/about/about.component.html - 327,329 + 317,319 about.project_members @@ -1511,7 +1523,7 @@ Projektunderhållare src/app/components/about/about.component.html - 340,342 + 330,332 about.maintainers @@ -1520,7 +1532,7 @@ Om src/app/components/about/about.component.ts - 39 + 42 src/app/components/bisq-master-page/bisq-master-page.component.html @@ -1569,7 +1581,7 @@ src/app/components/amount/amount.component.html - 6,9 + 20,23 src/app/components/asset-circulation/asset-circulation.component.html @@ -1585,7 +1597,7 @@ src/app/components/transactions-list/transactions-list.component.html - 302,304 + 304,306 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2049,7 +2061,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 161 + 165 @@ -2065,7 +2077,7 @@ src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 163 + 167 @@ -2077,7 +2089,7 @@ src/app/components/block-fees-graph/block-fees-graph.component.ts - 62 + 67 src/app/components/graphs/graphs.component.html @@ -2090,15 +2102,15 @@ Indexerar block src/app/components/block-fees-graph/block-fees-graph.component.ts - 110,105 + 116,111 src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 108,103 + 113,108 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 115,110 + 116,111 src/app/components/hashrate-chart/hashrate-chart.component.ts @@ -2143,7 +2155,7 @@ src/app/components/transaction/transaction.component.html - 478 + 472 src/app/components/tx-bowtie-graph-tooltip/tx-bowtie-graph-tooltip.component.html @@ -2169,11 +2181,11 @@ src/app/components/transaction/transaction.component.html - 478,479 + 472 src/app/components/transactions-list/transactions-list.component.html - 286,287 + 288 sat shared.sat @@ -2187,11 +2199,11 @@ src/app/components/transaction/transaction.component.html - 161,165 + 155,159 src/app/components/transaction/transaction.component.html - 481,483 + 475,477 src/app/lightning/channel/channel-box/channel-box.component.html @@ -2221,19 +2233,19 @@ src/app/components/block/block.component.html - 123,126 + 124,127 src/app/components/block/block.component.html - 127 + 128,130 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 12,14 + 19,22 src/app/components/blockchain-blocks/blockchain-blocks.component.html - 15,17 + 30,33 src/app/components/fees-box/fees-box.component.html @@ -2273,27 +2285,27 @@ src/app/components/transaction/transaction.component.html - 173,174 + 167,168 src/app/components/transaction/transaction.component.html - 184,185 + 178,179 src/app/components/transaction/transaction.component.html - 195,196 + 189,190 src/app/components/transaction/transaction.component.html - 483,486 + 477,480 src/app/components/transaction/transaction.component.html - 494,496 + 488,490 src/app/components/transactions-list/transactions-list.component.html - 286 + 286,287 src/app/dashboard/dashboard.component.html @@ -2301,7 +2313,7 @@ src/app/dashboard/dashboard.component.html - 206,210 + 213,217 sat/vB shared.sat-vbyte @@ -2315,11 +2327,11 @@ src/app/components/transaction/transaction.component.html - 160,162 + 154,156 src/app/components/transaction/transaction.component.html - 274,277 + 268,271 Transaction Virtual Size transaction.vsize @@ -2432,7 +2444,7 @@ src/app/components/block-rewards-graph/block-rewards-graph.component.ts - 60 + 65 src/app/components/graphs/graphs.component.html @@ -2462,11 +2474,11 @@ Storlek src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 180,179 + 184,183 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 226,224 + 239,237 src/app/components/block/block.component.html @@ -2494,7 +2506,7 @@ src/app/components/transaction/transaction.component.html - 270,272 + 264,266 src/app/dashboard/dashboard.component.html @@ -2506,11 +2518,11 @@ Viktenheter src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 188,187 + 192,191 src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts - 257,254 + 270,267 src/app/components/block/block-preview.component.html @@ -2522,7 +2534,19 @@ src/app/components/transaction/transaction.component.html - 278,280 + 272,274 + + + + Size per weight + Storlek per viktenhet + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 200,199 + + + src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.ts + 282,279 @@ -2538,15 +2562,6 @@ shared.block-title - - - - - src/app/components/block/block-preview.component.html - 11,12 - - shared.block-title - Median fee Medianavgift @@ -2556,7 +2571,7 @@ src/app/components/block/block.component.html - 126,127 + 127,128 src/app/components/mempool-block/mempool-block.component.html @@ -2573,11 +2588,11 @@ src/app/components/block/block.component.html - 131,133 + 138,140 src/app/components/block/block.component.html - 157,160 + 164,167 src/app/components/mempool-block/mempool-block.component.html @@ -2595,7 +2610,7 @@ src/app/components/block/block.component.html - 166,168 + 173,175 block.miner @@ -2608,7 +2623,7 @@ src/app/components/block/block.component.ts - 234 + 242 @@ -2662,12 +2677,20 @@ 60,63 - src/app/lightning/node/node.component.html - 52,55 + src/app/components/pool-ranking/pool-ranking.component.html + 121,124 + + + src/app/lightning/channel/closing-type/closing-type.component.ts + 32 src/app/lightning/node/node.component.html - 96,100 + 55,58 + + + src/app/lightning/node/node.component.html + 99,103 src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts @@ -2684,7 +2707,7 @@ Avgiftspann src/app/components/block/block.component.html - 122,123 + 123,124 src/app/components/mempool-block/mempool-block.component.html @@ -2697,7 +2720,7 @@ Baserat på en genomsnittlig native segwit-transaktion på 140 vBytes src/app/components/block/block.component.html - 127,129 + 131,136 src/app/components/fees-box/fees-box.component.html @@ -2721,16 +2744,16 @@ Transaction fee tooltip - - Subsidy + fees: - Subvention + avgifter: + + Subsidy + fees + Subvention + avgifter src/app/components/block/block.component.html - 146,149 + 153,156 src/app/components/block/block.component.html - 161,165 + 168,172 Total subsidy and fees in a block block.subsidy-and-fees @@ -2740,7 +2763,7 @@ Förväntat src/app/components/block/block.component.html - 209 + 216 block.expected @@ -2749,11 +2772,11 @@ beta src/app/components/block/block.component.html - 209,210 + 216,217 src/app/components/block/block.component.html - 215,217 + 222,224 beta @@ -2762,7 +2785,7 @@ Faktiskt src/app/components/block/block.component.html - 211,215 + 218,222 block.actual @@ -2771,7 +2794,7 @@ Förväntat block src/app/components/block/block.component.html - 215 + 222 block.expected-block @@ -2780,7 +2803,7 @@ Faktiskt block src/app/components/block/block.component.html - 224 + 231 block.actual-block @@ -2789,7 +2812,7 @@ Bitar src/app/components/block/block.component.html - 249,251 + 256,258 block.bits @@ -2798,7 +2821,7 @@ Merkle root src/app/components/block/block.component.html - 253,255 + 260,262 block.merkle-root @@ -2807,7 +2830,7 @@ Svårighet src/app/components/block/block.component.html - 264,267 + 271,274 src/app/components/difficulty-adjustments-table/difficulty-adjustments-table.component.html @@ -2836,7 +2859,7 @@ Nonce src/app/components/block/block.component.html - 268,270 + 275,277 block.nonce @@ -2845,7 +2868,7 @@ Block Header Hex src/app/components/block/block.component.html - 272,273 + 279,280 block.header @@ -2854,7 +2877,7 @@ Granskning src/app/components/block/block.component.html - 290,294 + 297,301 Toggle Audit block.toggle-audit @@ -2864,23 +2887,23 @@ Detaljer src/app/components/block/block.component.html - 297,301 + 304,308 src/app/components/transaction/transaction.component.html - 254,259 + 248,253 src/app/lightning/channel/channel.component.html - 86,88 + 93,95 src/app/lightning/channel/channel.component.html - 96,98 + 103,105 src/app/lightning/node/node.component.html - 218,222 + 221,225 Transaction Details transaction.details @@ -2890,20 +2913,16 @@ Fel vid laddning av data. src/app/components/block/block.component.html - 316,318 + 323,325 src/app/components/block/block.component.html - 355,359 + 362,366 src/app/lightning/channel/channel-preview.component.html 70,75 - - src/app/lightning/channel/channel.component.html - 109,115 - src/app/lightning/node/node-preview.component.html 66,69 @@ -2919,7 +2938,7 @@ Varför är blocket tomt? src/app/components/block/block.component.html - 377,383 + 384,390 block.empty-block-explanation @@ -3028,7 +3047,7 @@ src/app/dashboard/dashboard.component.html - 212,216 + 219,223 dashboard.txs @@ -3267,7 +3286,7 @@ src/app/dashboard/dashboard.component.html - 239,240 + 246,247 dashboard.incoming-transactions @@ -3280,7 +3299,7 @@ src/app/dashboard/dashboard.component.html - 242,245 + 249,252 dashboard.backend-is-synchronizing @@ -3293,7 +3312,7 @@ src/app/dashboard/dashboard.component.html - 247,252 + 254,259 vB/s shared.vbytes-per-second @@ -3307,7 +3326,7 @@ src/app/dashboard/dashboard.component.html - 210,211 + 217,218 Unconfirmed count dashboard.unconfirmed @@ -3683,6 +3702,32 @@ dashboard.adjustments + + Broadcast Transaction + Publicera transaktion + + src/app/components/mining-dashboard/mining-dashboard.component.html + 92 + + + src/app/components/push-transaction/push-transaction.component.html + 2 + + + src/app/components/push-transaction/push-transaction.component.html + 8 + + + src/app/dashboard/dashboard.component.html + 161,169 + + + src/app/lightning/lightning-dashboard/lightning-dashboard.component.html + 102 + + Broadcast Transaction + shared.broadcast-transaction + Pools luck (1 week) Pooltursamhet (1 vecka) @@ -3750,7 +3795,7 @@ src/app/components/pool-ranking/pool-ranking.component.html - 136,138 + 152,154 master-page.blocks @@ -3780,12 +3825,25 @@ mining.rank + + Avg Health + Snitthälsa + + src/app/components/pool-ranking/pool-ranking.component.html + 96,97 + + + src/app/components/pool-ranking/pool-ranking.component.html + 96,98 + + latest-blocks.avg_health + Empty blocks Tomma block src/app/components/pool-ranking/pool-ranking.component.html - 95,98 + 97,100 mining.empty-blocks @@ -3794,7 +3852,7 @@ Alla miners src/app/components/pool-ranking/pool-ranking.component.html - 113,114 + 129,130 mining.all-miners @@ -3803,7 +3861,7 @@ Pools tur (1v) src/app/components/pool-ranking/pool-ranking.component.html - 130,132 + 146,148 mining.miners-luck @@ -3812,7 +3870,7 @@ Antal pooler (1v) src/app/components/pool-ranking/pool-ranking.component.html - 142,144 + 158,160 mining.miners-count @@ -3821,7 +3879,7 @@ Miningpooler src/app/components/pool-ranking/pool-ranking.component.ts - 57 + 58 @@ -4048,24 +4106,6 @@ latest-blocks.coinbasetag - - Broadcast Transaction - Publicera transaktion - - src/app/components/push-transaction/push-transaction.component.html - 2 - - - src/app/components/push-transaction/push-transaction.component.html - 8 - - - src/app/dashboard/dashboard.component.html - 154,162 - - Broadcast Transaction - shared.broadcast-transaction - Transaction hex Transaktions-hex @@ -4075,7 +4115,7 @@ src/app/components/transaction/transaction.component.html - 296,297 + 290,291 transaction.hex @@ -4200,6 +4240,78 @@ search-form.search-title + + Bitcoin Block Height + Bitcoin-blockhöjd + + src/app/components/search-form/search-results/search-results.component.html + 3 + + search.bitcoin-block-height + + + Bitcoin Transaction + Bitcoin-transaktion + + src/app/components/search-form/search-results/search-results.component.html + 9 + + search.bitcoin-transaction + + + Bitcoin Address + Bitcoin-adress + + src/app/components/search-form/search-results/search-results.component.html + 15 + + search.bitcoin-address + + + Bitcoin Block + Bitcoin-block + + src/app/components/search-form/search-results/search-results.component.html + 21 + + search.bitcoin-block + + + Bitcoin Addresses + Bitcoin-adresser + + src/app/components/search-form/search-results/search-results.component.html + 27 + + search.bitcoin-addresses + + + Lightning Nodes + Lightingnoder + + src/app/components/search-form/search-results/search-results.component.html + 35 + + search.lightning-nodes + + + Lightning Channels + Lightningkanaler + + src/app/components/search-form/search-results/search-results.component.html + 43 + + search.lightning-channels + + + Go to "" + Gå till "" + + src/app/components/search-form/search-results/search-results.component.html + 52 + + search.go-to + Mempool by vBytes (sat/vByte) Mempool i vBytes (sat/vByte) @@ -4484,7 +4596,7 @@ src/app/components/transactions-list/transactions-list.component.html - 298,301 + 300,303 Transaction unconfirmed state transaction.unconfirmed @@ -4494,11 +4606,11 @@ Först sedd src/app/components/transaction/transaction.component.html - 108,109 + 102,103 src/app/lightning/node/node.component.html - 67,70 + 70,73 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -4514,11 +4626,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 13,15 + 15,16 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 13,15 + 15,16 Transaction first seen transaction.first-seen @@ -4528,7 +4640,7 @@ ETA src/app/components/transaction/transaction.component.html - 115,116 + 109,110 Transaction ETA transaction.eta @@ -4538,7 +4650,7 @@ Om flera timmar (eller mer) src/app/components/transaction/transaction.component.html - 121,124 + 115,118 Transaction ETA in several hours or more transaction.eta.in-several-hours @@ -4548,11 +4660,11 @@ Ättling src/app/components/transaction/transaction.component.html - 168,170 + 162,164 src/app/components/transaction/transaction.component.html - 179,181 + 173,175 Descendant transaction.descendant @@ -4562,7 +4674,7 @@ Förfader src/app/components/transaction/transaction.component.html - 190,192 + 184,186 Transaction Ancestor transaction.ancestor @@ -4572,11 +4684,11 @@ Flöde src/app/components/transaction/transaction.component.html - 208,211 + 202,205 src/app/components/transaction/transaction.component.html - 346,350 + 340,344 Transaction flow transaction.flow @@ -4586,7 +4698,7 @@ Dölj diagram src/app/components/transaction/transaction.component.html - 211,216 + 205,210 hide-diagram @@ -4595,7 +4707,7 @@ Visa mer src/app/components/transaction/transaction.component.html - 231,233 + 225,227 src/app/components/transactions-list/transactions-list.component.html @@ -4612,7 +4724,7 @@ Visa mindre src/app/components/transaction/transaction.component.html - 233,239 + 227,233 src/app/components/transactions-list/transactions-list.component.html @@ -4625,7 +4737,7 @@ Visa diagram src/app/components/transaction/transaction.component.html - 253,254 + 247,248 show-diagram @@ -4634,7 +4746,7 @@ Locktime src/app/components/transaction/transaction.component.html - 292,294 + 286,288 transaction.locktime @@ -4643,7 +4755,7 @@ Transaktionen hittades inte src/app/components/transaction/transaction.component.html - 455,456 + 449,450 transaction.error.transaction-not-found @@ -4652,7 +4764,7 @@ Väntar på den att dyka upp i mempoolen... src/app/components/transaction/transaction.component.html - 456,461 + 450,455 transaction.error.waiting-for-it-to-appear @@ -4661,7 +4773,7 @@ Effektiv avgiftssats src/app/components/transaction/transaction.component.html - 491,494 + 485,488 Effective transaction fee rate transaction.effective-fee-rate @@ -4810,7 +4922,7 @@ Visa fler inputs för att visa feedata src/app/components/transactions-list/transactions-list.component.html - 288,291 + 290,293 transactions-list.load-to-reveal-fee-info @@ -4819,7 +4931,7 @@ återstår src/app/components/transactions-list/transactions-list.component.html - 330,331 + 332,333 x-remaining @@ -5070,21 +5182,12 @@ dashboard.latest-transactions - - USD - USD - - src/app/dashboard/dashboard.component.html - 126,127 - - dashboard.latest-transactions.USD - Minimum fee Minimumavgift src/app/dashboard/dashboard.component.html - 203,204 + 210,211 Minimum mempool fee dashboard.minimum-fee @@ -5094,7 +5197,7 @@ Förkastar src/app/dashboard/dashboard.component.html - 204,205 + 211,212 Purgin below fee dashboard.purging @@ -5104,7 +5207,7 @@ Minnesanvändning src/app/dashboard/dashboard.component.html - 216,217 + 223,224 Memory usage dashboard.memory-usage @@ -5114,10 +5217,19 @@ L-BTC i cirkulation src/app/dashboard/dashboard.component.html - 230,232 + 237,239 dashboard.lbtc-pegs-in-circulation + + mempool.space merely provides data about the Bitcoin network. It cannot help you with retrieving funds, confirming your transaction quicker, etc. + mempool.space tillhandahåller bara data om Bitcoin-nätverket. Det kan inte hjälpa dig med att få tillbaka pengar, bekräfta din transaktion snabbare, etc. + + src/app/docs/api-docs/api-docs.component.html + 13 + + faq.big-disclaimer + REST API service REST API service @@ -5254,7 +5366,7 @@ src/app/lightning/node/node.component.html - 180,182 + 183,185 shared.m-sats @@ -5372,7 +5484,7 @@ src/app/lightning/channel/channel.component.html - 11,12 + 13,14 src/app/lightning/channels-list/channels-list.component.html @@ -5389,7 +5501,7 @@ src/app/lightning/channel/channel.component.html - 12,13 + 14,15 src/app/lightning/channels-list/channels-list.component.html @@ -5406,7 +5518,7 @@ src/app/lightning/channel/channel.component.html - 13,14 + 15,16 src/app/lightning/channels-list/channels-list.component.html @@ -5427,7 +5539,7 @@ src/app/lightning/channel/channel.component.html - 29,30 + 36,37 lightning.created @@ -5440,7 +5552,7 @@ src/app/lightning/channel/channel.component.html - 48,49 + 55,56 src/app/lightning/channels-list/channels-list.component.html @@ -5452,7 +5564,7 @@ src/app/lightning/node-statistics/node-statistics.component.html - 47,50 + 46,49 src/app/lightning/nodes-list/nodes-list.component.html @@ -5474,6 +5586,10 @@ src/app/lightning/nodes-per-isp/nodes-per-isp.component.html 60,62 + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 13,14 + src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts 202,201 @@ -5510,11 +5626,11 @@ Lightningkanal src/app/lightning/channel/channel.component.html - 2,5 + 4,7 src/app/lightning/channel/channel.component.html - 117,119 + 116,118 lightning.channel @@ -5523,11 +5639,11 @@ Senast uppdaterad src/app/lightning/channel/channel.component.html - 33,34 + 40,41 src/app/lightning/node/node.component.html - 73,75 + 76,78 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -5543,11 +5659,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 14,15 + 16,17 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 14,15 + 16,17 lightning.last-update @@ -5556,7 +5672,7 @@ Stängningsdatum src/app/lightning/channel/channel.component.html - 37,38 + 44,45 src/app/lightning/channels-list/channels-list.component.html @@ -5569,7 +5685,7 @@ Stängd av src/app/lightning/channel/channel.component.html - 52,54 + 59,61 lightning.closed_by @@ -5578,7 +5694,7 @@ Öppningstransaktion src/app/lightning/channel/channel.component.html - 84,85 + 91,92 lightning.opening-transaction @@ -5587,7 +5703,7 @@ Stängningstransaktion src/app/lightning/channel/channel.component.html - 93,95 + 100,102 lightning.closing-transaction @@ -5599,6 +5715,30 @@ 37 + + Mutually closed + Ömsesidigt stängd + + src/app/lightning/channel/closing-type/closing-type.component.ts + 20 + + + + Force closed + Tvångsstängd + + src/app/lightning/channel/closing-type/closing-type.component.ts + 24 + + + + Force closed with penalty + Tvångsstängd med straff + + src/app/lightning/channel/closing-type/closing-type.component.ts + 28 + + Open Öppen @@ -5646,11 +5786,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 10,11 + 11,12 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 10,12 + 11,13 lightning.alias @@ -5725,6 +5865,24 @@ shared.sats + + avg + snitt + + src/app/lightning/channels-statistics/channels-statistics.component.html + 3,5 + + statistics.average-small + + + med + med + + src/app/lightning/channels-statistics/channels-statistics.component.html + 6,9 + + statistics.median-small + Avg Capacity Snitt kapacitet @@ -5853,11 +6011,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 17,18 + 16,17 src/app/lightning/node-statistics/node-statistics.component.html - 54,57 + 53,56 src/app/lightning/nodes-per-country-chart/nodes-per-country-chart.component.html @@ -5906,10 +6064,6 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 11,12 - - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html 12,13 lightning.liquidity @@ -5927,11 +6081,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 29,30 + 28,29 src/app/lightning/node-statistics/node-statistics.component.html - 61,64 + 60,63 src/app/lightning/nodes-list/nodes-list.component.html @@ -5963,11 +6117,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 12,13 + 14,15 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 11,12 + 12,13 src/app/lightning/statistics-chart/lightning-statistics-chart.component.ts @@ -6005,7 +6159,7 @@ src/app/lightning/node/node.component.html - 47,49 + 50,52 src/app/lightning/nodes-per-country/nodes-per-country.component.html @@ -6021,11 +6175,11 @@ src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 15,17 + 17,20 src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 15,17 + 17,20 lightning.location @@ -6063,9 +6217,17 @@ src/app/lightning/lightning-dashboard/lightning-dashboard.component.html 62 + + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html + 4,9 + src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.ts - 29 + 33 + + + src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html + 4,9 src/app/lightning/nodes-rankings-dashboard/nodes-rankings-dashboard.component.html @@ -6095,6 +6257,30 @@ lightning.node-fee-distribution + + Outgoing Fees + Utgående avgifter + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 170 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 208 + + + + Incoming Fees + Inkommande avgifter + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 178 + + + src/app/lightning/node-fee-chart/node-fee-chart.component.ts + 222 + + Percentage change past week Procentuell förändring senaste veckan @@ -6104,11 +6290,11 @@ src/app/lightning/node-statistics/node-statistics.component.html - 18,20 + 17,19 src/app/lightning/node-statistics/node-statistics.component.html - 30,32 + 29,31 mining.percentage-change-last-week @@ -6121,11 +6307,11 @@ src/app/lightning/node/node.component.html - 2,4 + 4,6 src/app/lightning/node/node.component.html - 260,262 + 263,265 lightning.node @@ -6138,7 +6324,7 @@ src/app/lightning/node/node.component.html - 27,30 + 30,33 lightning.active-capacity @@ -6151,7 +6337,7 @@ src/app/lightning/node/node.component.html - 34,38 + 37,41 lightning.active-channels @@ -6164,21 +6350,12 @@ country - - No node found for public key "" - Ingen nod hittades för Public Key &quot; &quot; - - src/app/lightning/node/node.component.html - 17,19 - - lightning.node-not-found - Average channel size Snitt kanalstorlek src/app/lightning/node/node.component.html - 40,43 + 43,46 lightning.active-channels-avg @@ -6187,7 +6364,7 @@ Snitt kanalavstånd src/app/lightning/node/node.component.html - 56,57 + 59,60 lightning.avg-distance @@ -6196,7 +6373,7 @@ Färg src/app/lightning/node/node.component.html - 79,81 + 82,84 lightning.color @@ -6205,7 +6382,7 @@ ISP src/app/lightning/node/node.component.html - 86,87 + 89,90 src/app/lightning/nodes-per-isp-chart/nodes-per-isp-chart.component.html @@ -6218,7 +6395,7 @@ Exklusivt på Tor src/app/lightning/node/node.component.html - 93,95 + 96,98 tor @@ -6227,7 +6404,7 @@ Likviditetsannons src/app/lightning/node/node.component.html - 138,141 + 141,144 node.liquidity-ad @@ -6236,7 +6413,7 @@ Lease avgiftnivå src/app/lightning/node/node.component.html - 144,147 + 147,150 Liquidity ad lease fee rate liquidity-ad.lease-fee-rate @@ -6246,7 +6423,7 @@ Lease basavgift src/app/lightning/node/node.component.html - 152,154 + 155,157 liquidity-ad.lease-base-fee @@ -6255,7 +6432,7 @@ Finansieringsweight src/app/lightning/node/node.component.html - 158,159 + 161,162 liquidity-ad.funding-weight @@ -6264,7 +6441,7 @@ Kanal avgiftsnivå src/app/lightning/node/node.component.html - 168,171 + 171,174 Liquidity ad channel fee rate liquidity-ad.channel-fee-rate @@ -6274,7 +6451,7 @@ Kanal basavgift src/app/lightning/node/node.component.html - 176,178 + 179,181 liquidity-ad.channel-base-fee @@ -6283,7 +6460,7 @@ Kompakt lease src/app/lightning/node/node.component.html - 188,190 + 191,193 liquidity-ad.compact-lease @@ -6292,7 +6469,7 @@ TLV-tilläggsposter src/app/lightning/node/node.component.html - 199,202 + 202,205 node.tlv.records @@ -6301,7 +6478,7 @@ Öppna kanaler src/app/lightning/node/node.component.html - 240,243 + 243,246 lightning.open-channels @@ -6310,7 +6487,7 @@ Stängda kanaler src/app/lightning/node/node.component.html - 244,247 + 247,250 lightning.open-channels @@ -6356,7 +6533,7 @@ Ingen geolokaliseringsdata tillgänglig src/app/lightning/nodes-channels-map/nodes-channels-map.component.ts - 218,213 + 219,214 @@ -6380,9 +6557,9 @@ 112,107 - - Reachable on Clearnet Only - Kan endast nås på Clearnet + + Clearnet and Darknet + Clearnet och Darknet src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 164,161 @@ -6392,9 +6569,9 @@ 303,302 - - Reachable on Clearnet and Darknet - Kan nås på Clearnet och Darknet + + Clearnet Only (IPv4, IPv6) + Endast Clearnet (IPv4, IPv6) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 185,182 @@ -6404,9 +6581,9 @@ 295,294 - - Reachable on Darknet Only - Kan endast nås på Darknet + + Darknet Only (Tor, I2P, cjdns) + Endast Darknet (Tor, I2P, cjdns) src/app/lightning/nodes-networks-chart/nodes-networks-chart.component.ts 206,203 @@ -6662,24 +6839,6 @@ 27 - - Top 100 nodes liquidity ranking - Topp 100 noder likviditetsrankning - - src/app/lightning/nodes-ranking/top-nodes-per-capacity/top-nodes-per-capacity.component.html - 3,7 - - lightning.top-100-liquidity - - - Top 100 nodes connectivity ranking - Topp 100 noder anslutningsrankning - - src/app/lightning/nodes-ranking/top-nodes-per-channels/top-nodes-per-channels.component.html - 3,7 - - lightning.top-100-connectivity - Oldest nodes Äldsta noder From 5937e959c3085b56c4c027f0da9fbd7ce7396a3c Mon Sep 17 00:00:00 2001 From: Mononaut Date: Mon, 6 Mar 2023 19:59:56 -0600 Subject: [PATCH 42/44] Fix miscellaneous RTL layout bugs --- .../block-fees-graph.component.scss | 25 ---------- .../block-prediction-graph.component.scss | 25 ---------- .../block-rewards-graph.component.scss | 25 ---------- .../block-sizes-weights-graph.component.scss | 25 ---------- .../components/graphs/graphs.component.html | 7 ++- .../components/graphs/graphs.component.scss | 11 +++- .../hashrate-chart.component.scss | 25 ---------- .../hashrate-chart-pools.component.scss | 25 ---------- .../pool-ranking/pool-ranking.component.scss | 25 ---------- .../lightning/channel/channel.component.scss | 2 +- .../channels-list.component.scss | 8 +++ .../app/lightning/group/group.component.html | 2 +- .../app/lightning/group/group.component.scss | 16 +++++- .../app/lightning/node/node.component.html | 2 +- .../nodes-networks-chart.component.scss | 25 ---------- .../nodes-per-isp-chart.component.scss | 25 ---------- .../lightning-statistics-chart.component.scss | 25 ---------- frontend/src/styles.scss | 50 ++++++++++++++++--- 18 files changed, 82 insertions(+), 266 deletions(-) diff --git a/frontend/src/app/components/block-fees-graph/block-fees-graph.component.scss b/frontend/src/app/components/block-fees-graph/block-fees-graph.component.scss index ec1755e7d..65447419a 100644 --- a/frontend/src/app/components/block-fees-graph/block-fees-graph.component.scss +++ b/frontend/src/app/components/block-fees-graph/block-fees-graph.component.scss @@ -54,31 +54,6 @@ max-height: 270px; } -.formRadioGroup { - margin-top: 6px; - display: flex; - flex-direction: column; - @media (min-width: 991px) { - position: relative; - top: -100px; - } - @media (min-width: 830px) and (max-width: 991px) { - position: relative; - top: 0px; - } - @media (min-width: 830px) { - flex-direction: row; - float: right; - margin-top: 0px; - } - .btn-sm { - font-size: 9px; - @media (min-width: 830px) { - font-size: 14px; - } - } -} - .disabled { pointer-events: none; opacity: 0.5; diff --git a/frontend/src/app/components/block-prediction-graph/block-prediction-graph.component.scss b/frontend/src/app/components/block-prediction-graph/block-prediction-graph.component.scss index ec1755e7d..65447419a 100644 --- a/frontend/src/app/components/block-prediction-graph/block-prediction-graph.component.scss +++ b/frontend/src/app/components/block-prediction-graph/block-prediction-graph.component.scss @@ -54,31 +54,6 @@ max-height: 270px; } -.formRadioGroup { - margin-top: 6px; - display: flex; - flex-direction: column; - @media (min-width: 991px) { - position: relative; - top: -100px; - } - @media (min-width: 830px) and (max-width: 991px) { - position: relative; - top: 0px; - } - @media (min-width: 830px) { - flex-direction: row; - float: right; - margin-top: 0px; - } - .btn-sm { - font-size: 9px; - @media (min-width: 830px) { - font-size: 14px; - } - } -} - .disabled { pointer-events: none; opacity: 0.5; diff --git a/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.scss b/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.scss index ec1755e7d..65447419a 100644 --- a/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.scss +++ b/frontend/src/app/components/block-rewards-graph/block-rewards-graph.component.scss @@ -54,31 +54,6 @@ max-height: 270px; } -.formRadioGroup { - margin-top: 6px; - display: flex; - flex-direction: column; - @media (min-width: 991px) { - position: relative; - top: -100px; - } - @media (min-width: 830px) and (max-width: 991px) { - position: relative; - top: 0px; - } - @media (min-width: 830px) { - flex-direction: row; - float: right; - margin-top: 0px; - } - .btn-sm { - font-size: 9px; - @media (min-width: 830px) { - font-size: 14px; - } - } -} - .disabled { pointer-events: none; opacity: 0.5; diff --git a/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.scss b/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.scss index 85765e0e1..65447419a 100644 --- a/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.scss +++ b/frontend/src/app/components/block-sizes-weights-graph/block-sizes-weights-graph.component.scss @@ -54,31 +54,6 @@ max-height: 270px; } -.formRadioGroup { - margin-top: 6px; - display: flex; - flex-direction: column; - @media (min-width: 1130px) { - position: relative; - top: -100px; - } - @media (min-width: 830px) and (max-width: 1130px) { - position: relative; - top: 0px; - } - @media (min-width: 830px) { - flex-direction: row; - float: right; - margin-top: 0px; - } - .btn-sm { - font-size: 9px; - @media (min-width: 830px) { - font-size: 14px; - } - } -} - .disabled { pointer-events: none; opacity: 0.5; diff --git a/frontend/src/app/components/graphs/graphs.component.html b/frontend/src/app/components/graphs/graphs.component.html index af5136a38..105c6cbf2 100644 --- a/frontend/src/app/components/graphs/graphs.component.html +++ b/frontend/src/app/components/graphs/graphs.component.html @@ -1,10 +1,9 @@ -