Merge branch 'master' into simon/lightning-pr

This commit is contained in:
wiz 2022-07-10 14:00:02 +02:00 committed by GitHub
commit 7d3c105b29
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 510 additions and 482 deletions

View file

@ -20,7 +20,8 @@
"EXTERNAL_MAX_RETRY": 1,
"EXTERNAL_RETRY_INTERVAL": 0,
"USER_AGENT": "mempool",
"STDOUT_LOG_MIN_PRIORITY": "debug"
"STDOUT_LOG_MIN_PRIORITY": "debug",
"AUTOMATIC_BLOCK_REINDEXING": false
},
"CORE_RPC": {
"HOST": "127.0.0.1",

View file

@ -579,17 +579,13 @@ class Blocks {
}
public async $getBlocks(fromHeight?: number, limit: number = 15): Promise<BlockExtended[]> {
let currentHeight = fromHeight !== undefined ? fromHeight : this.getCurrentBlockHeight();
let currentHeight = fromHeight !== undefined ? fromHeight : await blocksRepository.$mostRecentBlockHeight();
const returnBlocks: BlockExtended[] = [];
if (currentHeight < 0) {
return returnBlocks;
}
if (currentHeight === 0 && Common.indexingEnabled()) {
currentHeight = await blocksRepository.$mostRecentBlockHeight();
}
// Check if block height exist in local cache to skip the hash lookup
const blockByHeight = this.getBlocks().find((b) => b.height === currentHeight);
let startFromHash: string | null = null;

View file

@ -173,26 +173,25 @@ class Mining {
*/
public async $generatePoolHashrateHistory(): Promise<void> {
const now = new Date();
const lastestRunDate = await HashratesRepository.$getLatestRun('last_weekly_hashrates_indexing');
try {
const lastestRunDate = await HashratesRepository.$getLatestRun('last_weekly_hashrates_indexing');
// Run only if:
// * lastestRunDate is set to 0 (node backend restart, reorg)
// * we started a new week (around Monday midnight)
const runIndexing = lastestRunDate === 0 || now.getUTCDay() === 1 && lastestRunDate !== now.getUTCDate();
if (!runIndexing) {
return;
}
} catch (e) {
throw e;
// Run only if:
// * lastestRunDate is set to 0 (node backend restart, reorg)
// * we started a new week (around Monday midnight)
const runIndexing = lastestRunDate === 0 || now.getUTCDay() === 1 && lastestRunDate !== now.getUTCDate();
if (!runIndexing) {
return;
}
try {
const oldestConsecutiveBlockTimestamp = 1000 * (await BlocksRepository.$getOldestConsecutiveBlock()).timestamp;
const genesisBlock = await bitcoinClient.getBlock(await bitcoinClient.getBlockHash(0));
const genesisTimestamp = genesisBlock.time * 1000;
const indexedTimestamp = await HashratesRepository.$getWeeklyHashrateTimestamps();
const hashrates: any[] = [];
const genesisTimestamp = 1231006505000; // bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
const lastMonday = new Date(now.setDate(now.getDate() - (now.getDay() + 6) % 7));
const lastMondayMidnight = this.getDateMidnight(lastMonday);
let toTimestamp = lastMondayMidnight.getTime();
@ -207,7 +206,7 @@ class Mining {
logger.debug(`Indexing weekly mining pool hashrate`);
loadingIndicators.setProgress('weekly-hashrate-indexing', 0);
while (toTimestamp > genesisTimestamp) {
while (toTimestamp > genesisTimestamp && toTimestamp > oldestConsecutiveBlockTimestamp) {
const fromTimestamp = toTimestamp - 604800000;
// Skip already indexed weeks
@ -217,14 +216,6 @@ class Mining {
continue;
}
// Check if we have blocks for the previous week (which mean that the week
// we are currently indexing has complete data)
const blockStatsPreviousWeek: any = await BlocksRepository.$blockCountBetweenTimestamp(
null, (fromTimestamp - 604800000) / 1000, (toTimestamp - 604800000) / 1000);
if (blockStatsPreviousWeek.blockCount === 0) { // We are done indexing
break;
}
const blockStats: any = await BlocksRepository.$blockCountBetweenTimestamp(
null, fromTimestamp / 1000, toTimestamp / 1000);
const lastBlockHashrate = await bitcoinClient.getNetworkHashPs(blockStats.blockCount,
@ -232,25 +223,27 @@ class Mining {
let pools = await PoolsRepository.$getPoolsInfoBetween(fromTimestamp / 1000, toTimestamp / 1000);
const totalBlocks = pools.reduce((acc, pool) => acc + pool.blockCount, 0);
pools = pools.map((pool: any) => {
pool.hashrate = (pool.blockCount / totalBlocks) * lastBlockHashrate;
pool.share = (pool.blockCount / totalBlocks);
return pool;
});
for (const pool of pools) {
hashrates.push({
hashrateTimestamp: toTimestamp / 1000,
avgHashrate: pool['hashrate'],
poolId: pool.poolId,
share: pool['share'],
type: 'weekly',
if (totalBlocks > 0) {
pools = pools.map((pool: any) => {
pool.hashrate = (pool.blockCount / totalBlocks) * lastBlockHashrate;
pool.share = (pool.blockCount / totalBlocks);
return pool;
});
}
newlyIndexed += hashrates.length;
await HashratesRepository.$saveHashrates(hashrates);
hashrates.length = 0;
for (const pool of pools) {
hashrates.push({
hashrateTimestamp: toTimestamp / 1000,
avgHashrate: pool['hashrate'] ,
poolId: pool.poolId,
share: pool['share'],
type: 'weekly',
});
}
newlyIndexed += hashrates.length;
await HashratesRepository.$saveHashrates(hashrates);
hashrates.length = 0;
}
const elapsedSeconds = Math.max(1, Math.round((new Date().getTime() / 1000) - timer));
if (elapsedSeconds > 1) {
@ -285,20 +278,19 @@ class Mining {
* [INDEXING] Generate daily hashrate data
*/
public async $generateNetworkHashrateHistory(): Promise<void> {
try {
// 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) {
return;
}
} catch (e) {
throw e;
// 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) {
return;
}
const oldestConsecutiveBlockTimestamp = 1000 * (await BlocksRepository.$getOldestConsecutiveBlock()).timestamp;
try {
const indexedTimestamp = (await HashratesRepository.$getNetworkDailyHashrate(null)).map(hashrate => hashrate.timestamp);
const genesisTimestamp = (config.MEMPOOL.NETWORK === 'signet') ? 1598918400000 : 1231006505000; // bitcoin-cli getblock 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
const genesisBlock = await bitcoinClient.getBlock(await bitcoinClient.getBlockHash(0));
const genesisTimestamp = genesisBlock.time * 1000;
const indexedTimestamp = (await HashratesRepository.$getRawNetworkDailyHashrate(null)).map(hashrate => hashrate.timestamp);
const lastMidnight = this.getDateMidnight(new Date());
let toTimestamp = Math.round(lastMidnight.getTime());
const hashrates: any[] = [];
@ -313,7 +305,7 @@ class Mining {
logger.debug(`Indexing daily network hashrate`);
loadingIndicators.setProgress('daily-hashrate-indexing', 0);
while (toTimestamp > genesisTimestamp) {
while (toTimestamp > genesisTimestamp && toTimestamp > oldestConsecutiveBlockTimestamp) {
const fromTimestamp = toTimestamp - 86400000;
// Skip already indexed days
@ -323,17 +315,9 @@ class Mining {
continue;
}
// Check if we have blocks for the previous day (which mean that the day
// we are currently indexing has complete data)
const blockStatsPreviousDay: any = await BlocksRepository.$blockCountBetweenTimestamp(
null, (fromTimestamp - 86400000) / 1000, (toTimestamp - 86400000) / 1000);
if (blockStatsPreviousDay.blockCount === 0 && config.MEMPOOL.NETWORK === 'mainnet') { // We are done indexing
break;
}
const blockStats: any = await BlocksRepository.$blockCountBetweenTimestamp(
null, fromTimestamp / 1000, toTimestamp / 1000);
const lastBlockHashrate = await bitcoinClient.getNetworkHashPs(blockStats.blockCount,
const lastBlockHashrate = blockStats.blockCount === 0 ? 0 : await bitcoinClient.getNetworkHashPs(blockStats.blockCount,
blockStats.lastBlockHeight);
hashrates.push({
@ -368,8 +352,8 @@ class Mining {
++totalIndexed;
}
// Add genesis block manually on mainnet and testnet
if ('signet' !== config.MEMPOOL.NETWORK && toTimestamp <= genesisTimestamp && !indexedTimestamp.includes(genesisTimestamp)) {
// Add genesis block manually
if (config.MEMPOOL.INDEXING_BLOCKS_AMOUNT === -1 && !indexedTimestamp.includes(genesisTimestamp / 1000)) {
hashrates.push({
hashrateTimestamp: genesisTimestamp / 1000,
avgHashrate: await bitcoinClient.getNetworkHashPs(1, 1),
@ -405,27 +389,37 @@ class Mining {
}
const blocks: any = await BlocksRepository.$getBlocksDifficulty();
let currentDifficulty = 0;
const genesisBlock = await bitcoinClient.getBlock(await bitcoinClient.getBlockHash(0));
let currentDifficulty = genesisBlock.difficulty;
let totalIndexed = 0;
if (indexedHeights[0] !== true) {
if (config.MEMPOOL.INDEXING_BLOCKS_AMOUNT === -1 && indexedHeights[0] !== true) {
await DifficultyAdjustmentsRepository.$saveAdjustments({
time: (config.MEMPOOL.NETWORK === 'signet') ? 1598918400 : 1231006505,
time: genesisBlock.time,
height: 0,
difficulty: (config.MEMPOOL.NETWORK === 'signet') ? 0.001126515290698186 : 1.0,
difficulty: currentDifficulty,
adjustment: 0.0,
});
}
const oldestConsecutiveBlock = await BlocksRepository.$getOldestConsecutiveBlock();
if (config.MEMPOOL.INDEXING_BLOCKS_AMOUNT !== -1) {
currentDifficulty = oldestConsecutiveBlock.difficulty;
}
let totalBlockChecked = 0;
let timer = new Date().getTime() / 1000;
for (const block of blocks) {
if (block.difficulty !== currentDifficulty) {
if (block.height === 0 || indexedHeights[block.height] === true) { // Already indexed
currentDifficulty = block.difficulty;
if (indexedHeights[block.height] === true) { // Already indexed
if (block.height >= oldestConsecutiveBlock.height) {
currentDifficulty = block.difficulty;
}
continue;
}
let adjustment = block.difficulty / Math.max(1, currentDifficulty);
let adjustment = block.difficulty / currentDifficulty;
adjustment = Math.round(adjustment * 1000000) / 1000000; // Remove float point noise
await DifficultyAdjustmentsRepository.$saveAdjustments({
@ -436,7 +430,17 @@ class Mining {
});
totalIndexed++;
currentDifficulty = block.difficulty;
if (block.height >= oldestConsecutiveBlock.height) {
currentDifficulty = block.difficulty;
}
}
totalBlockChecked++;
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}%`);
timer = new Date().getTime() / 1000;
}
}

View file

@ -1,6 +1,7 @@
import DB from '../database';
import logger from '../logger';
import config from '../config';
import BlocksRepository from '../repositories/BlocksRepository';
interface Pool {
name: string;
@ -32,7 +33,6 @@ class PoolsParser {
// First we save every entries without paying attention to pool duplication
const poolsDuplicated: Pool[] = [];
logger.debug('Parse coinbase_tags');
const coinbaseTags = Object.entries(poolsJson['coinbase_tags']);
for (let i = 0; i < coinbaseTags.length; ++i) {
poolsDuplicated.push({
@ -43,7 +43,6 @@ class PoolsParser {
'slug': ''
});
}
logger.debug('Parse payout_addresses');
const addressesTags = Object.entries(poolsJson['payout_addresses']);
for (let i = 0; i < addressesTags.length; ++i) {
poolsDuplicated.push({
@ -56,7 +55,6 @@ class PoolsParser {
}
// Then, we find unique mining pool names
logger.debug('Identify unique mining pools');
const poolNames: string[] = [];
for (let i = 0; i < poolsDuplicated.length; ++i) {
if (poolNames.indexOf(poolsDuplicated[i].name) === -1) {
@ -119,8 +117,15 @@ class PoolsParser {
'slug': slug
};
if (existingPools.find((pool) => pool.name === poolNames[i]) !== undefined) {
finalPoolDataUpdate.push(poolObj);
const existingPool = existingPools.find((pool) => pool.name === poolNames[i]);
if (existingPool !== undefined) {
// Check if any data was actually updated
const equals = (a, b) =>
a.length === b.length &&
a.every((v, i) => v === b[i]);
if (!equals(JSON.parse(existingPool.addresses), poolObj.addresses) || !equals(JSON.parse(existingPool.regexes), poolObj.regexes)) {
finalPoolDataUpdate.push(poolObj);
}
} else {
logger.debug(`Add '${finalPoolName}' mining pool`);
finalPoolDataAdd.push(poolObj);
@ -140,40 +145,51 @@ class PoolsParser {
return;
}
logger.debug(`Update pools table now`);
if (finalPoolDataAdd.length > 0 || finalPoolDataUpdate.length > 0) {
logger.debug(`Update pools table now`);
// Add new mining pools into the database
let queryAdd: string = 'INSERT INTO pools(name, link, regexes, addresses, slug) VALUES ';
for (let i = 0; i < finalPoolDataAdd.length; ++i) {
queryAdd += `('${finalPoolDataAdd[i].name}', '${finalPoolDataAdd[i].link}',
'${JSON.stringify(finalPoolDataAdd[i].regexes)}', '${JSON.stringify(finalPoolDataAdd[i].addresses)}',
${JSON.stringify(finalPoolDataAdd[i].slug)}),`;
}
queryAdd = queryAdd.slice(0, -1) + ';';
// Add new mining pools into the database
let queryAdd: string = 'INSERT INTO pools(name, link, regexes, addresses, slug) VALUES ';
for (let i = 0; i < finalPoolDataAdd.length; ++i) {
queryAdd += `('${finalPoolDataAdd[i].name}', '${finalPoolDataAdd[i].link}',
'${JSON.stringify(finalPoolDataAdd[i].regexes)}', '${JSON.stringify(finalPoolDataAdd[i].addresses)}',
${JSON.stringify(finalPoolDataAdd[i].slug)}),`;
}
queryAdd = queryAdd.slice(0, -1) + ';';
// Updated existing mining pools in the database
const updateQueries: string[] = [];
for (let i = 0; i < finalPoolDataUpdate.length; ++i) {
updateQueries.push(`
UPDATE pools
SET name='${finalPoolDataUpdate[i].name}', link='${finalPoolDataUpdate[i].link}',
regexes='${JSON.stringify(finalPoolDataUpdate[i].regexes)}', addresses='${JSON.stringify(finalPoolDataUpdate[i].addresses)}',
slug='${finalPoolDataUpdate[i].slug}'
WHERE name='${finalPoolDataUpdate[i].name}'
;`);
// Updated existing mining pools in the database
const updateQueries: string[] = [];
for (let i = 0; i < finalPoolDataUpdate.length; ++i) {
updateQueries.push(`
UPDATE pools
SET name='${finalPoolDataUpdate[i].name}', link='${finalPoolDataUpdate[i].link}',
regexes='${JSON.stringify(finalPoolDataUpdate[i].regexes)}', addresses='${JSON.stringify(finalPoolDataUpdate[i].addresses)}',
slug='${finalPoolDataUpdate[i].slug}'
WHERE name='${finalPoolDataUpdate[i].name}'
;`);
}
try {
await this.$deleteBlocskToReindex(finalPoolDataUpdate);
if (finalPoolDataAdd.length > 0) {
await DB.query({ sql: queryAdd, timeout: 120000 });
}
for (const query of updateQueries) {
await DB.query({ sql: query, timeout: 120000 });
}
await this.insertUnknownPool();
logger.info('Mining pools.json import completed');
} catch (e) {
logger.err(`Cannot import pools in the database`);
throw e;
}
}
try {
if (finalPoolDataAdd.length > 0) {
await DB.query({ sql: queryAdd, timeout: 120000 });
}
for (const query of updateQueries) {
await DB.query({ sql: query, timeout: 120000 });
}
await this.insertUnknownPool();
logger.info('Mining pools.json import completed');
} catch (e) {
logger.err(`Cannot import pools in the database`);
logger.err(`Cannot insert unknown pool in the database`);
throw e;
}
}
@ -201,6 +217,36 @@ class PoolsParser {
logger.err('Unable to insert "Unknown" mining pool');
}
}
/**
* Delete blocks which needs to be reindexed
*/
private async $deleteBlocskToReindex(finalPoolDataUpdate: any[]) {
if (config.MEMPOOL.AUTOMATIC_BLOCK_REINDEXING === false) {
return;
}
const blockCount = await BlocksRepository.$blockCount(null, null);
if (blockCount === 0) {
return;
}
for (const updatedPool of finalPoolDataUpdate) {
const [pool]: any[] = await DB.query(`SELECT id, name from pools where slug = "${updatedPool.slug}"`);
if (pool.length > 0) {
logger.notice(`Deleting blocks from ${pool[0].name} mining pool for future re-indexing`);
await DB.query(`DELETE FROM blocks WHERE pool_id = ${pool[0].id}`);
}
}
// Ignore early days of Bitcoin as there were not mining pool yet
logger.notice('Deleting blocks with unknown mining pool from height 130635 for future re-indexing');
const [unknownPool] = await DB.query(`SELECT id from pools where slug = "unknown"`);
await DB.query(`DELETE FROM blocks WHERE pool_id = ${unknownPool[0].id} AND height > 130635`);
logger.notice('Truncating hashrates for future re-indexing');
await DB.query(`DELETE FROM hashrates`);
}
}
export default new PoolsParser();

View file

@ -23,6 +23,7 @@ interface IConfig {
EXTERNAL_RETRY_INTERVAL: number;
USER_AGENT: string;
STDOUT_LOG_MIN_PRIORITY: 'emerg' | 'alert' | 'crit' | 'err' | 'warn' | 'notice' | 'info' | 'debug';
AUTOMATIC_BLOCK_REINDEXING: boolean;
};
ESPLORA: {
REST_API_URL: string;
@ -122,6 +123,7 @@ const defaults: IConfig = {
'EXTERNAL_RETRY_INTERVAL': 0,
'USER_AGENT': 'mempool',
'STDOUT_LOG_MIN_PRIORITY': 'debug',
'AUTOMATIC_BLOCK_REINDEXING': false,
},
'ESPLORA': {
'REST_API_URL': 'http://127.0.0.1:3000',

View file

@ -35,6 +35,8 @@ class Indexer {
this.runIndexer = false;
this.indexerRunning = true;
logger.debug(`Running mining indexer`);
try {
const chainValid = await blocks.$generateBlockDatabase();
if (chainValid === false) {
@ -54,9 +56,15 @@ class Indexer {
this.indexerRunning = false;
logger.err(`Indexer failed, trying again in 10 seconds. Reason: ` + (e instanceof Error ? e.message : e));
setTimeout(() => this.reindex(), 10000);
this.indexerRunning = false;
return;
}
this.indexerRunning = false;
const runEvery = 1000 * 3600; // 1 hour
logger.debug(`Indexing completed. Next run planned at ${new Date(new Date().getTime() + runEvery).toUTCString()}`);
setTimeout(() => this.reindex(), runEvery);
}
async $resetHashratesIndexingState() {

View file

@ -610,6 +610,24 @@ class BlocksRepository {
throw e;
}
}
/**
* Return the oldest block from a consecutive chain of block from the most recent one
*/
public async $getOldestConsecutiveBlock(): Promise<any> {
try {
const [rows]: any = await DB.query(`SELECT height, UNIX_TIMESTAMP(blockTimestamp) as timestamp, difficulty FROM blocks ORDER BY height DESC`);
for (let i = 0; i < rows.length - 1; ++i) {
if (rows[i].height - rows[i + 1].height > 1) {
return rows[i];
}
}
return rows[rows.length - 1];
} catch (e) {
logger.err('Cannot generate block size and weight history. Reason: ' + (e instanceof Error ? e.message : e));
throw e;
}
}
}
export default new BlocksRepository();

View file

@ -46,9 +46,38 @@ class DifficultyAdjustmentsRepository {
query += ` GROUP BY UNIX_TIMESTAMP(time) DIV ${86400}`;
if (descOrder === true) {
query += ` ORDER BY time DESC`;
query += ` ORDER BY height DESC`;
} else {
query += ` ORDER BY time`;
query += ` ORDER BY height`;
}
try {
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));
throw e;
}
}
public async $getRawAdjustments(interval: string | null, descOrder: boolean = false): Promise<IndexedDifficultyAdjustment[]> {
interval = Common.getSqlInterval(interval);
let query = `SELECT
UNIX_TIMESTAMP(time) as time,
height as height,
difficulty as difficulty,
adjustment as adjustment
FROM difficulty_adjustments`;
if (interval) {
query += ` WHERE time BETWEEN DATE_SUB(NOW(), INTERVAL ${interval}) AND NOW()`;
}
if (descOrder === true) {
query += ` ORDER BY height DESC`;
} else {
query += ` ORDER BY height`;
}
try {

View file

@ -1,6 +1,5 @@
import { escape } from 'mysql2';
import { Common } from '../api/common';
import config from '../config';
import DB from '../database';
import logger from '../logger';
import PoolsRepository from './PoolsRepository';
@ -30,6 +29,32 @@ class HashratesRepository {
}
}
public async $getRawNetworkDailyHashrate(interval: string | null): Promise<any[]> {
interval = Common.getSqlInterval(interval);
let query = `SELECT
UNIX_TIMESTAMP(hashrate_timestamp) as timestamp,
avg_hashrate as avgHashrate
FROM hashrates`;
if (interval) {
query += ` WHERE hashrate_timestamp BETWEEN DATE_SUB(NOW(), INTERVAL ${interval}) AND NOW()
AND hashrates.type = 'daily'`;
} else {
query += ` WHERE hashrates.type = 'daily'`;
}
query += ` ORDER by hashrate_timestamp`;
try {
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));
throw e;
}
}
public async $getNetworkDailyHashrate(interval: string | null): Promise<any[]> {
interval = Common.getSqlInterval(interval);

View file

@ -4,6 +4,12 @@ import { Prices } from '../tasks/price-updater';
class PricesRepository {
public async $savePrices(time: number, prices: Prices): Promise<void> {
if (prices.USD === -1) {
// Some historical price entries have not USD prices, so we just ignore them to avoid future UX issues
// As of today there are only 4 (on 2013-09-05, 2013-09-19, 2013-09-12 and 2013-09-26) so that's fine
return;
}
try {
await DB.query(`
INSERT INTO prices(time, USD, EUR, GBP, CAD, CHF, AUD, JPY)
@ -17,17 +23,17 @@ class PricesRepository {
}
public async $getOldestPriceTime(): Promise<number> {
const [oldestRow] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices ORDER BY time LIMIT 1`);
const [oldestRow] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices WHERE USD != -1 ORDER BY time LIMIT 1`);
return oldestRow[0] ? oldestRow[0].time : 0;
}
public async $getLatestPriceTime(): Promise<number> {
const [oldestRow] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices ORDER BY time DESC LIMIT 1`);
const [oldestRow] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices WHERE USD != -1 ORDER BY time DESC LIMIT 1`);
return oldestRow[0] ? oldestRow[0].time : 0;
}
public async $getPricesTimes(): Promise<number[]> {
const [times]: any[] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices`);
const [times]: any[] = await DB.query(`SELECT UNIX_TIMESTAMP(time) as time from prices WHERE USD != -1`);
return times.map(time => time.time);
}
}

View file

@ -734,7 +734,7 @@ class Routes {
public async $getDifficultyAdjustments(req: Request, res: Response) {
try {
const difficulty = await DifficultyAdjustmentsRepository.$getAdjustments(req.params.interval, true);
const difficulty = await DifficultyAdjustmentsRepository.$getRawAdjustments(req.params.interval, true);
res.header('Pragma', 'public');
res.header('Cache-control', 'public');
res.setHeader('Expires', new Date(Date.now() + 1000 * 300).toUTCString());
@ -790,7 +790,7 @@ class Routes {
public async getBlocks(req: Request, res: Response) {
try {
if (['mainnet', 'testnet', 'signet', 'regtest'].includes(config.MEMPOOL.NETWORK)) { // Bitcoin
if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK)) { // Bitcoin
const height = req.params.height === undefined ? undefined : parseInt(req.params.height, 10);
res.setHeader('Expires', new Date(Date.now() + 1000 * 60).toUTCString());
res.json(await blocks.$getBlocks(height, 15));

View file

@ -20,7 +20,8 @@
"USER_AGENT": "__MEMPOOL_USER_AGENT__",
"STDOUT_LOG_MIN_PRIORITY": "__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__",
"INDEXING_BLOCKS_AMOUNT": __MEMPOOL_INDEXING_BLOCKS_AMOUNT__,
"BLOCKS_SUMMARIES_INDEXING": __MEMPOOL_BLOCKS_SUMMARIES_INDEXING__
"BLOCKS_SUMMARIES_INDEXING": __MEMPOOL_BLOCKS_SUMMARIES_INDEXING__,
"AUTOMATIC_BLOCK_REINDEXING": __MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__
},
"CORE_RPC": {
"HOST": "__CORE_RPC_HOST__",

View file

@ -22,6 +22,8 @@ __MEMPOOL_EXTERNAL_MAX_RETRY__=${MEMPOOL_EXTERNAL_MAX_RETRY:=1}
__MEMPOOL_EXTERNAL_RETRY_INTERVAL__=${MEMPOOL_EXTERNAL_RETRY_INTERVAL:=0}
__MEMPOOL_USER_AGENT__=${MEMPOOL_USER_AGENT:=mempool}
__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__=${MEMPOOL_STDOUT_LOG_MIN_PRIORITY:=info}
__MEMPOOL_INDEXING_BLOCKS_AMOUNT__=${MEMPOOL_INDEXING_BLOCKS_AMOUNT:=false}
__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__=${MEMPOOL_AUTOMATIC_BLOCK_REINDEXING:=false}
# CORE_RPC
__CORE_RPC_HOST__=${CORE_RPC_HOST:=127.0.0.1}
@ -110,6 +112,8 @@ sed -i "s!__MEMPOOL_EXTERNAL_MAX_RETRY__!${__MEMPOOL_EXTERNAL_MAX_RETRY__}!g" me
sed -i "s!__MEMPOOL_EXTERNAL_RETRY_INTERVAL__!${__MEMPOOL_EXTERNAL_RETRY_INTERVAL__}!g" mempool-config.json
sed -i "s!__MEMPOOL_USER_AGENT__!${__MEMPOOL_USER_AGENT__}!g" mempool-config.json
sed -i "s/__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__/${__MEMPOOL_STDOUT_LOG_MIN_PRIORITY__}/g" mempool-config.json
sed -i "s/__MEMPOOL_INDEXING_BLOCKS_AMOUNT__/${__MEMPOOL_INDEXING_BLOCKS_AMOUNT__}/g" mempool-config.json
sed -i "s/__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__/${__MEMPOOL_AUTOMATIC_BLOCK_REINDEXING__}/g" mempool-config.json
sed -i "s/__CORE_RPC_HOST__/${__CORE_RPC_HOST__}/g" mempool-config.json
sed -i "s/__CORE_RPC_PORT__/${__CORE_RPC_PORT__}/g" mempool-config.json

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>تداولات</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target> حجم التداول</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -1993,6 +1997,7 @@
</trans-unit>
<trans-unit id="4793828002882320882" datatype="html">
<source>At block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>في الكتله: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">188</context>
@ -2016,6 +2021,7 @@
</trans-unit>
<trans-unit id="8918254921747459635" datatype="html">
<source>Around block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>تقريبا في الكتله: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">190</context>
@ -2074,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>القيمه</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>الرسوم</target>
@ -2240,6 +2236,7 @@
</trans-unit>
<trans-unit id="d7d5fcf50179ad70c938491c517efb82de2c8146" datatype="html">
<source>Block Prediction Accuracy</source>
<target>دقة توقع الكتلة</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.html</context>
<context context-type="linenumber">5,7</context>
@ -2256,6 +2253,7 @@
</trans-unit>
<trans-unit id="829186404427796443" datatype="html">
<source>Match rate</source>
<target>معدل المطابقة</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.ts</context>
<context context-type="linenumber">176,174</context>
@ -2873,6 +2871,7 @@
</trans-unit>
<trans-unit id="49bba8e970aa3b1bec6fcff7228ef95ceb335f59" datatype="html">
<source>Usually places your transaction in between the second and third mempool blocks</source>
<target>عادةً ما تضع معاملتك بين كتل الميم بول الثانية والثالثة</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">8,9</context>
@ -2894,6 +2893,7 @@
</trans-unit>
<trans-unit id="eeeeabc97373285d75acf0f013f68434a6f1935b" datatype="html">
<source>Usually places your transaction in between the first and second mempool blocks</source>
<target>عادةً ما تضع معاملتك بين كتل الأولى والثانية</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">9,10</context>
@ -3078,6 +3078,7 @@
</trans-unit>
<trans-unit id="8105839921891777281" datatype="html">
<source>Hashrate (MA)</source>
<target>الهاش ريت (معدل التحرك)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/hashrate-chart/hashrate-chart.component.ts</context>
<context context-type="linenumber">288,287</context>
@ -3250,6 +3251,7 @@
</trans-unit>
<trans-unit id="2711844b4304254e88358d1761f9c732e5aefc69" datatype="html">
<source>Pools luck (1 week)</source>
<target>حظ حوض التعدين (١ اسبوع)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9</context>
@ -3258,6 +3260,7 @@
</trans-unit>
<trans-unit id="ea1a87734b5cc78ea8b268343497d92136855cd1" datatype="html">
<source>Pools luck</source>
<target>حظ احواض التعدين</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9,11</context>
@ -3266,6 +3269,7 @@
</trans-unit>
<trans-unit id="e910ea39a964514d51802d34cad96c75b14947d1" datatype="html">
<source>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.</source>
<target>الحظ العام لجميع أحواض التعدين خلال الأسبوع الماضي. الحظ الأكبر من 100٪ يعني أن متوسط وقت الكتلة الحالي أقل من 10 دقائق.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">11,15</context>
@ -3274,6 +3278,7 @@
</trans-unit>
<trans-unit id="9740454c3c55ca2cfa437ff9ec07374c9b9d25b5" datatype="html">
<source>Pools count (1w)</source>
<target>عدد الاحواض (١ اسبوع)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17</context>
@ -3282,6 +3287,7 @@
</trans-unit>
<trans-unit id="1107f1b39cd8474087d438971892967a331a6c7d" datatype="html">
<source>Pools count</source>
<target>عدد الاحواض</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17,19</context>
@ -3290,6 +3296,7 @@
</trans-unit>
<trans-unit id="500e13dffc7300bf7e4822a6bbf29a71a55d7b75" datatype="html">
<source>How many unique pools found at least one block over the past week.</source>
<target>كم عدد أحواض التعدين الفريدة التي وجدت كتلة واحدة على الأقل خلال الأسبوع الماضي.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">19,23</context>
@ -3315,6 +3322,7 @@
</trans-unit>
<trans-unit id="c9e8defa185fa8e342548958bf206de97afc97a6" datatype="html">
<source>The number of blocks found over the past week.</source>
<target>عدد الكتل المعثور عليها خلال الاسبوع الماضي.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">27,31</context>
@ -4471,6 +4479,7 @@
</trans-unit>
<trans-unit id="cd2330c7e9c74256f6a91e83bccf10e2905f8556" datatype="html">
<source>REST API service</source>
<target>اعادة تشغيل خادم API</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/docs/api-docs/api-docs.component.html</context>
<context context-type="linenumber">34,35</context>

View file

@ -940,6 +940,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1347,7 +1351,7 @@
<target>Intercanvis</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1355,7 +1359,7 @@
<target>Volum</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2025,15 +2029,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Quota</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Obchody</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Objem</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -1993,6 +1997,7 @@
</trans-unit>
<trans-unit id="4793828002882320882" datatype="html">
<source>At block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>V bloku: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">188</context>
@ -2016,6 +2021,7 @@
</trans-unit>
<trans-unit id="8918254921747459635" datatype="html">
<source>Around block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>Kolem bloku: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">190</context>
@ -2074,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Hodnota</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Poplatek</target>
@ -2240,6 +2236,7 @@
</trans-unit>
<trans-unit id="d7d5fcf50179ad70c938491c517efb82de2c8146" datatype="html">
<source>Block Prediction Accuracy</source>
<target>Přesnost předpovědi bloku</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.html</context>
<context context-type="linenumber">5,7</context>
@ -2256,6 +2253,7 @@
</trans-unit>
<trans-unit id="829186404427796443" datatype="html">
<source>Match rate</source>
<target>Míra shody</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.ts</context>
<context context-type="linenumber">176,174</context>
@ -2873,6 +2871,7 @@
</trans-unit>
<trans-unit id="49bba8e970aa3b1bec6fcff7228ef95ceb335f59" datatype="html">
<source>Usually places your transaction in between the second and third mempool blocks</source>
<target>Obvykle umístí transakci mezi druhý a třetí blok mempoolu.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">8,9</context>
@ -2894,6 +2893,7 @@
</trans-unit>
<trans-unit id="eeeeabc97373285d75acf0f013f68434a6f1935b" datatype="html">
<source>Usually places your transaction in between the first and second mempool blocks</source>
<target>Obvykle umístí transakci mezi první a druhý blok mempoolu.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">9,10</context>
@ -3078,6 +3078,7 @@
</trans-unit>
<trans-unit id="8105839921891777281" datatype="html">
<source>Hashrate (MA)</source>
<target>Hashrate (KP)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/hashrate-chart/hashrate-chart.component.ts</context>
<context context-type="linenumber">288,287</context>
@ -3250,6 +3251,7 @@
</trans-unit>
<trans-unit id="2711844b4304254e88358d1761f9c732e5aefc69" datatype="html">
<source>Pools luck (1 week)</source>
<target>Štěstí poolů (1 týden)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9</context>
@ -3258,6 +3260,7 @@
</trans-unit>
<trans-unit id="ea1a87734b5cc78ea8b268343497d92136855cd1" datatype="html">
<source>Pools luck</source>
<target>Štěstí poolů</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9,11</context>
@ -3266,6 +3269,7 @@
</trans-unit>
<trans-unit id="e910ea39a964514d51802d34cad96c75b14947d1" datatype="html">
<source>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.</source>
<target>Celkové štěstí všech těžebních poolů za uplynulý týden. Štěstí větší než 100 % znamená, že průměrná doba bloku v aktuální epoše je kratší než 10 minut.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">11,15</context>
@ -3274,6 +3278,7 @@
</trans-unit>
<trans-unit id="9740454c3c55ca2cfa437ff9ec07374c9b9d25b5" datatype="html">
<source>Pools count (1w)</source>
<target>Počet poolů (1t)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17</context>
@ -3282,6 +3287,7 @@
</trans-unit>
<trans-unit id="1107f1b39cd8474087d438971892967a331a6c7d" datatype="html">
<source>Pools count</source>
<target>Počet poolů</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17,19</context>
@ -3290,6 +3296,7 @@
</trans-unit>
<trans-unit id="500e13dffc7300bf7e4822a6bbf29a71a55d7b75" datatype="html">
<source>How many unique pools found at least one block over the past week.</source>
<target>Kolik unikátních poolů našlo za poslední týden alespoň jeden blok.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">19,23</context>
@ -3315,6 +3322,7 @@
</trans-unit>
<trans-unit id="c9e8defa185fa8e342548958bf206de97afc97a6" datatype="html">
<source>The number of blocks found over the past week.</source>
<target>Počet nalezených bloků za poslední týden.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">27,31</context>
@ -4471,6 +4479,7 @@
</trans-unit>
<trans-unit id="cd2330c7e9c74256f6a91e83bccf10e2905f8556" datatype="html">
<source>REST API service</source>
<target>Služba REST API</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/docs/api-docs/api-docs.component.html</context>
<context context-type="linenumber">34,35</context>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Trades</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volumen</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2076,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Wert</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Gebühr</target>

View file

@ -877,6 +877,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1254,14 +1258,14 @@
<source>Trades</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
<source>Volume</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -1909,15 +1913,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<context-group purpose="location">

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Intercambios</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volumen</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Valor</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Tasa</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>معاملات</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>حجم</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -1993,6 +1997,7 @@
</trans-unit>
<trans-unit id="4793828002882320882" datatype="html">
<source>At block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>در بلاک: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">188</context>
@ -2016,6 +2021,7 @@
</trans-unit>
<trans-unit id="8918254921747459635" datatype="html">
<source>Around block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>حدودا در بلاک: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">190</context>
@ -2039,7 +2045,7 @@
</trans-unit>
<trans-unit id="6c453b11fd7bd159ae30bc381f367bc736d86909" datatype="html">
<source>Block Fees</source>
<target>کارمزدهای بلاک</target>
<target>کارمزد بلاک</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fees-graph/block-fees-graph.component.html</context>
<context context-type="linenumber">5,7</context>
@ -2074,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>مقدار</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>کارمزد</target>
@ -2240,6 +2236,7 @@
</trans-unit>
<trans-unit id="d7d5fcf50179ad70c938491c517efb82de2c8146" datatype="html">
<source>Block Prediction Accuracy</source>
<target>دقت پیش‌بینی بلاک</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.html</context>
<context context-type="linenumber">5,7</context>
@ -2256,6 +2253,7 @@
</trans-unit>
<trans-unit id="829186404427796443" datatype="html">
<source>Match rate</source>
<target>نرخ برابری</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.ts</context>
<context context-type="linenumber">176,174</context>
@ -2873,6 +2871,7 @@
</trans-unit>
<trans-unit id="49bba8e970aa3b1bec6fcff7228ef95ceb335f59" datatype="html">
<source>Usually places your transaction in between the second and third mempool blocks</source>
<target>معمولا تراکنش شما را بین بلاک‌های دوم و سوم ممپول قرار می‌دهد</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">8,9</context>
@ -2894,6 +2893,7 @@
</trans-unit>
<trans-unit id="eeeeabc97373285d75acf0f013f68434a6f1935b" datatype="html">
<source>Usually places your transaction in between the first and second mempool blocks</source>
<target>معمولا تراکنش شما را بین بلاک‌های اول و دوم ممپول قرار می‌دهد</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">9,10</context>
@ -3078,6 +3078,7 @@
</trans-unit>
<trans-unit id="8105839921891777281" datatype="html">
<source>Hashrate (MA)</source>
<target>نرخ تولید هش (میانگین متحرک)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/hashrate-chart/hashrate-chart.component.ts</context>
<context context-type="linenumber">288,287</context>
@ -3250,6 +3251,7 @@
</trans-unit>
<trans-unit id="2711844b4304254e88358d1761f9c732e5aefc69" datatype="html">
<source>Pools luck (1 week)</source>
<target>شانس استخرها (1 هفته‌ای)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9</context>
@ -3258,6 +3260,7 @@
</trans-unit>
<trans-unit id="ea1a87734b5cc78ea8b268343497d92136855cd1" datatype="html">
<source>Pools luck</source>
<target>شانس استخرها</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9,11</context>
@ -3266,6 +3269,7 @@
</trans-unit>
<trans-unit id="e910ea39a964514d51802d34cad96c75b14947d1" datatype="html">
<source>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.</source>
<target>شانس کلی همه استخرهای استخراج طی هفته پیش. شانس بیشتر از 100 درصد یعنی متوسط زمان بلاک در دوره فعلی کمتر از 10 دقیقه است.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">11,15</context>
@ -3274,6 +3278,7 @@
</trans-unit>
<trans-unit id="9740454c3c55ca2cfa437ff9ec07374c9b9d25b5" datatype="html">
<source>Pools count (1w)</source>
<target>تعداد استخرها (1 هفته‌ای)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17</context>
@ -3282,6 +3287,7 @@
</trans-unit>
<trans-unit id="1107f1b39cd8474087d438971892967a331a6c7d" datatype="html">
<source>Pools count</source>
<target>تعداد استخرها</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17,19</context>
@ -3290,6 +3296,7 @@
</trans-unit>
<trans-unit id="500e13dffc7300bf7e4822a6bbf29a71a55d7b75" datatype="html">
<source>How many unique pools found at least one block over the past week.</source>
<target>تعداد استخرهای منحصر به فردی که حداقل یک بلاک طی هفته گذشته پیدا کرده‌اند.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">19,23</context>
@ -3315,6 +3322,7 @@
</trans-unit>
<trans-unit id="c9e8defa185fa8e342548958bf206de97afc97a6" datatype="html">
<source>The number of blocks found over the past week.</source>
<target>تعداد بلاک‌هایی که طی هفته پیش پیدا کرده است.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">27,31</context>
@ -4471,6 +4479,7 @@
</trans-unit>
<trans-unit id="cd2330c7e9c74256f6a91e83bccf10e2905f8556" datatype="html">
<source>REST API service</source>
<target>خدمات REST API</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/docs/api-docs/api-docs.component.html</context>
<context context-type="linenumber">34,35</context>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Vaihdot</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volyymi</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Arvo</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Siirtokulu</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>עסקאות</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>נפח</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>שווי ערך</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>עמלה</target>

View file

@ -947,6 +947,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1358,7 +1362,7 @@
<target>ट्रेडों</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1366,7 +1370,7 @@
<target>आयतन</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2055,15 +2059,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>शुल्क</target>

View file

@ -877,6 +877,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1260,14 +1264,14 @@
<source>Trades</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
<source>Volume</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -1915,15 +1919,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Naknada</target>

View file

@ -950,6 +950,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1361,7 +1365,7 @@
<target>Kereskedések</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1369,7 +1373,7 @@
<target>Mennyiség</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2062,15 +2066,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Díj</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Scambi</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volume</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Valore</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Commissione</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>取引</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>量</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2076,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>額</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>手数料</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>ტრეიდები</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>ბრუნვა</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>ღირებულება</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>საკომისიო</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>거래</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>양</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>금액</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>수수료</target>

View file

@ -947,6 +947,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1358,7 +1362,7 @@
<target>Тргувања</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1366,7 +1370,7 @@
<target>Количина</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2055,15 +2059,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Провизија</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Transacties</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volume</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Waarde</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Vergoeding</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Transakcje</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Wolumen</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Wartość</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Opłata</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Trades</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volume</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2076,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Valor</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Taxa</target>
@ -2242,6 +2236,7 @@
</trans-unit>
<trans-unit id="d7d5fcf50179ad70c938491c517efb82de2c8146" datatype="html">
<source>Block Prediction Accuracy</source>
<target>Precisão do Bloco Projetado</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.html</context>
<context context-type="linenumber">5,7</context>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Tranzacții</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volum</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Valoare</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Comision</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Сделки</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Объем</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Значение</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Комиссия</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Posli</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Obseg</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -1993,6 +1997,7 @@
</trans-unit>
<trans-unit id="4793828002882320882" datatype="html">
<source>At block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>Pri bloku: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">188</context>
@ -2016,6 +2021,7 @@
</trans-unit>
<trans-unit id="8918254921747459635" datatype="html">
<source>Around block: <x id="PH" equiv-text="data[0].data[2]"/></source>
<target>Približno pri bloku: <x id="PH" equiv-text="data[0].data[2]"/></target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-fee-rates-graph/block-fee-rates-graph.component.ts</context>
<context context-type="linenumber">190</context>
@ -2074,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Vrednost</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Omrežnina</target>
@ -2240,6 +2236,7 @@
</trans-unit>
<trans-unit id="d7d5fcf50179ad70c938491c517efb82de2c8146" datatype="html">
<source>Block Prediction Accuracy</source>
<target>Natančnost napovedi vsebine blokov</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.html</context>
<context context-type="linenumber">5,7</context>
@ -2256,6 +2253,7 @@
</trans-unit>
<trans-unit id="829186404427796443" datatype="html">
<source>Match rate</source>
<target>Stopnja ujemanja</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-prediction-graph/block-prediction-graph.component.ts</context>
<context context-type="linenumber">176,174</context>
@ -2873,6 +2871,7 @@
</trans-unit>
<trans-unit id="49bba8e970aa3b1bec6fcff7228ef95ceb335f59" datatype="html">
<source>Usually places your transaction in between the second and third mempool blocks</source>
<target>Vašo transakcijo običajno postavi med drugi in tretji blok mempool-a</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">8,9</context>
@ -2894,6 +2893,7 @@
</trans-unit>
<trans-unit id="eeeeabc97373285d75acf0f013f68434a6f1935b" datatype="html">
<source>Usually places your transaction in between the first and second mempool blocks</source>
<target>Vašo transakcijo običajno postavi med prvi in drugi blok mempool-a</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/fees-box/fees-box.component.html</context>
<context context-type="linenumber">9,10</context>
@ -3078,6 +3078,7 @@
</trans-unit>
<trans-unit id="8105839921891777281" datatype="html">
<source>Hashrate (MA)</source>
<target>Procesorska moč (MA)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/hashrate-chart/hashrate-chart.component.ts</context>
<context context-type="linenumber">288,287</context>
@ -3250,6 +3251,7 @@
</trans-unit>
<trans-unit id="2711844b4304254e88358d1761f9c732e5aefc69" datatype="html">
<source>Pools luck (1 week)</source>
<target>Sreča združenj (1 teden)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9</context>
@ -3258,6 +3260,7 @@
</trans-unit>
<trans-unit id="ea1a87734b5cc78ea8b268343497d92136855cd1" datatype="html">
<source>Pools luck</source>
<target>Sreča združenj</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">9,11</context>
@ -3266,6 +3269,7 @@
</trans-unit>
<trans-unit id="e910ea39a964514d51802d34cad96c75b14947d1" datatype="html">
<source>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.</source>
<target>Skupna sreča vseh rudarskih združenj v zadnjem tednu. Sreča večja kot 100% pomeni, da je povprečen čas med bloki za trenutno obdobje manj kot 10 minut.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">11,15</context>
@ -3274,6 +3278,7 @@
</trans-unit>
<trans-unit id="9740454c3c55ca2cfa437ff9ec07374c9b9d25b5" datatype="html">
<source>Pools count (1w)</source>
<target>Število združenj (1 teden)</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17</context>
@ -3282,6 +3287,7 @@
</trans-unit>
<trans-unit id="1107f1b39cd8474087d438971892967a331a6c7d" datatype="html">
<source>Pools count</source>
<target>Število združenj</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">17,19</context>
@ -3290,6 +3296,7 @@
</trans-unit>
<trans-unit id="500e13dffc7300bf7e4822a6bbf29a71a55d7b75" datatype="html">
<source>How many unique pools found at least one block over the past week.</source>
<target>Število združenj z vsaj enim najdenim blokom v zadnjem tednu.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">19,23</context>
@ -3315,6 +3322,7 @@
</trans-unit>
<trans-unit id="c9e8defa185fa8e342548958bf206de97afc97a6" datatype="html">
<source>The number of blocks found over the past week.</source>
<target>Število najdenih blokov v zadnjem tednu.</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/pool-ranking/pool-ranking.component.html</context>
<context context-type="linenumber">27,31</context>
@ -4471,6 +4479,7 @@
</trans-unit>
<trans-unit id="cd2330c7e9c74256f6a91e83bccf10e2905f8556" datatype="html">
<source>REST API service</source>
<target>REST API storitev</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/docs/api-docs/api-docs.component.html</context>
<context context-type="linenumber">34,35</context>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Transaktioner</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Volym</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2076,16 +2080,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Värde</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Avgift</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>เทรด</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>ปริมาณ</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>ค่า</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>ค่าธรรมเนียม</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>İşlemler</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Hacim</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Miktar</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Ücret</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Торги</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Об'єм</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Сума</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Комісія</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>Giao dịch</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>Khối lượng</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2074,16 +2078,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>Giá trị</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>Phí</target>

View file

@ -952,6 +952,10 @@
<context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
<context context-type="linenumber">20,21</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
<context context-type="linenumber">124,125</context>
@ -1363,7 +1367,7 @@
<target>交易</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">90</context>
<context context-type="linenumber">99</context>
</context-group>
</trans-unit>
<trans-unit id="bisq-graph-volume" datatype="html">
@ -1371,7 +1375,7 @@
<target>交易量</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
<context context-type="linenumber">91</context>
<context context-type="linenumber">100</context>
</context-group>
</trans-unit>
<trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
@ -2065,16 +2069,6 @@
<context context-type="linenumber">264,266</context>
</context-group>
</trans-unit>
<trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
<source>Value</source>
<target>价值</target>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
<context context-type="linenumber">18</context>
</context-group>
<note priority="1" from="description">Transaction value</note>
<note priority="1" from="meaning">transaction.value</note>
</trans-unit>
<trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
<source>Fee</source>
<target>手续费</target>

View file

@ -183,6 +183,9 @@ case $OS in
TOR_PKG=tor
TOR_USER=_tor
TOR_GROUP=_tor
NGINX_USER=www
NGINX_ETC_FOLDER=/usr/local/etc/nginx
NGINX_CONFIGURATION=/usr/local/etc/nginx/nginx.conf
CERTBOT_PKG=py39-certbot
;;
@ -197,6 +200,7 @@ case $OS in
TOR_USER=debian-tor
TOR_GROUP=debian-tor
CERTBOT_PKG=python3-certbot-nginx
NGINX_USER=www-data
NGINX_ETC_FOLDER=/etc/nginx
NGINX_CONFIGURATION=/etc/nginx/nginx.conf
;;
@ -1534,26 +1538,17 @@ NGINX_BISQ_ONION=$(cat "${TOR_RESOURCES}/bisq/hostname")
NGINX_LIQUID_ONION=$(cat "${TOR_RESOURCES}/liquid/hostname")
echo "[*] Adding Nginx configuration"
case $OS in
FreeBSD)
echo "[*] FIXME: nginx must be configured manually on FreeBSD"
;;
Debian)
osSudo "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 "${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/nginx/nginx.conf" "${NGINX_CONFIGURATION}"
mkdir -p /var/cache/nginx/services /var/cache/nginx/api
chown www-data: /var/cache/nginx/services /var/cache/nginx/api
ln -s /mempool/mempool /etc/nginx/mempool
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_USER__!www-data!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_ETC_FOLDER__!${NGINX_ETC_FOLDER}!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_MEMPOOL_ONION__!${NGINX_MEMPOOL_ONION%.onion}!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_BISQ_ONION__!${NGINX_BISQ_ONION%.onion}!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_LIQUID_ONION__!${NGINX_LIQUID_ONIONi%.onion}!" "${NGINX_CONFIGURATION}"
echo "[*] Restarting Nginx"
osSudo "${ROOT_USER}" service nginx restart
;;
esac
osSudo "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 "${MEMPOOL_HOME}/${MEMPOOL_REPO_NAME}/production/nginx/nginx.conf" "${NGINX_CONFIGURATION}"
mkdir -p /var/cache/nginx/services /var/cache/nginx/api
chown ${NGINX_USER}: /var/cache/nginx/services /var/cache/nginx/api
ln -s /mempool/mempool /etc/nginx/mempool
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_USER__!${NGINX_USER}!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_ETC_FOLDER__!${NGINX_ETC_FOLDER}!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_MEMPOOL_ONION__!${NGINX_MEMPOOL_ONION%.onion}!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_BISQ_ONION__!${NGINX_BISQ_ONION%.onion}!" "${NGINX_CONFIGURATION}"
osSudo "${ROOT_USER}" sed -i.orig "s!__NGINX_LIQUID_ONION__!${NGINX_LIQUID_ONIONi%.onion}!" "${NGINX_CONFIGURATION}"
echo "[*] Restarting Nginx"
osSudo "${ROOT_USER}" service nginx restart
##### OS systemd